MH MediaHarvester Web Context API

Sitemap

Scrape Sitemap

Use the site’s own discovery files to build a clean URL list before crawling, migration, monitoring or SEO analysis.

GET /v1/web/scrape/sitemap

What you get

Developer-ready output for Scrape Sitemap

01 robots.txt sitemap discovery
02 Recursive sitemap index parsing
03 URL regex filtering
04 Fetch and skip counters

Real workflows

Where teams use Scrape Sitemap

These examples map to the endpoint's current inputs and outputs—not hypothetical platform features.

Seed a crawl from authoritative URLs

Read sitemap indexes first, then hand the resulting URLs to a bounded crawl or content job.

OutcomeFaster discovery with fewer blind link traversals.
Compare old and new site inventories

Export URLs before and after a migration to spot missing sections and unexpected additions.

OutcomeA measurable launch completeness check.
Scope SEO monitoring

Filter sitemap URLs by path or regex before scheduling metadata and content checks.

OutcomeMonitor the pages that matter without scanning the whole domain.

How it works

4 concrete steps from input to result

1

Read robots.txt

2

Fetch sitemap indexes

3

Normalize discovered URLs

4

Apply maxLinks and urlRegex

API response

Fields developers usually wire first

Discover site URLs from robots.txt, sitemap indexes and XML sitemaps with recursive parsing, filtering and link limits.

urls[] meta.sitemapsFetched meta.sitemapsSkipped meta.errors
curl.exe -H "X-API-Key: YOUR_API_KEY" "http://127.0.0.1:8013/v1/web/scrape/sitemap"

Developer FAQ

Common questions about Scrape Sitemap

12 answers
Should I call sitemap before crawl?

Usually yes. Sitemap gives you a clean seed list and helps avoid wasting crawl budget on navigation-only pages.

Can I filter only blog or product URLs?

Yes. Use urlRegex to keep only matching URLs, for example paths that contain /blog/, /docs/ or /products/.

What if the site has no sitemap?

The endpoint reports what it found. You can then fall back to /v1/web/crawl starting from the homepage or a known section URL.

What endpoint should I call for Scrape Sitemap?

Use GET /v1/web/scrape/sitemap. Local development accepts the X-API-Key header with YOUR_API_KEY, and production clients can use the same shape with their own key.

Can I call it from CLI, SDK, MCP and no-code tools?

Yes. The same endpoint can be called with curl, the TypeScript SDK, Python SDK, MCP server, Zapier, Make, n8n, Google Sheets or Excel workflows where appropriate.

How does caching with maxAgeMs work?

When maxAgeMs is supported, a cached response can be reused if it is younger than the requested freshness window. Set maxAgeMs to 0 when you need a fresh scrape or extraction.

What happens when a page is blocked or requires login?

The API returns clear states such as blocked, verification_required, login_required, robots_disallowed or permission_required. It does not promise to bypass access controls.

Which response fields should I store?

Most integrations store urls[], meta.sitemapsFetched, meta.sitemapsSkipped, meta.errors, plus source URL, status, confidence and timestamp fields when present. Keep source metadata so users can audit values later.

Can I batch this endpoint?

For local or small workflows, loop over a list of URLs or domains. For larger jobs, use crawl, batch workflow endpoints or a queue so failures and retries are tracked cleanly.

How should I handle errors in production?

Check success, HTTP status, error.type and retryable flags. Retry timeouts and temporary network failures, but do not retry robots, login or permission errors without changing input or authorization.

Does the API work with JavaScript-heavy sites?

The engine router starts with fast fetching and escalates when content quality is low. Browser-style rendering is used where available, while access-control barriers are reported explicitly.

Is this safe to use with customer data?

Send only domains, URLs or fields your workflow needs. Use retention controls for generated artifacts and avoid storing unnecessary raw HTML, screenshots or extracted personal data.

Related data APIs

Build the next step in the workflow