Fetch a URL (POST)

Same as GET /v1/fetch but with a JSON request body.

POST
/v1/fetch

Authorization

AuthorizationRequiredBearer <token>

API key. Manage keys from the dashboard at app.bytekit.com.

In: header

Request Body

application/jsonRequired
urlRequiredstring
Format: "uri"
formatstring
Value in: "markdown" | "html"
countrystring
Default: "US"Pattern: "^[A-Z]{2}$"
timeout_msinteger
Default: 60000Minimum: 1000Maximum: 60000
cache_ttlstring | integer

How long a freshly fetched URL may be served from cache. 0 skips the cache read; cache-eligible fresh results are still written with the default 7-day TTL so later non-zero-TTL callers can HIT. Safety-classified WAF husks remain live-only and are not written. Accepts Nh (hours, up to 168h), Nd (days, up to 7d), or the integer 0. Examples: 0, 48h, 2d. Invalid values receive a 422 validation_error with an actionable message.

Default: "48h"
customobject

User-supplied JSON payload, base64-encoded into the X-Fetch-Custom response header so callers can correlate the response back to caller-side state (job IDs, batch metadata, etc.). Capped at 4096 UTF-8 bytes after JSON serialization. Does NOT affect cache-key inputs — two requests differing only in custom share the same cache slot.

Default: {}
markdown_modestring

Markdown processing mode. Only used when format=markdown.

Value in: "article" | "raw" | "llm"
markdown_querystring

BM25 query string for relevance-ranked filtering. Only used when format=markdown.

Maximum length: 200
markdown_linksstring

Link rendering style. Only used when format=markdown.

Value in: "inline" | "references" | "none" | "text"
markdown_imagesstring

Image retention mode. Only used when format=markdown.

Value in: "inline" | "references" | "none" | "text"
with_links_summaryboolean

Append a Links footer to the markdown output. Only used when format=markdown.

with_images_summaryboolean

Append an Images footer to the markdown output. Only used when format=markdown.

markdown_compactboolean

Compact whitespace output. Only used when format=markdown.

markdown_filter_imagesboolean

Filter low-signal images. Only used when format=markdown.

markdown_include_mediaboolean

When true, formats.links and formats.images return ScrapeScoredLink[] / ScrapeScoredImage[] (rich objects) instead of string[], and a top-level tables array is included. Only used when format=markdown.

markdown_include_warningsboolean

When true, enables markdown-pipeline and tag-filter warnings for affected html and markdown requests. Artifact availability warnings such as artifact_unavailable may appear independently of this flag.

markdown_include_statsboolean

When true, includes a top-level stats object with ScrapeStats (chars, tokens, blocks). Only used when format=markdown.

curl -X POST https://api.bytekit.com/v1/fetch \
  -H "Authorization: Bearer sk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","format":"markdown","markdown_mode":"article","markdown_links":"inline"}'

Content from upstream.

"string"