API Reference

Base URL: https://averra.dev/api/v1/extract

All endpoints require Authorization: Bearer YOUR_API_KEY.

POST /extract

Convert a URL to clean Markdown.

curl -X POST https://averra.dev/api/v1/extract \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"url": "https://example.com"}'

Request body

FieldTypeRequiredDescription
urlstringYesThe webpage URL to extract

Response (200)

json
{
  "markdown": "# Example Domain\n\nThis domain is for use in...",
  "metadata": {
    "title": "Example Domain",
    "word_count": 20,
    "links": ["https://iana.org/domains/example"],
    "language": "en",
    "timestamp": "2026-03-30T17:21:42.652Z"
  }
}
FieldTypeDescription
markdownstringExtracted page content as Markdown
metadata.titlestringPage title (first heading or URL)
metadata.word_countnumberApproximate word count
metadata.linksstring[]All unique links found
metadata.languagestringDetected language
metadata.timestampstringISO 8601 extraction timestamp
warningstring?Present if content under 200 words

Performance

ScenarioLatency
Cached< 500ms
Uncached3-15s (depends on target page)

GET /extract/usage

Check your current monthly usage.

curl https://averra.dev/api/v1/extract/usage \
  -H "Authorization: Bearer YOUR_API_KEY"

Response (200)

json
{
  "plan": "free",
  "monthly_limit": 50,
  "used": 42,
  "remaining": 458
}

POST /extract/keys

Create a new API key. The full key is only returned once.

curl -X POST https://averra.dev/api/v1/extract/keys \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /extract/keys

List all API keys for your account (active and revoked).

curl https://averra.dev/api/v1/extract/keys \
  -H "Authorization: Bearer YOUR_API_KEY"

DELETE /extract/keys/:id

Revoke an API key. You cannot revoke the key you are currently using.

curl -X DELETE https://averra.dev/api/v1/extract/keys/KEY_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

Rate Limits

LimitValue
Monthly page limitDepends on plan (50 / 5K / 25K / 200K)
Requests per second10 (Cloudflare rendering limit)