Making requests
How to construct a scrape request and the full set of available fields.
Endpoints
The Scrape API has two endpoint forms.
POST — full control over formats and options:
POST https://api.inndx.io/v1/scrapeGET shortcut — returns markdown with no request body needed:
GET https://api.inndx.io/v1/scrape/{url}The GET shortcut is convenient for quick testing and for agent pipelines that only need markdown. Use the POST form when you need a different output format or want to set proxy or timeout options.
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
url | string | yes | The URL of the page to scrape. |
formats | array | no | Output formats to return. Defaults to markdown when omitted. |
proxy | string | no | Proxy type. "isp" routes through an ISP proxy. |
timeout_seconds | number | no | Per-scrape timeout in seconds. |
locale | string | no | BCP 47 language tag sent with the request (e.g. "en-US", "fr-FR"). |
Format entries
Each entry in the formats array is an object with a kind field:
{ "kind": "markdown" }
{ "kind": "html" }
{ "kind": "json" }
{ "kind": "binary" }Markdown also accepts an optional skip_tags array to strip specific HTML elements before converting:
{ "kind": "markdown", "skip_tags": ["nav", "footer"] }You can request multiple formats in a single call. The response includes one result per requested format.
Response shape
{
"url": "https://example.com",
"results": [
{ "kind": "markdown", "content": "..." },
{ "kind": "html", "content": "..." }
]
}Each entry in results has a kind matching what you requested and a content field with the output. Binary results are base64-encoded in the raw HTTP response; the SDKs decode them for you.
Examples
const session = client.scrape.scrapeUrl({ maxDeposit: '5' })
const result = await session.call({
url: 'https://example.com',
formats: [{ kind: 'markdown' }],
proxy: 'isp',
timeout_seconds: 30,
locale: 'en-US',
})
for (const item of result.results) {
if (item.kind === 'markdown') console.log(item.content)
}
await session.close()Rate limits
See Pricing for rate limits and API limits.