How it works AI Agent GEO Engine Features Pricing Start free — no credit card

Authentication

All API requests must include your API key in the Authorization header. You can generate an API key in Settings → API. API access is available on Scale and Agency plans.

# All requests
Authorization: Bearer lge_your_api_key_here
Content-Type: application/json

# Base URL
https://api.lumigeo.com/v1

Errors

LumiGEO uses standard HTTP response codes. Errors return a JSON object with a code and message field.

{
  "error": {
    "code": "site_not_found",
    "message": "No site found with the provided ID."
  }
}

Rate limits

The API is rate-limited to 100 requests per minute per API key. If you exceed this, you'll receive a 429 Too Many Requests response. Contact us if you need higher limits.

List sites

GET/v1/sites
Returns all sites connected to your account.
# Request
curl https://api.lumigeo.com/v1/sites   -H "Authorization: Bearer lge_your_key"

# Response
{
  "sites": [
    {
      "id": "site_abc123",
      "url": "https://yoursite.com",
      "cms": "wordpress",
      "seo_score": 78,
      "geo_score": 54,
      "last_scan": "2026-03-22T10:14:00Z"
    }
  ]
}

Trigger a scan

POST/v1/sites/{site_id}/scans
Triggers a new full scan for a site. Returns a scan ID you can poll for results.
# Request
curl -X POST https://api.lumigeo.com/v1/sites/site_abc123/scans   -H "Authorization: Bearer lge_your_key"

# Response
{
  "scan_id": "scan_xyz789",
  "status": "running",
  "started_at": "2026-03-22T11:00:00Z"
}

Deploy a fix

POST/v1/fixes/{fix_id}/deploy
Deploys a generated fix to the connected CMS. Returns the updated fix object with deployment status.
# Request
curl -X POST https://api.lumigeo.com/v1/fixes/fix_001/deploy   -H "Authorization: Bearer lge_your_key"

# Response
{
  "fix_id": "fix_001",
  "status": "deployed",
  "deployed_at": "2026-03-22T11:02:14Z",
  "rollback_available": true
}

Rollback a fix

POST/v1/fixes/{fix_id}/rollback
Reverts a deployed fix to its previous state.
# Response
{
  "fix_id": "fix_001",
  "status": "rolled_back",
  "rolled_back_at": "2026-03-22T11:05:30Z"
}

Need a higher rate limit or a custom integration? We're happy to help.

Contact us