Integrate GetIndexedNow into your applications. Create indexer and reindexer tasks, check credits, and monitor task status programmatically using your API key.
Core task management endpoints for the GetIndexedNow API
This API covers the core task management endpoints. Use it to create indexer and reindexer tasks, check your available credits, and monitor the status of running tasks by task ID.
All requests require a Bearer token
Include your API key in the Authorization header on every request. Keys use the format gti_live_....
Authorization: Bearer YOUR_API_KEYGenerate an API key from User Settings → API Keys.
Production API endpoint
https://api.getindexednow.comAll endpoint paths below are relative to this base URL. Use Content-Type: application/json for POST requests.
Endpoints for checking credits, creating indexer and reindexer tasks, and monitoring task status.
/api/user/tasks/creditsReturns the number of task credits remaining for the authenticated user. Check this before creating new tasks to ensure sufficient credits are available.
curl --location 'https://api.getindexednow.com/api/user/tasks/credits' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY'{
"credits": 150,
"used": 50,
"limit": 200
}/api/user/tasksSubmit a new indexer task by providing a list of URLs and a title. The API returns a task ID which you can use to track progress.
{
"title": "My indexer task",
"type": "indexer",
"urls": ["https://example.com"]
}curl --location 'https://api.getindexednow.com/api/user/tasks' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
"title": "My indexer task",
"type": "indexer",
"urls": ["https://example.com"]
}'{
"task_id": "abc123-def456",
"status": "pending",
"message": "Task created successfully"
}/api/user/tasksRe-submit failed URLs for indexing. Provide the URLs to reindex and the original URL row IDs from a previous task via recreatedFromUrlIds.
{
"title": "Reindex failed URL",
"type": "reindexer",
"urls": ["https://example.com/page"],
"recreatedFromUrlIds": ["43596e8c-2c3b-4506-b7a7-e500f35a4dec"]
}curl --location 'https://api.getindexednow.com/api/user/tasks' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
"title": "Reindex failed URL",
"type": "reindexer",
"urls": [
"https://example.com/page"
],
"recreatedFromUrlIds": [
"43596e8c-2c3b-4506-b7a7-e500f35a4dec"
]
}'{
"task_id": "43fd9fc2-faff-4096-8ff4-d1f1df8a2867",
"status": "pending",
"message": "Task created successfully"
}/api/user/tasks/status/{task_id}Fetches the current status of a task by its ID. Replace {task_id} with the task ID returned from a create-task response. Poll this endpoint until the task status indicates completion.
curl --location 'https://api.getindexednow.com/api/user/tasks/status/43fd9fc2-faff-4096-8ff4-d1f1df8a2867' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY'{
"task_id": "43fd9fc2-faff-4096-8ff4-d1f1df8a2867",
"status": "running",
"progress": 45
}Recommended integration flow
Call GET /api/user/tasks/credits to confirm you have enough credits.
Call POST /api/user/tasks with your URLs and title (use type "reindexer" and recreatedFromUrlIds to reindex failed URLs). Note the task_id in the response.
Call GET /api/user/tasks/status/{task_id} until the task status indicates completion.
Handle API responses gracefully
Use exponential backoff for 429 responses, handle 401/403 gracefully, and log request IDs for error tracing when available.