Web Scraping API
Render any page in a real browser, JavaScript included, and get it back as clean markdown, as JSON matching a schema you declare, or as a screenshot. Pay per page, no account.
3 endpoints
scrape
$0.0050 per callFetch a URL and get markdown back, with JavaScript executed first.
extract
$0.0100 per callRenders the page (JS included) and returns JSON matching the schema YOU declare, so there is no guessing at field names.
screenshot
$0.0050 per callCapture a rendered web page as a PNG. Use when an agent needs to show a page rather than read it — a preview, a visual diff, evidence of what a site displayed.
Call it
The first response is 402 with the exact price and every way to pay. Pay,
repeat the request with the proof, and you get the result.
curl -X POST https://api.glianalabs.com/v1/tools/extract \
-H 'content-type: application/json' \
-d '{"url":"https://example.com/product","schema":{"title":"the product name","price":{"type":"number","description":"listed price"},"in_stock":{"type":"boolean"}}}'How it works
Each call renders the page in a headless browser, so client-side apps that return an empty shell to a plain fetch still work. extract reads the rendered page with a model and returns only the fields you name, coerced to the types you declare; anything the page does not state comes back null instead of invented.
Limits worth knowing
Long pages are truncated, and the response says so. Pages behind a login, a CAPTCHA or a bot wall are not bypassed. You are responsible for respecting a site’s terms and robots.txt.
Questions
Does it run JavaScript?
Yes. Every page is rendered in a headless browser before it is read.
How does extract avoid making things up?
It returns only the fields in your schema, coerces them to the declared types, and lists anything the page does not state under missing with a null value.
Can it get past logins or CAPTCHAs?
No.
Is there a free tier?
No. Every call is paid individually, with no plan or minimum. A request that fails validation is refused before it runs, so it is never charged.
Do I need an account or an API key?
No. The first response is HTTP 402 with the exact price; pay it with USDC from your own wallet and repeat the request. To prepay instead, top up a balance in rupiah and send a gk_ key.