Skip to content

API overview

Use the AzScraper API to submit Amazon search or product-detail crawls, retrieve results, schedule recurring crawls, and monitor product changes. Every request in this guide uses a project API key.

What you can do

Need API capability
Collect product data Submit search jobs with keywords or detail jobs with ASINs and product URLs.
Retrieve results Check job status, list project jobs, fetch result rows, or download JSON, CSV, and LLM-ready exports.
Automate recurring crawls Create, list, and update schedules for the key's project.
Monitor products View tracked products and timelines, compare crawl results, review project analytics, and configure webhooks.

Create projects and API keys in the AzScraper dashboard. Each key is scoped to one project. Requests that reference another project are rejected. See API keys to create and store a key.

Base URL and paths

Use your deployment's API origin as the base URL. Hosted examples use https://api.azscraper.com; self-hosted deployments use their configured API origin.

The paths in this guide include the full prefix, such as /v1/key/projects/.... Use /v1/key as shown; do not add an /api prefix.

Request flow

  1. Create a project and API key in the dashboard.
  2. Submit a crawl using POST /v1/key/projects/{projectId}/jobs.
  3. Poll GET /v1/key/jobs/{jobId} until the job reaches a terminal status.
  4. Fetch rows or download an export.

API-key crawl sequence

The diagram shows how to submit a crawl and retrieve its results. Include the project API key with every request.

sequenceDiagram
    %%{init: {"sequence": {"mirrorActors": false}}}%%
    actor Client as Your application
    participant API as AzScraper API
    Client->>API: POST /v1/key/projects/{projectId}/jobs
    Note over Client,API: Authorization: Bearer project API key
    API-->>Client: Job ID and initial status
    loop Every few seconds while queued or running
        Client->>API: GET /v1/key/jobs/{jobId}
        API-->>Client: Current job status
    end
    alt Job completed
        Client->>API: GET /v1/key/jobs/{jobId}/results
        API-->>Client: Result rows
        opt Download an export
            Client->>API: GET /v1/key/jobs/{jobId}/export?format=csv
            API-->>Client: CSV file
        end
    else Job failed or cancelled
        Note over Client: Review the terminal status
    end

Request examples