POST /v1/mint

Mint a page

Synchronous single-page extraction. Send one URL, get back cleaned Markdown or schema-validated JSON in the same response.

Request

curl -X POST https://api.datamint.xyz/v1/mint \
  -H "Authorization: Bearer mint_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/item/123",
    "schema": "ecommerce_item",
    "js": true
  }'

Content type must be application/json. Authentication is a bearer token. See Authentication.

Parameters

urlstringrequired

The page to fetch. Must be an absolute http or https URL.

jsboolean

Render the page in a headless browser before extracting. Needed for client-rendered content. Costs 5 credits.

stealthboolean

Route through residential proxies with fingerprint mutation. Costs 15 credits, which supersedes js rather than adding to it.

schemastring | true

A registered schema name such as ecommerce_item, or true to use the default mapping. Adds 2 credits.

no_cacheboolean

Force a fresh upstream re-fetch bypassing cached results.

wait_for_selectorstring

CSS selector to wait for before extracting DOM (e.g. #product-root or .content-loaded) when js or stealth is enabled.

timeoutnumber

Maximum request timeout in seconds (5–60, default: 30).

Response

Without a schema, the response body is cleaned Markdown: navigation, scripts, and boilerplate removed, main content retained.

With a schema, the body is JSON in that shape, with a confidence score alongside it so a downstream consumer can tell a clean extraction from a doubtful one rather than discovering the difference in production.

Treat a low confidence score as a signal to re-fetch or escalate the transport tier, not as a valid empty result. Silent partial extraction is the failure mode this field exists to prevent.

Cost

Between 1 and 17 credits depending on the transport tier and whether a schema pass runs. Full breakdown under Credits.

Errors

400 if the body is malformed, url is missing, or the target is not an http or https URL. 401 for authentication, 402 for insufficient credits, 405 if you use GET. 502 means datamint could not reach its own extraction engine. See Errors.

Need volume pricing or a custom parser?