ByteKitGet your free API key

fetchOne call. The page. Nothing else.

/fetch is the lean HTTP endpoint. Body is the content. Metadata in response headers. No JSON envelope, no async polling, no browser.

50 MB free. No credit card.

curl -G https://api.bytekit.com/v1/fetch \
  -H "Authorization: Bearer $BYTEKIT_API_KEY" \
  --data-urlencode "url=https://example.com" \
  --data-urlencode "format=markdown"
Response
{ }
No response yet
Click Run to send the request

Sometimes you do not need a browser. You need an HTTP client that already knows about proxies, geo, and clean output formats — and that returns what you asked for as the response body, not buried in a JSON field.

/fetch is that client. One round trip, sub-second on most public pages.

fetch or scrape?

/fetch /scrape
Shape body = content JSON envelope
Metadata response headers response fields
Browser features no yes
wait_for_selector no yes
actions (click, etc.) no yes
Typical latency ~500 ms 1–15 s
Best for simple pages, agents, tool calls, curl scripts dynamic pages, protected sites with render requirements

Rule of thumb: start with /fetch. Escalate to /scrape when a page needs JavaScript to render or interactive steps before capture.

output formats

Pick one. Set it with ?format= (GET) or "format": (POST).

markdown LLM-ready text. Content-Type: text/markdown
html Sanitized HTML. Content-Type: text/html
(none) Raw passthrough. Upstream Content-Type preserved.

metadata in headers

Every response carries X-Fetch-* headers. The body stays clean for pipes, curl | jq, and agent tool calls.

X-Fetch-ID Stable ID for support and reruns
X-Fetch-Status Upstream HTTP status
X-Fetch-Content-Length Wire bytes used for billing
X-Fetch-Duration-Ms End-to-end fetch time
X-Fetch-Cache / Cache-Age Cache hit/miss and age in seconds
X-Fetch-Credits-Charged What this call cost

what you give up

/fetch is fast because it does not run a browser. So no wait_for_selector, no actions, no waiting for network_idle. If the page needs JavaScript to render, you want /scrape.

Anti-bot coverage still applies — fingerprints and proxies are part of every fetch — but a page that only renders client-side will return empty content. We tell you in X-Fetch-Status and X-Fetch-Waf-Vendor.

cost

Same byte-based billing as /scrape. Fewer features means fewer bytes.

30 KB markdown fetch about 0.00003 GB
1 GB roughly 33,000 fetches at that size
Cache hit half cost
Zero-byte failure $0
Estimate fetch cost

Try /fetch against your URLs with 50 MB free.