🚀 REST API v2.4

Instant Indexing API

Push URLs directly to search engines. Get pages crawled, indexed, and ranked within minutes, not weeks.

POST https://api.sitemap.xml/v1/index

Overview

The Indexing API provides a high-throughput, programmatic way to request immediate crawling and indexing of your web pages. Unlike traditional sitemap submission, our API pushes URLs directly to Google's Indexing API, Bing's Webmaster Tools, and Yandex's catalog system simultaneously.

💡
Pro Tip: Use the /v1/index endpoint for time-sensitive content like job postings, news articles, and e-commerce product updates. Standard sitemap updates typically take 3-7 days to process.

The API supports bulk submissions, priority tagging, and webhook callbacks for real-time indexing status updates. All requests are authenticated via API keys and rate-limited to ensure stability.

Authentication

All API requests require authentication using your secret API key. Include the key in the Authorization header using the Bearer scheme:

Header
Authorization: Bearer sk_live_your_api_key_here

API keys can be generated from your dashboard under Settings → API Keys. Never expose secret keys in client-side code or public repositories. Use environment variables for secure storage.

Submit URL for Indexing

POST /v1/index

Request Body Parameters

Parameter Type Description
url* string The full URL to submit for indexing. Must include protocol (https://)
type string Content type: news, job, product, article. Defaults to general
priority string Crawl priority: low, normal, high, critical
notify_webhook string Optional webhook URL to receive indexing status updates
Request Payload
{
  "url": "https://example.com/blog/new-product-launch",
  "type": "product",
  "priority": "high",
  "notify_webhook": "https://your-app.com/webhooks/indexing"
}
Response (200 OK)
{
  "success": true,
  "request_id": "idx_8f9a2b1c4d5e6f7g",
  "status": "queued",
  "estimated_crawl": "2-5 minutes",
  "message": "URL successfully submitted for indexing"
}

Check Indexing Status

GET /v1/status/:request_id

Retrieve the current indexing status of a submitted URL using the request_id returned from the submit endpoint.

Response (200 OK)
{
  "request_id": "idx_8f9a2b1c4d5e6f7g",
  "url": "https://example.com/blog/new-product-launch",
  "status": "indexed",
  "submitted_at": "2025-01-15T10:30:00Z",
  "indexed_at": "2025-01-15T10:34:22Z",
  "engines": {
    "google": "indexed",
    "bing": "indexed",
    "yandex": "pending"
  }
}

Code Examples

Node.js
import { SitemapClient } from '@sitemap/sdk';

const client = new SitemapClient({
  apiKey: process.env.SITEMAP_API_KEY
});

const result = await client.submitUrl({
  url: 'https://example.com/new-page',
  type: 'article',
  priority: 'high'
});

console.log(result.request_id);
Python
import sitemap_api

client = sitemap_api.Client(api_key="sk_live_...")

result = client.submit_url(
    url="https://example.com/new-page",
    type="article",
    priority="high"
)

print(result["request_id"])
cURL
curl -X POST "https://api.sitemap.xml/v1/index" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/new-page",
    "type": "article",
    "priority": "high"
  }'

Rate Limits & Best Practices

To ensure API stability and fair usage, rate limits are enforced per API key. Exceeding limits will result in a 429 Too Many Requests response.

PlanRequests/MinuteDaily Cap
Starter301,000
Professional12025,000
Enterprise500+Unlimited
⚠️
Important: Avoid submitting duplicate URLs within a 24-hour window. The API will automatically deduplicate requests, but repeated submissions may trigger temporary throttling.

Error Codes

CodeStatusDescription
200 OK Request accepted and queued for indexing
400 Bad Request Invalid URL format or missing required parameters
401 Unauthorized Missing or invalid API key
403 Forbidden API key revoked or insufficient permissions
429 Rate Limited Too many requests. Check Retry-After header
500 Server Error Internal processing failure. Try again later