Skip to content

Browser API + Search API

Render, screenshot and search the web from one API.

Real browsers, clean Markdown, screenshots, PDFs, crawls and web search, billed in credits priced near what they cost us to run. Our errors, timeouts, blocks and site 5xx responses are free.

1,000 free credits every month. No card needed.

$ curl https://api.104-236-84-15.sslip.io/v1/render \
    -H "Authorization: Bearer pk_live_…" \
    -d '{"url": "https://example.com", "formats": ["markdown"]}'

{
  "final_url": "https://example.com/",
  "status": 200,
  "title": "Example Domain",
  "markdown": "# Example Domain\n\nThis domain is for…",
  "tier_used": "none",
  "credits": 5
}
Illustrative request and response.

Endpoints

Nine endpoints, one key.

JSON in, JSON out. Every response tells you what it cost and what you have left.

  • Render

    POST /v1/render

    Fetch a page over plain HTTP or in a real browser. Get HTML, Markdown, text, links, metadata, and optionally a screenshot. Read-only page actions scroll and click "Load more" first.

    Render docs
  • Screenshot

    POST /v1/screenshot

    Full-page, viewport or single-element screenshots as PNG, JPEG or WebP, with device presets and dark mode.

    Screenshot docs
  • PDF

    POST /v1/pdf

    Print any page to PDF in A4 or Letter, with or without backgrounds.

    PDF docs
  • Extract

    POST /v1/extract

    Pull structured data with ready-made templates (lead, product, article, job), CSS selectors, or a JSON Schema (LLM extraction).

    Extract docs
  • Crawl

    POST /v1/crawl

    Crawl a site within one domain as an async job, with include and exclude patterns.

    Crawl docs
  • Map

    POST /v1/map

    List a site's URLs from its sitemaps and start page in one call, without fetching their content.

    Map docs
  • Batch

    POST /v1/batch

    Render thousands of URLs as one async job, with webhooks and results as JSON, JSONL or CSV.

    Batch docs
  • Monitors

    POST /v1/monitors

    Check a page on a schedule and get the diff by webhook when it changes.

    Monitors docs
  • Search

    GET /v1/search

    Web search results as clean JSON: title, URL, snippet, engine and position, optionally with each page as Markdown and a cited answer.

    Search docs

How credits work

Pay for what a request costs, not a bundle.

A plain HTTP fetch costs 1 credit. A real browser costs 5. Unblocking add-ons are charged only when they were needed. Our own errors and timeouts cost nothing.

HTTP render
1credits
Browser render
5credits
Screenshot or PDF
5credits
Search
2credits

Full table, add-ons and worked examples on the pricing page.

Unblocking

Escalate only as far as a site needs.

Pick a tier, or set unblock to "auto": we try standard first, then stealth, then residential, and charge for the tier that succeeded. No tier is a guarantee; some sites will still say no.

  1. 1. unblock: "none"+0 credits

    Standard

    Datacenter IP and honest, standard browser settings. Most of the web needs nothing more.

  2. 2. unblock: "stealth"+5 credits

    Stealth

    A consistent real-Chrome fingerprint with automation leaks patched, for sites that reject obvious automation.

  3. 3. unblock: "residential"+0 credits

    Residential

    Routes through your own residential proxy (Decodo, Oxylabs, Bright Data and others). You pay your provider; we add no surcharge, on every plan.

We never solve CAPTCHAs: a page that answers with one stops the request, free of charge. Unblocking docs

Responsible use

Built for reading the public web, not for abusing it.

These rules are enforced in the API, not just written in the terms. Abuse leads to suspension.

  • No logins, checkouts or forms

    The API has no form-submission feature at all. It is for reading public pages, not operating accounts.

  • Sensitive sites are off limits

    Banking and financial portals, government service logins, patient portals, webmail, password managers and payment checkouts are denylisted.

  • No private networks

    Requests to private or internal addresses are refused at two layers, so the API cannot be pointed at infrastructure.

  • Polite by default

    Per-target-host throttling keeps any one site from being hammered, whatever your plan allows.

