XenonFlare

Guides

Agency portfolio monitoring

Run nightly crawls across many client sites without N+1 API calls or constant polling.

Single-call property overview

Use ?include=gsc,lastScan on GET /properties to embed last crawl score and GSC totals in one response:

curl -H "Authorization: Bearer xf_live_..." \
  "https://api.xenonflare.com/api/v1/properties?include=gsc,lastScan"

Build a client health table in your internal dashboard from this payload.

Batch queue scans

Queue up to 25 scans per request — failures are per-property, not all-or-nothing:

curl -X POST \
  -H "Authorization: Bearer xf_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "scans": [
      { "propertyId": "507f1f77bcf86cd799439011", "maxPages": 100 },
      { "propertyId": "507f1f77bcf86cd799439012", "maxPages": 100 }
    ]
  }' \
  https://api.xenonflare.com/api/v1/scans/batch

Webhooks instead of polling

Register a webhook in Developer API settings for job.completed and job.failed. Your worker receives the job payload including result.score and result.issuesCount — no poll loop required.

Issue digests

After scans complete, fetch GET /properties/:id/issues?status=open&limit=20 for each client that regressed. Include severity counts from summary in client emails.

Create an API key

Batch scans and webhooks need jobs:write, webhooks:write, and properties:read.

Developer API access requires a Starter or Growth workspace. Free tier includes the web app and free marketing tools — not API keys.