Web Data API gives you every way to collect web data from one place - scrape a page, search the web, crawl a whole site, or map its URLs. Every endpoint runs on the same infrastructure, so proxy rotation, JavaScript rendering, and anti-bot protection are handled for you, whichever one you use.
One API key works with every endpoint, and all of them share the same base URL: https://data.decodo.com/v1
Endpoints
| Endpoint | What it does | Returns | Mode |
|---|
/scrape | Gets the content of a single page, or parsed data from a supported website such as Google or Amazon. | HTML, Markdown, JSON, screenshots, and more | Synchronous, asynchronous, or batch |
/search | Gets search engine results for a query in under a second. | Parsed organic results and top stories | Synchronous |
/crawl | Follows links across a website and scrapes every page it finds. | Markdown or HTML for each page | Asynchronous |
/map | Lists every URL on a website, without scraping page content. | A list of URLs | Synchronous |
Which endpoint should I use?
| You want to… | Use |
|---|
| Get the content of a page you already have the URL for | /scrape |
| Get structured data from Google, Amazon, Walmart, TikTok, or another supported website | /scrape with a target template |
| Scrape many URLs at once, or collect results later | /scrape with asynchronous or batch requests |
| Get search results for a query, fast | /search |
| Get the content of every page on a website, or a section of it | /crawl |
| See what pages a website has before you scrape it | /map |
/map and /crawl work well together: use /map to see a site’s structure and decide which paths you need, then run /crawl with select_paths to collect only those pages.
Authentication
Every endpoint uses the same API key. Copy it from the dashboard and send it in the Authorization header:
Synchronous and asynchronous requests
- Synchronous endpoints -
/scrape, /search and /map - return results in the same response.
- Asynchronous endpoints return an ID straight away and do the work in the background.
/crawl is always asynchronous. /scrape can also run asynchronously through /task, which suits large volumes or slow pages. Check the status, fetch results when they’re ready, or provide a callback URL to be notified.
Quick start
- Sign up - activate the free plan or choose a paid plan in the dashboard.
- Copy your API key from the dashboard.
- Pick an endpoint from the table above.
- Send your first request - for example, scrape a single page:
You can also build and send requests directly in the dashboard, then copy ready-to-use cURL, Python, or Node.js code for integration.
Pricing
All endpoints are priced per 1K requests, and the rate gets lower on larger plans. Depending on the endpoint, the rate also depends on the proxy pool and whether JavaScript is rendered:
| Endpoint | Proxy pool | JavaScript rendering |
|---|
/scrape | Standard or Premium | Optional |
/search | Single rate | - |
/crawl | Premium | Optional - only for pages that fail without it |
/map | Premium | Optional |
The Perplexity, ChatGPT and Gemini templates on /scrape have a single rate of $1 per 1K requests on every plan.
You only pay for successful requests. See all rates on the Billing page.
You can monitor usage for every endpoint in the dashboard’s Statistics section, including success rates and traffic breakdowns by domain and time.
Usage policy
Web Data API is intended for collecting publicly accessible web data.We don’t support collecting:
- Post-login or authenticated content
- Private user information
- Restricted or non-public data
Users are responsible for ensuring their use of the service complies with applicable website terms and internal policies.