Product

Topic Engine Content Engine Code-to-Docs AEO Rank Research-Driven Content Autopilot Visibility Tracking Website & Migration Content Factory Pricing

Resources

Browse all resources → Case Studies Blog FAQ Use Cases Knowledge Base Research Docs

API Reference

Business Impact Summary

The period as short plain English facts, ready for an email or a dashboard tile.

GET/api/v1/reports/business-impact/summary

Organic search and AI engine results for the window as a headline and short sections of facts, generated by rule from the same report. JSON only: format=csv is ignored here.

Query Parameters

NameTypeRequiredDescription
domainstringOptionalThe domain to report on (e.g., "example.com"). Required when the key can read more than one domain; GET /api/v1/domains lists them.
daysnumberOptionalWindow length in days, up to 366. The window ends on the last day data was received.Default: 28
fromstringOptionalStart of a calendar window, YYYY-MM-DD (use with to instead of days)
tostringOptionalEnd of a calendar window, YYYY-MM-DD

Code Examples

curl:

bash
curl "https:">//studio.aeocontent.ai/api/v1/reports/business-impact/summary?domain=example.com&days=28" \
  -H "Authorization: Bearer $AEO_API_KEY"

JavaScript:

javascript
const res = await fetch(
  class="code-string">"https:class="code-commentclass="code-string">">//studio.aeocontent.ai/api/v1/reports/business-impact/summary?domain=example.com&days=28",
  { headers: { Authorization: class="code-string">`Bearer ${process.env.AEO_API_KEY}` } },
);
const { data } = await res.json();
console.log(data.headline);

Try it

Response

200Summary (abridged)
json
{
  class="code-string">"data": {
    class="code-string">"domain": class="code-string">"example.com",
    class="code-string">"period": {
      class="code-string">"from": class="code-string">"2026-09-10",
      class="code-string">"to": class="code-string">"2026-10-07",
      class="code-string">"days": 28,
      class="code-string">"previous": {
        class="code-string">"from": class="code-string">"2026-08-13",
        class="code-string">"to": class="code-string">"2026-09-09"
      }
    },
    class="code-string">"headline": class="code-string">"Google clicks 2,034 (up 61%) \u00b7 brand in 48% of AI prompts (was 36%) \u00b7 98 organic leads",
    class="code-string">"sections": [
      {
        class="code-string">"title": class="code-string">"Google search",
        class="code-string">"bullets": [
          class="code-string">"Shown in Google results 41,200 times (up 18%)"
        ]
      }
    ],
    class="code-string">"note": class="code-string">"Facts only, organic search and AI engines only, generated by rule from the measured numbers: a bullet exists only when its source covers the period, and comparisons never cross a measurement change."
  },
  class="code-string">"meta": {
    class="code-string">"request_id": class="code-string">"a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    class="code-string">"timestamp": class="code-string">"2026-10-10T12:00:00.000Z"
  }
}
409Google Analytics not connected
json
{
  class="code-string">"error": {
    class="code-string">"code": class="code-string">"not_connected",
    class="code-string">"message": class="code-string">"example.com has no Google Analytics property linked yet, so there is nothing to report. Ask your AEO Content contact to link it."
  }
}
403Domain below the Business plan
json
{
  class="code-string">"error": {
    class="code-string">"code": class="code-string">"plan_required",
    class="code-string">"message": class="code-string">"API access is included with the Business plan, and example.com is not on the Business plan or higher. Upgrade on the Billing page in Studio."
  }
}

Sent with a Retry-After header: the seconds until the next request is allowed.

429Rate limit exceeded
json
{
  class="code-string">"error": {
    class="code-string">"code": class="code-string">"rate_limit_exceeded",
    class="code-string">"message": class="code-string">"Rate limit exceeded. Limits: 60 requests a minute, 2000 a day."
  }
}