Sitemap Scraper API
Get every page URL from a website sitemap, from your AI assistant, no-code workflow or own code.
- A partire da $0,0045 per 1000 URLs
- Follows Sitemap Indexes
- Filter URLs with Regex
| Sitemap |
|---|
| northpeak-coffee.de/sitemap.xml |
| Only URLs with /blog/ |
Trusted by 38,000+ users at startups and Fortune 500 teams
Works with any tool that can send HTTP requests
Claude
Cursor
Codex
Make
n8n
Zapier
- Your own code
Pick Your Way In
Let an AI assistant or your automation tool do the setup, or call the REST API from your own code.
Paste the setup prompt
Copy the prompt for Claude Code, Codex or Cursor, or for Make, n8n or Zapier, and paste it in. The AI creates a Datablist folder on your computer and sets everything up.
Paste your API key
When the AI asks, copy your API key from the Datablist app and paste it into the .env file it opened. Never paste it into the chat.
Get your results
Send a sitemap URL and get one row back per page: the page URL and when it was last updated, ready for an audit, a scraper or your sheet.
See a sample resultUsing Make, n8n or Zapier? Here is every field for the HTTP request
Use the HTTP request module or node your tool offers. You need three steps: start the task, wait, then read the results.
1. Start the task (HTTP request)
- Method
POST- URL
https://api.datablist.com/v1/sources/tasks- Headers
X-API-Key= your API keyContent-Type=application/json- Body (JSON)
- json{"sourceId": "sitemap-source","uniqueId": "sitemap-source-run-1","settings": {"sitemapUrl": "https://northpeak-coffee.de/sitemap.xml","filterRegex": "/blog/"}}
- Keep
- The
@idfrom the response. That is your task ID.
2. Wait until it is done
Add a short wait or delay, then a GET request to https://api.datablist.com/v1/sources/tasks/TASK_ID with the same X-API-Key header. Repeat until status is completed, failed or stopped.
3. Read the results
GET https://api.datablist.com/v1/sources/tasks/TASK_ID/results?limit=50. Map the fields of each result to your columns. If nextCursor is not empty, call again with &cursor= plus that value.
At a Glance
Read an XML sitemap, follow every sitemap listed in an index, and keep only the pages that match your filter. No Datablist workspace, collection or import needed.
What you give it
- A sitemap URL: Usually the website address plus /sitemap.xml
- A filter (optional): A regex such as /blog/ or /products/ to keep only those pages
- A limit (optional): Request a maximum number of URLs, or leave it unset. Concurrent work can exceed the requested limit.
What you get back
- Every page URL: From the sitemap and every sitemap it links to
- The last update: When the page last changed, if the sitemap says so
What it costs
- 1 credit per 150 URLs: Counted proportionally, no rounding up
- 1,000 credits = $1: Shared with the Datablist app
What Teams Build With It
Put Sitemap Scraper wherever your data already flows.
Audit a whole website
- Client sitemap
- Status and meta checks
Get the full list of pages, then run a status check or meta data fetch on each one to find broken or thin pages.
Map a competitor content plan
- Competitor sitemap, /blog/
- Topics and dates
Pull every blog post a competitor published with its last update and see what they write about and how often.
Feed a scraper
- Store sitemap, /products/
- Product data scraped
Collect product or listing pages first, then pass the URLs to a scraper or an AI extraction step.
What Will It Cost You?
Pay per lookup with credits. API access starts on the Growth plan.
How much will it cost you?
Tell us how many URLs you need and we'll show you the cheapest way to get them.
≈ 6,67 parsing credits; a protected-site download can add 1 credit
How credits work
1,000 credits = $1, so each credit costs a tenth of a cent. Parsing costs 1 credit per 150 URLs, counted proportionally, so 15,000 URLs cost 100 credits. The task needs a balance of at least 40 credits to start, and a protected site can add 1 credit for the download. The task shows credits.used with the real amount. Plan credits renew monthly and reset if unused. Top-up credits never expire.
Build It Into Your Code
Everything you need to call the REST API directly: code, responses, endpoints, fields, authentication and limits.
Copy, Paste, Run
A complete script that creates a task, waits for it and prints every result. Replace YOUR_PERSONAL_API_KEY with your key.
# 1. Create the task (returns 202 Accepted and the task "@id")
curl --request POST 'https://api.datablist.com/v1/sources/tasks' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"sourceId": "sitemap-source",
"uniqueId": "sitemap-source-run-1",
"settings": {
"sitemapUrl": "https://northpeak-coffee.de/sitemap.xml",
"filterRegex": "/blog/"
}
}'
# 2. Poll every few seconds until status is completed, failed or stopped
curl 'https://api.datablist.com/v1/sources/tasks/TASK_ID' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY'
# 3. Read the results, then follow nextCursor until it is null
curl 'https://api.datablist.com/v1/sources/tasks/TASK_ID/results?limit=50' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY'What the API Returns
One flat JSON object per generated record, plus a nextCursor for the next page. Sample data.
{
"taskId": "00000000000040008000000000000001",
"results": [
{
"sitemapPageUrl": "https://northpeak-coffee.de/blog/cold-brew",
"sitemapLastUpdated": "2026-10-13T00:00:00+00:00"
}
],
"nextCursor": null
}Endpoints and Fields
All paths are relative to https://api.datablist.com. Field definitions come from GET /v1/sources/sitemap-source (docs read Oct 29, 2026). Schema version: 2026-09-12.
View API schema (JSON) (opens in a new tab)
- /v1/sources/sitemap-source
- Read the schema, no key needed
- POST
- /v1/sources/tasks
- Create a task
- /v1/sources/tasks/{taskId}
- Poll status and progress
- /v1/sources/tasks/{taskId}/results
- Read results, 1 to 100 per page
- POST
- /v1/sources/tasks/{taskId}/stop
- Cancel a running task
- /v1/sources/tasks
- Task history, newest first
Schema Reference
Send settings once per task. Sources need no input rows. Results can include extra fields as the source evolves, so keep unknown keys when you parse them.
Show all settings and outputs
Settings
sitemapUrlSitemap URL | Text | An URL to fetch a XML Sitemap. If the XML is a Sitemap Index, related Sitemaps will be followed. Ex: https://www.datablist.com/sitemap.xmlFormat: |
|---|---|---|
filterRegexRegex Filter | Text | If set, only webpage URLs matching the Regex will be created. Ex: 'datablist\.com\/blog\/' to filter blog pages in the Datablist sitemap. |
sitemapSourceLimitLimit | Number | If set, the enrichment will stop after {Limit} webpage URLs are found. Default to 95,000. Note: Collections are limited to 100,000 items when synced to the cloud. |
Outputs
sitemapPageUrlPage Url | Text | Format: |
|---|---|---|
sitemapLastUpdatedPage Last Modified | Text | Format: |
One Header, Clear Limits
Create a Personal API Key in your Datablist account and send it on every authenticated request.
Authentication
Send your key in the X-API-Key header. Datablist exchanges and renews access tokens for you.
- Header:
X-API-Key: YOUR_PERSONAL_API_KEY - Optional: manage tokens yourself with
Authorization: BearerfromPOST /v1/account/token - One or the other: sending both headers returns
400 AmbiguousCredentials - Server side only: keep keys out of URLs, browser code and logs
Limits
- Inputs: none, a source runs from its settings
- Size: 10 MiB per request, 16 KiB per generated object
- Run time: up to 24 hours per task
- Requests: 120 per 60 seconds for each source operation
- Active tasks: about 20 at once per account, shared with enrichments
- Retention: tasks and results are kept for 90 days
Frequently Asked Questions
Everything you or your AI coding agent need to integrate the Sitemap Scraper API: auth, request, polling, results, limits and retries.


