> ## Documentation Index
> Fetch the complete documentation index at: https://help.decodo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Decodo Web Data API overview: the /scrape, /search, /crawl and /map endpoints, when to use each, authentication, and pricing.

**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

<table>
  <colgroup>
    <col width="100" />

    <col width="232" />

    <col width="177" />

    <col width="221" />
  </colgroup>

  <thead>
    <tr>
      <th>Endpoint</th>
      <th>What it does</th>
      <th>Returns</th>
      <th>Mode</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`/scrape`</td>
      <td>Gets the content of a single page, or parsed data from a supported website such as Google or Amazon.</td>
      <td>HTML, Markdown, JSON, screenshots, and more</td>
      <td>Synchronous, asynchronous, or batch</td>
    </tr>

    <tr>
      <td>`/search`</td>
      <td>Gets search engine results for a query in under a second.</td>
      <td>Parsed organic results and top stories</td>
      <td>Synchronous</td>
    </tr>

    <tr>
      <td>`/crawl`</td>
      <td>Follows links across a website and scrapes every page it finds.</td>
      <td>Markdown or HTML for each page</td>
      <td>Asynchronous</td>
    </tr>

    <tr>
      <td>`/map`</td>
      <td>Lists every URL on a website, without scraping page content.</td>
      <td>A list of URLs</td>
      <td>Synchronous</td>
    </tr>
  </tbody>
</table>

## Which endpoint should I use?

<table>
  <colgroup>
    <col width="337" />

    <col width="396" />
  </colgroup>

  <thead>
    <tr>
      <th>You want to...</th>
      <th>Use</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Get the content of a page you already have the URL for</td>
      <td>`/scrape`</td>
    </tr>

    <tr>
      <td>Get structured data from Google, Amazon, Walmart, TikTok, or another supported website</td>
      <td>`/scrape` with a [target template](https://help.decodo.com/docs/web-scraping-api-targets)</td>
    </tr>

    <tr>
      <td>Scrape many URLs at once, or collect results later</td>
      <td>`/scrape` with [asynchronous or batch requests](https://help.decodo.com/docs/web-scraping-api-asynchronous-requests)</td>
    </tr>

    <tr>
      <td>Get search results for a query, fast</td>
      <td>`/search`</td>
    </tr>

    <tr>
      <td>Get the content of every page on a website, or a section of it</td>
      <td>`/crawl`</td>
    </tr>

    <tr>
      <td>See what pages a website has before you scrape it</td>
      <td>`/map`</td>
    </tr>
  </tbody>
</table>

<Tip>
  `/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.
</Tip>

## Authentication

Every endpoint uses the same API key. Copy it from the [dashboard](https://dashboard.decodo.com/) and send it in the `Authorization` header:

```shellscript theme={null}
Authorization: Bearer YOUR_API_KEY
```

## 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

1. **Sign up** - activate the [free plan](https://dashboard.decodo.com/register?planId=922406) or choose a paid plan in the dashboard.
2. **Copy your API key** from the dashboard.
3. **Pick an endpoint** from the table above.
4. **Send your first request** - for example, scrape a single page:

<CodeGroup>
  ```shellscript cURL theme={null}
  # update 'TOKEN VALUE' with your API KEY
  curl --request 'POST' \
          --url 'https://data.decodo.com/v1/scrape' \
          --header 'Accept: application/json' \
          --header 'Authorization: Bearer TOKEN VALUE' \
          --header 'Content-Type: application/json' \
          --data '
      {
        "url": "https://ip.decodo.com"
      }
  ```
</CodeGroup>

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:

<table>
  <colgroup>
    <col width="100" />

    <col width="229" />

    <col width="396" />
  </colgroup>

  <thead>
    <tr>
      <th>Endpoint</th>
      <th>Proxy pool</th>
      <th>JavaScript rendering</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`/scrape`</td>
      <td>Standard or Premium</td>
      <td>Optional</td>
    </tr>

    <tr>
      <td>`/search`</td>
      <td>Single rate</td>
      <td>-</td>
    </tr>

    <tr>
      <td>`/crawl`</td>
      <td>Premium</td>
      <td>Optional - only for pages that fail without it</td>
    </tr>

    <tr>
      <td>`/map`</td>
      <td>Premium</td>
      <td>Optional</td>
    </tr>
  </tbody>
</table>

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](/docs/web-data-api-billing) page.

You can monitor usage for every endpoint in the dashboard's [Statistics](https://help.decodo.com/docs/web-scraping-api-statistics) section, including success rates and traffic breakdowns by domain and time.

<Note>
  ## 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.
</Note>

<br />

***

<Supfeed />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.