🎉 Limited time — 20% off all plans. View pricing →
Docs · AEO

Competitor AEO diff (premium)

Run page-audit on 2–5 URLs in parallel; return rankings, head-to-head category breakdowns, and where the first URL beats vs trails competitors.

POST /v1/aeo/competitor-diff

Pass a list of 2–5 URLs. First entry is treated as your page; the rest are competitors. Internally runs page-audit on each in parallel, then aggregates: overall ranking, per-category head-to-head, the categories where you win, the categories where you trail. This is the deliverable AEO consultants actually invoice for — "score my page vs competitors" is the line item, not "score my page." Bills 3 credits flat regardless of count (1 URL = no diff possible, 6+ rejected).

Parameters

Name Type Required Default Description
urls array yes 2–5 URLs. First is your page; rest are competitors.

Request

curl -X POST https://api.qcrawl.com/v1/aeo/competitor-diff \
  -H "Authorization: Bearer osk_..." \
  -d '{"urls": ["https://qcrawl.com/docs/intel-geoip/", "https://ipinfo.io/", "https://ipapi.co/"]}'

Response

{
  "status": "success",
  "your_url": "https://qcrawl.com/docs/intel-geoip/",
  "competitor_urls": ["https://ipinfo.io/", "https://ipapi.co/"],
  "rankings": [
    {"rank": 1, "url": "https://qcrawl.com/...", "overall_score": 84.0, "overall_grade": "B"},
    {"rank": 2, "url": "https://ipinfo.io/", "overall_score": 71.0, "overall_grade": "C"},
    {"rank": 3, "url": "https://ipapi.co/", "overall_score": 68.0, "overall_grade": "C"}
  ],
  "head_to_head_by_category": {
    "discoverability":  [{"rank": 1, "url": "...", "score": 90}, ...],
    "structured_data":  [{"rank": 1, "url": "...", "score": 80}, ...],
    "citability":       [{"rank": 1, "url": "...", "score": 85}, ...]
  },
  "your_wins": ["discoverability", "citability"],
  "your_loses": ["structured_data"],
  "leader_url": "https://qcrawl.com/...",
  "leader_overall_score": 84.0
}

Related