Skip to main content
GET
/
v1
/
sync
/
get_ads
Get ad impressions (synchronous)
curl --request GET \
  --url https://query.emergedata.ai/v1/sync/get_ads \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "user_id": "psub_d4e5f6789012345678901234abcdef01",
      "event_id": 402938,
      "timestamp": "2026-02-10T09:30:11Z",
      "ingested_at": "2026-02-10T09:31:40Z",
      "source_domain": "google.com",
      "landing_domain": "nike.com",
      "url": "https://www.nike.com/running",
      "title": "20% Off Running Shoes",
      "category": "/Shopping/Apparel/Footwear",
      "brands": [
        "Nike"
      ],
      "ad_network": "Google Ads"
    }
  ],
  "count": 1,
  "next_cursor": null,
  "has_more": false,
  "applied_ingested_end": "2026-02-12T09:10:11Z"
}

Authorizations

Authorization
string
header
required

API token from the Control Room. Include as Authorization: Bearer <token>

Query Parameters

begin
string<date-time> | null

Filter by event timestamp (start)

end
string<date-time> | null

Filter by event timestamp (end)

ingested_begin
string<date-time> | null

Filter by ingestion timestamp (start)

ingested_end
string<date-time> | null

Filter by ingestion timestamp (end), defaults to now()

uid
string
required

Your user reference

Example:

"alice@yourcompany.com"

category
string | null

Category subtree to filter by

Example:

"/Shopping"

limit
integer
default:1000

Maximum number of rows to return

Required range: 1 <= x <= 10000
cursor
string | null

Pagination cursor from previous response

Response

Successful Response

data
AdsEvent · object[]
count
integer
next_cursor
string | null
has_more
boolean
applied_ingested_end
string<date-time> | null