API REFERENCE
Extract URL
On this page
/api/research/extractExtract clean markdown content from one or more public URLs. Handles JavaScript-heavy pages and PDFs. Returns focused excerpts aligned to an objective, or full page content.
Authentication
See the authentication guide for API key and account access requirements.
Request
curl --request POST \
--url 'https://api.recoupable.dev/api/research/extract' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"urls": [
"string"
]
}'Request body required
application/json
urlsarray<string>requiredURLs to extract content from (max 10).
minItems: 1 · maxItems: 10
Item properties for urls
string
objectivestringWhat information to focus on (optional, max 3000 chars).
full_contentbooleanReturn full page content instead of focused excerpts.
Default: false
Responses
200Extracted content from URLs+
application/json
statusstring · enumrequiredValues: "success", "error"
resultsarray<ResearchExtractResult>requiredItem properties for results
urlstringformat: uri
titlestringnullablepublish_datestringnullablePublish date in YYYY-MM-DD format.
excerptsarray<string>nullableFocused excerpts as markdown.
Item properties for excerpts
string
full_contentstringnullableFull page content as markdown.
errorsarray<object>URLs that failed to extract. Only present when one or more URLs could not be processed.
Item properties for errors
object
400Validation error+
application/json
statusstring · enumrequiredValues: "error"
errorstringrequiredHuman-readable error message describing what went wrong.
401Authentication failed — invalid or missing API key+
application/json
statusstring · enumrequiredValues: "error"
errorstringrequiredHuman-readable error message describing what went wrong.
501The configured research data source does not support this endpoint or data shape.+
application/json
statusstring · enumrequiredValues: "error"
errorstringrequiredHuman-readable error message describing what went wrong.
{
"status": "error",
"error": "Request failed with status 501"
}Full specification
Download the OpenAPI file for complete schemas, constraints, and examples.
Download research.jsonView operation source
{
"description": "Extract clean markdown content from one or more public URLs. Handles JavaScript-heavy pages and PDFs. Returns focused excerpts aligned to an objective, or full page content.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResearchExtractRequest"
}
}
}
},
"responses": {
"200": {
"description": "Extracted content from URLs",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResearchExtractResponse"
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResearchErrorResponse"
}
}
}
},
"401": {
"description": "Authentication failed — invalid or missing API key",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResearchErrorResponse"
}
}
}
},
"501": {
"$ref": "#/components/responses/ResearchDataSourceUnsupported"
}
}
}