Get Started with Sync Reporting
The Sync Reporting API provides real-time access to advertising performance data. Unlike asynchronous reporting, sync reporting returns results immediately in the API response, making it ideal for interactive dashboards, real-time analytics, and on-demand reporting needs.
¶ Submit Report Request
Endpoint: POST /v1/ads/{account_id}/reporting/sync
curl -X POST "https://api.uber.com/v1/ads/{account_id}/reporting/sync" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"report_type": "AD_PERFORMANCE",
"time_range": {
"start_time": "2025-09-24T00:00:00Z",
"end_time": "2025-09-24T23:59:59Z"
},
"columns": ["campaign_id", "impressions", "clicks", "ad_spend"],
"time_unit": "DAILY"
}'
Response:
{
"schema": {
"columns": [
{ "name": "day_of", "type": "COLUMN_TYPE_TIMESTAMP" },
{ "name": "campaign_id", "type": "COLUMN_TYPE_STRING" },
{ "name": "impressions", "type": "COLUMN_TYPE_INT64" },
{ "name": "clicks", "type": "COLUMN_TYPE_INT64" },
{ "name": "ad_spend", "type": "COLUMN_TYPE_DOUBLE" }
]
},
"data": {
"rows": [
{ "values": ["2025-11-04T00:00:00Z", "{campaign_uuid}", "8428", "506", "159.35"] },
{ "values": ["2025-11-03T00:00:00Z", "{campaign_uuid}", "6677", "457", "111.92"] }
]
}
}
¶ Cardinality Limits
The API enforces a maximum number of rows that can be returned in a single request to ensure performance and stability.
- If limit exceeded: Request is rejected with an error
To work within cardinality limits:
- Use filters to narrow down results
- Request shorter time ranges
- Query data in smaller batches