Skip to content

Extract

POST /extract

Fetch one or more URLs and return clean, extracted content — HTML (via trafilatura), PDF (via pypdf), and JS-heavy pages (via a headless-Chromium fallback). Only successfully extracted URLs are billed.

Terminal window
curl -X POST https://api.crisps.ai/extract \
-H "Authorization: Bearer $CRISPS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://arxiv.org/pdf/2412.19437",
"https://en.wikipedia.org/wiki/Mixture_of_experts"
],
"extract_depth": "advanced",
"format": "markdown"
}'
POST /extract Try it
ParameterTypeDefaultDescription
urls requiredstring | string[]One URL or a list (up to 20).
extract_depthstringadvancedbasic or advanced (deeper fallbacks, higher recall).
formatstringmarkdownmarkdown or text.
querystringIf set, chunks are reranked against this query.
chunks_per_sourceinteger3Top-N most relevant chunks per source when query is given.
include_faviconboolfalseInclude each URL’s favicon.
timeoutnumberPer-URL fetch cap in seconds.
{
"results": [
{ "url": "https://arxiv.org/pdf/2412.19437", "raw_content": "# DeepSeek-V3 …" }
],
"failed_results": []
}
FieldDescription
results[]Successfully extracted URLs with raw_content (and favicon when requested).
failed_results[]URLs that could not be extracted — not billed.

Credits: 1 per 5 successful URLs (2 per 5 on advanced), reported in the X-Credits-* response headers.