API Docs/Data & Scraping
POST

Scrape to JSON API

Free Public API

Scrape any dynamic webpage into structured JSON schema using intuitive CSS selectors.

Try in Live Web Tool
POSThttps://api.headless-lender.com/api/v1/json
Public: No Key Needed•Highest Free Quota: 1,000 Req/Mo + 10h Browsers (No Card Required)

Overview & Architecture

Define JSON schemas with CSS selectors, attribute extractors (@href, @src, @content), and list flags to extract clean arrays and nested objects from dynamic websites.

Custom schema with nested objects and arrays
Attribute extraction syntax (@href, @src, @content)
Automatic JSON-LD and OpenGraph enrichment
Dynamic JavaScript hydration execution
Playwright Execution & Valkey Caching Pipeline

Because this endpoint utilizes full headless Chromium rendering, dynamic JavaScript and single-page apps (SPAs) are executed completely before conversion:

1. Cold Scrape (Cache MISS)~800ms – 2.5s

Chromium initializes, fetches the URL, executes client JavaScript, resolves DOM mutations, and generates output.

2. Repeat Request (Cache HIT)~5ms – 15ms

Returned instantly from Valkey/Redis cache with header X-Lender-Cache: HIT (15-minute TTL).

Code Integration Examples

Instant Public Endpoint: Zero configuration, no API key needed. Want our highest free quota? Get 1,000 free requests/month + 10 hours of cloud browsers with a free key (No credit card required).
curl -X POST https://api.headless-lender.com/api/v1/json \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://news.ycombinator.com",
    "selectors": {
      "stories": { "selector": ".titleline > a", "all": true },
      "scores": { "selector": ".score", "all": true }
    },
    "includeMetadata": true
  }'

Headers & Authentication Standard

1. Public Access (No Key)

No Authorization header required. Simply send a JSON POST request. Perfect for quick prototypes, small scripts, and low-volume scraping.

Content-Type: application/json

2. Free API Key (Highest Free Quota)

1,000 Req/Mo Free

Sign up in 10s with no credit card required. Unlocks 1,000 free monthly requests, 600 browser minutes (10 hours), 120 req/min burst limits, and cache-bypass controls.

Authorization: Bearer hl_live_your_api_key_here
Access ModeMonthly QuotaCloud Browser TimeBurst LimitCredit CardAction
Public AnonymousDaily IP Allowance5-min trial sandbox10 req/minNoneInstant (No Setup)
Free Account (Highest Quota)1,000 Req / Month600 Mins (10 Hours)120 req/minZero ($0 forever)Claim Free Key →

Request Body Parameters

FieldTypeRequiredDefaultDescription
urlstringrequired—Webpage URL to scrape.
selectorsRecord<string, string | object>required—Schema definition mapping field keys to CSS selectors.
includeMetadatabooleanoptionaltrueInclude standard meta tags (title, description, canonical).
includeOpenGraphbooleanoptionaltrueInclude og:title, og:image, og:description.
includeJsonLdbooleanoptionaltrueParse embedded <script type="application/ld+json">.

Response Schema & Example

200 OK — application/jsonDuration: ~800ms (Cold) / ~8ms (Cached)
{
  "url": "https://news.ycombinator.com",
  "data": {
    "heading": "Hacker News",
    "topStories": [
      "Announcing Next.js 16.4 Release",
      "Show HN: Fast Cloud Browser Lending BaaS",
      "DeepSeek V3 Technical Architecture"
    ]
  },
  "metadata": {
    "title": "Hacker News",
    "description": null
  },
  "openGraph": {},
  "durationMs": 240
}