API Documentation

Simple API for indexing URLs and checking index status

Getting Started

Authentication

All API requests require an API key in the X-API-Key header:

X-API-Key: your_api_key_here

Get your API key from Dashboard Settings →

Base URL

https://api.quickindex.app

Credits

  • Check Balance: GET /api/credits/balance
  • Cost: 1 credit per URL (both indexing and checking)
  • Deducted: Immediately upon successful submission

Submit URLs to Google for indexing.

Endpoint

POST /api/submissions/

Request

{
  "urls": [
    "https://example.com/page1",
    "https://example.com/page2"
  ]
}

Response

{
  "id": "proj_abc123",
  "project_name": "API Submission - 2025-01-21 13:45:00",
  "total_links": 2,
  "credits_used": 2,
  "status": "SUCCESS",
  "submitted_at": "2025-01-21T13:45:00Z",
  "completed_at": "2025-01-21T13:45:05Z"
}

Status Values:

  • SUCCESS - URLs submitted successfully
  • FAILED - Submission failed
  • PROCESSING - Currently processing

Code Examples

cURL

curl -X POST https://api.quickindex.app/api/submissions/ \
  -H "X-API-Key: sk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com/page1"]}'

Python

import requests

response = requests.post(
    "https://api.quickindex.app/api/submissions/",
    headers={
        "X-API-Key": "sk_live_abc123...",
        "Content-Type": "application/json"
    },
    json={"urls": ["https://example.com/page1"]}
)

if response.status_code == 200:
    print("Success:", response.json())
elif response.status_code == 402:
    print("Insufficient credits")
elif response.status_code == 401:
    print("Invalid API key")

JavaScript

const response = await fetch('https://api.quickindex.app/api/submissions/', {
  method: 'POST',
  headers: {
    'X-API-Key': 'sk_live_abc123...',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    urls: ['https://example.com/page1']
  })
});

const data = await response.json();
console.log(data);

Credit Management

Check Balance

GET /api/credits/balance

Response

{
  "total_credits": 1000,
  "expired_credits": 0,
  "available_credits": 1000
}

Example

response = requests.get(
    "https://api.quickindex.app/api/credits/balance",
    headers={"X-API-Key": "sk_live_abc123..."}
)
balance = response.json()["available_credits"]

Error Handling

CodeMeaningAction
200SuccessRequest completed
201CreatedResource created
400Bad RequestCheck request format
401UnauthorizedInvalid API key
402Payment RequiredBuy more credits
422Validation ErrorFix request data
500Server ErrorRetry after a few seconds

401 - Invalid API Key

{"detail": "Invalid or inactive API key"}

Fix: Check your API key in dashboard settings

402 - Insufficient Credits

{"detail": "Insufficient credits. Need 100, have 50"}

Fix: Buy more credits

500 - Server Error

{"detail": "Internal server error"}

Fix: Retry after a few seconds with exponential backoff