What you can do
AdsCrawl exposes five core capabilities through a single base URL (https://api.adscrawl.net):
- HTML extraction — Fetch fully rendered HTML from any URL, or extract clean Markdown and structured article JSON using the built-in Readability parser.
- Structured data extraction — Pull specific fields from dynamic single-page apps using CSS selectors or intercepted network responses, with optional pre-built site templates for popular targets.
- Screenshots — Capture a full-page PNG or isolate a single element with a CSS selector.
- Remote CDP — Create a dedicated Chromium session and connect Playwright or Puppeteer over the Chrome DevTools Protocol for scripted, multi-step browser automation.
- Cloud Browsers — Launch a persistent browser profile with your own proxy and cookies, view it live in the interactive viewer, stop it, and reuse the saved profile on your next run.
Explore the docs
Quick Start
Create an account, get your API key, and make your first request in minutes.
Authentication
Learn how to pass your API key and understand session tokens and data tokens.
Browser Tasks
HTML extraction, structured data, and screenshots — all synchronous, all proxied.
Remote CDP
Connect Playwright or Puppeteer to a remote browser over CDP for full automation.
Cloud Browsers
Persistent profiles, live viewer, proxy-per-session, and reusable state.
API Reference
Complete endpoint reference with request and response schemas.
How it works
Every AdsCrawl request follows the same pattern regardless of which API you use:- Send a request — Your server sends an HTTP request with your API key and the target URL (plus any options such as
waitUntil,contentMode, orcountryCode). - Browser renders the page — AdsCrawl launches a Chromium instance, routes it through a residential proxy, injects any cookies or fingerprint settings you specified, and waits for the page to reach the load state you requested.
- Get back your data — The rendered HTML, Markdown, JSON, PNG binary, or CDP session URL is returned directly in the HTTP response. There is no polling or webhook step for the synchronous APIs.
Residential proxies are built into every request. You can route through a specific two-letter country code, use
GLOBAL for dynamic region selection across 15 popular regions, or supply your own custom proxy. There is no separate proxy subscription required.