---
title: "Extract sitemap URLs (optionally change-diff)"
method: GET
path: "/v1/sitemap"
tags: ["Data"]
---

# Extract sitemap URLs (optionally change-diff)

`GET /v1/sitemap`

## Request

- Base URL: `https://crawlwisedata.com`
- URL: `https://crawlwisedata.com/v1/sitemap`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`
  - none

10 credits + 1 per URL returned. With monitor=NAME returns new/updated/removed since last call. The first call for a monitor (baseline) costs a flat 10 credits for any site size (only the credits for the flat fee are reserved, so a trial can baseline a 10,000-URL sitemap) and returns counts + a 20-URL sample (monitor.urlsInSnapshot, monitor.baselinePricing="flat"); 50 flat baselines per account per day (10 on a trial), then per-URL pricing. Truncated results never save a snapshot and never report "removed".

## Query parameters

- `url` string, required
- `max` integer
- `include` string[]
- `exclude` string[]
- `lastmodAfter` string
- `monitor` string

## Response `200`

OK

- DataEnvelope
  - `ok` true, required
  - `endpoint` 'techstack' | 'feed' | 'sitemap', required
  - `mode` 'paid' | 'demo' | 'marketplace', required
  - `charged` object, required
    - `credits` integer
    - `usd` number
  - `balance` object, nullable
    - `credits` integer
    - `usd` number
  - `data` object, required

## Other responses

- `400`: Bad request (invalid_params, invalid_url, unsupported_url)
- `401`: Missing or invalid key
- `402`: Insufficient credits
- `403`: Account suspended or robots.txt disallows
- `404`: Not found
- `422`: Target reachable but no data / target error
- `429`: Rate limited
- `500`: Internal error (not charged)
- `504`: Timeout (not charged)

---

[API](https://skmtc.dev/crawlwisedata/apis/crawlwise-data-api.md) · [All operations](https://skmtc.dev/crawlwisedata/apis/crawlwise-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlwisedata/apis/crawlwise-data-api/revisions/dada609adde1?raw)
