Grabber

Grabber API docs

Get started with the Grabber API: one GET request turns any URL into Markdown, HTML, text or links. Quickstart, code samples, parameters and errors.

Last updated

Grabber loads one web page and returns it as markdown, HTML, text, links, or the raw body. It is made for AI agents and scripts.

There is one endpoint, GET /fetch. Every call needs Authorization: Bearer <key>. Create a key at https://dashboard.grabber.sh/keys. Keys start with gsh_. A key goes in the header only: ?key= is refused like any other unknown parameter.

Quickstart

  1. 1

    Create an account

    Sign up and verify your email. You get $1 of free credit, enough for 1,000 pages, with no card.

  2. 2

    Create an API key

    Open API keys and create one. It starts with gsh_ and is shown once, so store it as GRABBER_API_KEY.

  3. 3

    Make a request

    Call GET /fetch with the key in the Authorization header and the page in url. The examples below are ready to run.

Your first request

Ask for Markdown and get the JSON envelope back: what was loaded, from where, and the content.

curl -G https://api.grabber.sh/fetch \
  -H "Authorization: Bearer $GRABBER_API_KEY" \
  --data-urlencode "url=https://example.com/start" \
  -d "formats=markdown"

Response

{
  "status": 200,
  "message": "OK",
  "data": {
    "url": "https://example.com/start",
    "fetch": {
      "loadedUrl": "https://example.com/final",
      "loadedTime": "2026-10-21T16:36:49.840Z",
      "httpStatusCode": 200,
      "contentLengthBytes": 9,
      "contentType": "text/html",
      "encoding": "utf8"
    },
    "markdown": "ok"
  }
}

Just the content

Add unwrap=true and the body is the content itself, with its own content type: Markdown here. That is often what you want to hand to a model.

curl -G https://api.grabber.sh/fetch \
  -H "Authorization: Bearer $GRABBER_API_KEY" \
  --data-urlencode "url=https://example.com/" \
  -d "formats=markdown" \
  -d "unwrap=true"

With no envelope, the response headers are the only place the spend is reported: X-Grabber-Cost says what the request cost and X-Grabber-Balance what is left.

Reference