Read the Acceptable Use Policy.

Pricing

Priced near our cost.

Pay for what you use. Start free, add a card when you need more credits or concurrency.

Free

Try every endpoint. No card needed.

$0 / month

1,000 free credits every month

  • 1,000 free credits every month
  • 2 concurrent requests, 30 requests / min
  • Crawls up to 25 pages per job
  • Stealth unblocking, and residential through your own proxy (no surcharge)
  • Hard stop at the free credits
Start free

Pay as you go

Add a card, pay monthly for what you used.

From $0.30 per 1,000 credits

1,000 free credits every month

  • 1,000 free credits every month
  • 20 concurrent requests, 600 requests / min
  • Crawls up to 5,000 pages per job
  • Stealth unblocking, and residential through your own proxy (no surcharge)
  • Schema extraction (LLM)
  • From $0.30 per 1,000 credits, billed monthly with a spend limit you set
Start pay as you go

Invoiced

Monthly invoice with payment terms, for teams with a procurement process.

From $0.30 per 1,000 credits

1,000 free credits every month

  • 1,000 free credits every month
  • 50 concurrent requests, 1,800 requests / min
  • Crawls up to 20,000 pages per job
  • Stealth unblocking, and residential through your own proxy (no surcharge)
  • Schema extraction (LLM)
  • Invoiced monthly, net 30, pay by bank transfer or card
Sign up, then request invoicing

See the usage rates and worked examples

FAQ

Questions, answered plainly.

What is a credit?

Every request costs a small number of credits: 1 for a plain HTTP render, 5 for a render in a real browser, 2 for a search. Unblocking tiers add credits only when they were needed. Every account gets 1,000 free credits a month; beyond that, credits cost from $0.30 down to $0.08 per 1,000.

Do I pay for failed requests?

No. Credits are charged only for successful responses. A page that loads and returns any status (including a 404 from the site) counts as success. Our own errors, timeouts, requests that stay blocked after every tier we tried, and pages that answer with a CAPTCHA are free.

What does "priced near our cost" mean?

Credit costs follow what a request actually costs us to run: a plain HTTP fetch is cheap, a real browser costs more, and for residential IPs you bring your own proxy and pay its provider directly, with no surcharge from us. We would rather keep margins thin than bundle expensive features into every request.

How does unblocking work?

By default we fetch with honest, standard settings. If a site blocks that, you can ask for the stealth tier (a consistent real-browser fingerprint) or residential IPs through your own proxy provider, or set unblock to "auto" to escalate only as far as needed. You are charged for the tier that succeeded. We never solve CAPTCHAs: a page that shows one stops the request, free. Nothing is guaranteed: some sites will still block us.

What are the rate limits?

Each billing mode has a requests-per-minute limit and a concurrency cap (without a card you get 30 requests a minute, 2 at a time). We also throttle requests to any single target site so no customer can hammer it. Over the limit you get a 429 with a Retry-After header.

What can I not use Pageteer for?

No logging in, checking out, creating accounts or submitting forms (the API has no form-submission feature at all). No banking, government, healthcare, webmail, password-manager or payment-checkout sites. No private or internal network targets, and no harvesting personal data beyond publicly listed business contacts. Abuse leads to suspension.

What do you store about my requests?

For 30 days we keep a log line per request: the URL and host, the status, the tier used, credits charged and timing. Logs never contain page content. We store a page only when you ask for a cached result with max_age: that copy is visible to your team only, expires 24 hours after the page was fetched and is then deleted. Crawl and batch results are kept for 30 days so you can retrieve them.

What happens when I run out of credits?

Without a card, requests stop with a 402 until the free credits reset on the 1st of the month (UTC). With a card (pay as you go), requests continue and are billed monthly per 1,000 credits, up to a spend limit you set ($50 to start) so a runaway script cannot run up an unlimited bill. You get an email at 50%, 80% and 100% of the limit.

Your first request is a minute away.

Create an account, copy your API key and call the API. 1,000 free credits every month, no card needed.