Grabber

js_render=true

Render JavaScript before you read the page

Some pages are empty until their scripts run. Add js_render=true and Grabber runs the page in a headless browser first, then returns what it shows in any format.

  • $1 free credit, no card
  • No subscription
  • Failed requests are free

One parameter, the rendered page

Add js_render=true to any request. Everything else stays the same.

  • Works with every format
  • Up to 120 seconds per page
  • $0.005 per page, only when you ask
curl -G https://api.grabber.sh/fetch \
  -H "Authorization: Bearer $GRABBER_API_KEY" \
  --data-urlencode "url=https://app.example.com/pricing" \
  -d "formats=markdown" \
  -d "js_render=true" \
  -d "unwrap=true"

Response body

# Pricing

| Plan | Price | Seats |
| --- | --- | --- |
| Starter | $19 a month | 3 |
| Team | $49 a month | 10 |

All plans include a 14-day trial.

How it works

  1. 1

    Add js_render=true

    Keep the rest of your request as it is: the URL, the formats and unwrap.

  2. 2

    Grabber runs the page

    The page loads in a headless browser and its scripts run, so the content they build is there.

  3. 3

    You get what it shows

    The rendered page comes back in the formats you asked for. Allow up to 120 seconds.

What people build with it

Single-page apps

Read sites built with React, Vue, Angular or Svelte that send an empty page and fill it in the browser.

Pricing and plan pages

Many pricing tables are loaded by scripts. Rendering gets you the numbers, not a spinner.

Content loaded later

Reviews, listings and comments that arrive after the first load are in the rendered page.

Agents on modern sites

Let your agent retry with js_render when a page comes back empty.

Pricing

Prepaid credit, taken one request at a time. Ask for several formats in one request at the price of one.

RequestPrice
A page$0.001
A page with js_render=true$0.005
Any error$0
Credit when you sign up$1, about 1,000 pages

Questions

Something else? The docs cover every parameter and error, and you can reach us from the dashboard.

When do I need JavaScript rendering?

When a page comes back empty or says to enable JavaScript. Try without it first: a plain fetch is faster and costs $0.001 instead of $0.005.

How long does a rendered page take?

Usually a few seconds, and never more than 120. Set your client timeout to at least 130 seconds.

Can it sign in or solve CAPTCHAs?

No. Grabber reads public pages as a signed-out visitor, with or without rendering.

Am I charged if the render fails?

No. Any error, including a render that times out, costs nothing.

Give your agents the web

Sign up in a minute and fetch your first 1,000 pages for free.