canonical: https://jentic.com/apis/crawlbase.com/crawlbase

# Crawlbase Crawling API

Jentic publishes the only available OpenAPI specification for Crawlbase Crawling API, keeping it validated and agent-ready. Crawlbase provides a web crawling and scraping endpoint that fetches arbitrary URLs and returns either raw HTML or extracted structured data. The API supports both standard requests and a JavaScript-rendered mode for sites that hydrate content client-side, with output formatters that turn pages into machine-readable JSON. Authentication is done with a token query parameter and the same endpoint accepts GET or POST depending on how the target URL is supplied.

## For AI agents

Fetch and scrape any public web page, including JavaScript-rendered content, and return parsed HTML or structured JSON. Use it to give an agent the contents of a URL when a direct API is not available.

## Scope

Does not handle data parsing for arbitrary domains, proxy account management, or stored crawl history - use for single-URL fetch and rendering only.

## Capabilities

- Fetch the rendered HTML of any public URL through a managed proxy network
- Crawl JavaScript-heavy pages by switching to the JS token without changing the request shape
- Submit long target URLs via POST when query-string length limits would otherwise truncate them
- Apply built-in scrapers to return structured JSON for supported page types instead of raw HTML
- Set the response output format and request country routing through query parameters on each crawl

## Use cases

### Scrape JavaScript-rendered pages

Fetch the fully rendered HTML of a single-page application or JavaScript-heavy site by calling the Crawlbase crawling endpoint with the JavaScript token. Crawlbase runs a real browser server-side so the agent receives the post-hydration markup it would see in Chrome, without operating its own headless browser fleet.

Example prompt: Send a GET request to https://api.crawlbase.com/?token={JS_TOKEN}&url=https://example.com/spa and return the rendered HTML body to the caller.

### Bulk product page extraction

Iterate over a list of product URLs and use the crawling endpoint to fetch each one through Crawlbase's proxy network, optionally passing scraper or format parameters to receive structured JSON. Useful for price monitoring, catalog ingestion, or feeding a downstream LLM with normalised page content rather than raw HTML.

Example prompt: For each URL in a list of 50 product pages, POST to https://api.crawlbase.com/ with token and url fields and store the returned body keyed by source URL.

### Bypass anti-bot blocks for research

Use the crawling endpoint as a managed fetch layer when the target site rate-limits or fingerprints the agent's own IP. Crawlbase rotates proxies and handles retries server-side, so the agent only sees a successful HTML or JSON response and does not need to manage proxy pools, CAPTCHAs, or browser sessions itself.

Example prompt: Fetch https://example.com/research-page through Crawlbase, retry once with the JavaScript token if the standard token returns a non-200 status, and return the final HTML.

### AI agent web access through Jentic

Give a Jentic-orchestrated agent the ability to read arbitrary web pages without exposing the Crawlbase token in its prompt. The agent searches Jentic for a crawling operation, loads the schema for the Crawlbase endpoint, and executes a fetch with just the target URL while Jentic injects the token from the vault.

Example prompt: Through Jentic, run search('crawl a web page'), load the Crawlbase crawling operation, and execute it with url=https://news.example.com to retrieve the article HTML for summarisation.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/` | Crawl a URL passed in the query string |
| POST | `/` | Crawl a URL passed in the request body for long URLs |

## Key resources

- **Crawl** — Single endpoint at / that accepts a target URL and returns the fetched HTML or structured JSON, available as both GET (URL in query) and POST (URL in body).

## Why Jentic

- **Setup:** Wiring Crawlbase by hand means passing the token as a query parameter and choosing the standard or JavaScript token depending on whether a page needs rendering. Through Jentic you install once, import Crawlbase from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Crawlbase exposes a single crawl endpoint and takes the target URL in the request rather than as a URL resource id, so scope the agent to the operations it needs, such as fetching or rendering a page. The agent runs only the crawl operations you allow.
- **Credential handling:** Your Crawlbase token is stored once, encrypted, by your own Jentic One instance and injected as the token query parameter at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'crawl a web page' or 'scrape a JavaScript site', and Jentic returns the matching Crawlbase operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ScraperAPI** — Competing managed proxy and scraping API with similar URL-fetch semantics.
- **ZenRows** — Anti-bot-focused scraping API that also fetches rendered HTML for a given URL.
- **Apify** — Actor-based scraping platform useful for orchestrating crawls beyond a single URL fetch.

## FAQ

### Why is there no official OpenAPI spec for Crawlbase Crawling API?

Crawlbase does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Crawlbase Crawling API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Crawlbase Crawling API use?

The API uses an API key passed as the token query parameter on every request. There are two token variants, a normal token for standard crawling and a JavaScript token for browser-rendered pages. Through Jentic the token lives in the encrypted vault and is injected at execution time, so it never appears in the agent's prompt or logs.

### Can I crawl JavaScript-rendered pages with the Crawlbase Crawling API?

Yes. Send the same GET / or POST / request but use the JavaScript token instead of the normal token, and Crawlbase will run the page in a real browser server-side and return the post-hydration HTML.

### When should I use POST instead of GET on the crawling endpoint?

Use POST / when the target URL or its query string is long enough to risk truncation in a GET request, or when you want to send the URL in the body rather than expose it in request logs. The behaviour is otherwise the same as GET /.

### How do I crawl a URL with Crawlbase through Jentic?

Install Jentic with pip install jentic, then run an async search for 'crawl a web page', load the returned Crawlbase operation, and execute it with the target url field. Jentic resolves to GET / or POST / on https://api.crawlbase.com and attaches the stored token automatically.

### What output formats does the Crawlbase Crawling API return?

By default the endpoint returns the raw HTML of the fetched page. Crawlbase also supports built-in scrapers and format parameters that return structured JSON for certain page types, configured per request through query parameters on the same / endpoint.

### Can I limit what my agent is allowed to do with the Crawlbase Crawling API?

Yes. Because Jentic One is self-hosted, you set the rules for which operations and credentials your agent may use, and Crawlbase exposes a single crawl endpoint (GET / or POST /) that takes the target URL in the request rather than as a resource id. You can scope the agent to only the crawl actions it needs, such as fetching a page or rendering a JavaScript-heavy page with the browser token, and it runs only the operations you allow. Your Crawlbase token is stored encrypted by your own instance and injected at execution time, so it never appears in the agent's prompt or logs.
