Endpoints/Scrape

Scrape API

Turn any URL into clean, structured data. Get HTML, Markdown, or plain text content from any webpage.

Endpoint

POST/api/scrape

Request Body

url
stringRequired

The URL to scrape

formats
string[]Optional

Output formats: "html", "markdown", "text". Default: ["markdown", "text"]

htmlmarkdowntext
onlyMainContent
booleanOptional

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.urlstring

The scraped URL

data.titlestring

Page title

data.htmlstring

Raw HTML content (if requested)

data.markdownstring

Markdown formatted content (if requested)

data.textstring

Plain text content (if requested)

data.metadataobject

Content metadata (length, status, type)

meta.cacheHitboolean

Whether the response was served from cache

Error Codes

400INVALID_URL

The provided URL is not valid

401AUTHENTICATION_FAILED

Invalid or missing API key

429RATE_LIMIT_EXCEEDED

Too many requests, please slow down

500SCRAPE_FAILED

Failed to scrape the URL