Endpoints/Scrape
Scrape API
Turn any URL into clean, structured data. Get HTML, Markdown, or plain text content from any webpage.
Endpoint
POST
/api/scrapeRequest Body
urlstringRequired
The URL to scrape
formatsstring[]Optional
Output formats: "html", "markdown", "text". Default: ["markdown", "text"]
htmlmarkdowntextonlyMainContentbooleanOptional
Extract only main content (removes nav, footer, etc.). Default: true
Example Request
cURL
curl -X POST https://api.vera.com/scrape \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://stripe.com",
"formats": ["markdown", "text"],
"onlyMainContent": true
}'Example Response
JSON
200 OK
{
"status": "success",
"data": {
"url": "https://stripe.com",
"title": "Stripe | Payment Processing Platform",
"markdown": "# Stripe\n\nFinancial infrastructure for the internet...",
"text": "Stripe. Financial infrastructure for the internet...",
"metadata": {
"contentLength": 45230,
"statusCode": 200,
"contentType": "text/html; charset=utf-8"
}
},
"meta": {
"cacheHit": false,
"scrapedAt": "2026-01-15T12:00:00Z",
"requestId": "req_abc123"
}
}Response Fields
data.urlstringThe scraped URL
data.titlestringPage title
data.htmlstringRaw HTML content (if requested)
data.markdownstringMarkdown formatted content (if requested)
data.textstringPlain text content (if requested)
data.metadataobjectContent metadata (length, status, type)
meta.cacheHitbooleanWhether the response was served from cache
Error Codes
400
INVALID_URLThe provided URL is not valid
401
AUTHENTICATION_FAILEDInvalid or missing API key
429
RATE_LIMIT_EXCEEDEDToo many requests, please slow down
500
SCRAPE_FAILEDFailed to scrape the URL