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 by Event

One row per lead or call to action event, split by traffic segment, with the pages it happened on.

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

Lead and call to action events for the window, most frequent first, each split by segment (organic search, AI, social, paid, direct, referral, other) with its top ten pages. Add format=csv for CSV.

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
formatstringOptionalSet to "csv" for CSV instead of JSON (e.g., "csv")

Example

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

Try it

Response

200Events
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">"events": [
      {
        class="code-string">"event": class="code-string">"contact_us",
        class="code-string">"label": class="code-string">"Contact Us",
        class="code-string">"kind": class="code-string">"lead",
        class="code-string">"total": 42,
        class="code-string">"by_segment": {
          class="code-string">"organic_search": 20,
          class="code-string">"ai": 3,
          class="code-string">"organic_social": 1,
          class="code-string">"paid": 8,
          class="code-string">"direct": 9,
          class="code-string">"referral": 1,
          class="code-string">"other": 0
        },
        class="code-string">"top_pages": [
          {
            class="code-string">"landing_page": class="code-string">"/contact",
            class="code-string">"count": 18
          }
        ]
      }
    ]
  },
  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."
  }
}