CLIENT API / V1 AEO QUESTIONS & CITATIONS

Read AeoPrediction

GET/sites/{site_id}/aeo/predicted-citations/{record_id}aeo:read

Read AeoPrediction. Only explicitly granted sites and permissions are accessible. No credentials or raw worker payloads are returned. Returns the same public fields as the corresponding list row. Missing, wrong-parent and inaccessible records return the same 404.

RequestGET https://satelliteai.io/api/v1/sites/{site_id}/aeo/predicted-citations/{record_id}
Permissionaeo:read
ResponseA single object: data is AeoPrediction.
Operation IDgetAeoPrediction

More context and worked examples are in the developer guide.

Example request

cURL · Bash
curl --fail-with-body \
  'https://satelliteai.io/api/v1/sites/123/aeo/predicted-citations/123' \
  -H "Authorization: Bearer $SATELLITE_API_KEY"

Replace the example IDs with values returned by the discovery endpoints. Example values are placeholders, not real records.

Parameters

NameInTypeDescription
site_idrequiredpathintegerAuthorized site id. Parent and site grants must also match.
min 1 · max 9223372036854775807
record_idrequiredpathintegerAuthorized record id. Parent and site grants must also match.
min 1 · max 9223372036854775807

Unknown or repeated query parameters return 400.

Data dictionary

Scoped result. Lists return pagination metadata; unavailable records return 404. Explicit stored AEO fields. Unknown measurements remain null. Scalar lengths are bounded; JSON input is bounded to 262144 characters and nested arrays to 100 items. Check truncated_fields before treating nested content as complete.

[] marks an array element. nullable means the value can be null; treat it as unknown, not zero. always present means the key is always included in the object.

Fields in data
FieldTypeDescription
data.idintegeralways presentSatellite identifier for this record.
min 1
data.site_idintegernullablealways presentSatellite site ID (from GET /sites).
data.question_idintegernullablealways present
data.querystringnullablealways present
max length 4096
data.query_intentstringnullablealways present
max length 4096
data.monthly_searchesintegernullablealways present
data.our_cited_urlstringnullablealways present
max length 4096
data.our_positionintegernullablealways present
min 1
data.citation_snippetstringnullablealways present
max length 4096
data.why_winningstringnullablealways present
max length 4096
data.strength_scorenumbernullablealways present
data.risk_levelstringnullablealways present
max length 4096
data.citation_enginesstringnullablealways present
max length 4096
data.sourcestringnullablealways present
max length 4096
data.statusstringnullablealways present
max length 4096
data.discovered_atstring (date-time)nullablealways present
data.created_atstring (date-time)nullablealways presentWhen Satellite created the record (UTC, RFC 3339).
data.updated_atstring (date-time)nullablealways presentWhen Satellite last updated the record (UTC, RFC 3339).
data.truncated_fieldsarray of stringalways presentPublic fields whose stored content exceeded scalar, JSON, or nested-array bounds. Empty means no detected truncation.
data.evidence_typestringalways present
one of: prediction
data.winning_elementsarray of stringnullablealways present
max items 100
data.risk_factorsarray of stringnullablealways present
max items 100

Response metadata

Fields in meta
FieldTypeDescription
meta.request_idstringalways presentRequest identifier; also returned in X-Request-ID. Include it in support requests.
meta.api_versionstringalways presentAPI version that produced the response.
one of: v1
meta.limitintegerMaximum records per page applied to this request.
min 1 · max 100
meta.has_morebooleanTrue when another page is available.
meta.next_cursorstringnullableOpaque cursor for the next page; send as cursor. Null on the last page.
meta.availabilitystringavailable when stored data exists; not_available when it does not.
one of: available, not_available
meta.billingobjectPresent for paid live SERP requests; replayed receipts describe the original debit, not an additional charge.
meta.billing.operationstringalways present
one of: client_api_serp_refresh
meta.billing.credits_chargedintegeralways present
min 0
meta.billing.transaction_idintegeralways present
meta.billing.replayedbooleanalways present

Error responses

Errors return {"error": {"code", "message", "request_id"}}. See error handling for retry guidance.

HTTPWhen
400Invalid parameters
401Invalid credentials
403Missing permission
404Missing or inaccessible resource