report/demand-comparison
Field and value reference · Markdown
/report/demand-comparisonRequest
curl -X GET "https://provisioning.cloudx.io/api/v1/report/demand-comparison?start_time=1712462400&end_time=1713067200" \
-H "Authorization: Bearer $CLOUDX_API_KEY"Query parameters
| Name | Type | Description |
|---|---|---|
start_timerequired | integer<int64> | Start of the inclusive report window as a Unix timestamp in seconds. CloudX converts the timestamp to a calendar date in timezone. The start date must be 2020-01-01 or later. The window can span any number of completed calendar dates within available history; some dates may have no data. |
end_timerequired | integer<int64> | End of the inclusive report window as a Unix timestamp in seconds. CloudX converts the timestamp to a calendar date in timezone. The end date must not precede the start date and must be complete. At and after 12:00 UTC, yesterday is complete. Before 12:00 UTC, the most recent complete date is the day before yesterday. The window can span any number of completed calendar dates within available history; some dates may have no data. |
timezone | string | IANA timezone used to convert start_time and end_time to calendar dates. Defaults to UTC. |
demand_source | array of string | Optional demand-source filter. Repeat the parameter for each source, for example demand_source=meta&demand_source=moloco. Omit it to include all supported sources. Allowed values: digitalturbine, inmobi, liftoff, meta, moloco. |
provider_business_id | string | Optional provider-business filter. Use a comma-separated list for multiple values. |
provider_property_id | string | Optional provider-property filter. Use a comma-separated list for multiple values. |
cloudx_ad_unit_id | string | Optional CloudX ad-unit filter. Use a comma-separated list for multiple values. |
Responses
{
"rows": [
{
"cloudx_revenue": 12.34,
"partner_revenue": 12.34,
"revenue_delta": 12.34,
"revenue_delta_percent": 12.34,
"cloudx_ecpm": 12.34,
"partner_ecpm": 12.34,
"ecpm_delta": 12.34,
"ecpm_delta_percent": 12.34,
"cloudx_impressions": 12.34,
"partner_impressions": 12.34,
"impression_delta": 12.34,
"impression_delta_percent": 12.34,
"demand_source": "<string>",
"status": "comparable",
"matched_ad_units": 12.34,
"cloudx_ad_units": 12.34,
"has_mapping_gaps": true,
"partner_latest_report_date": "<string>",
"partner_report_days": 12.34
}
],
"row_count": 123
}200Mapped demand comparison summary.
| Field | Type | Description |
|---|---|---|
rowsrequired | array of object | |
row_countrequired | integer<int64> |
400Invalid request parameters.
| Field | Type | Description |
|---|---|---|
errorrequired | string |
401Unauthorized.
| Field | Type | Description |
|---|---|---|
errorrequired | string |
403Forbidden.
| Field | Type | Description |
|---|---|---|
errorrequired | string |
500Internal server error.
| Field | Type | Description |
|---|---|---|
errorrequired | string |
504The query did not finish within the request time budget. Retry, narrowing the time range or filters where the operation accepts them.
| Field | Type | Description |
|---|---|---|
errorrequired | string |
Demand Comparison summary reference
This endpoint rolls up the full requested calendar-date window by demand source. It does not expose day, country, platform, mediator, or raw partner-report rows. CloudX-recognized values are CloudX reporting facts. Partner values come from the selected partner report.
start_time and end_time are required Unix seconds. CloudX converts each timestamp to a calendar date in timezone, which is an IANA time zone and defaults to UTC. The converted window is inclusive. The start date must be on or after 2020-01-01, and the end date must not precede it. Select any length of completed calendar-date window within available history. At or after 12:00 UTC, yesterday is the most recent complete date; before 12:00 UTC, it is the day before yesterday. Timezone conversion selects dates; it does not rebucket partner facts. Requested dates may have no CloudX or partner data.
demand_source is optional. Omit it to include every supported source, or repeat it for up to five unique values. The complete enum is digitalturbine, inmobi, liftoff, meta, and moloco. provider_business_id, provider_property_id, and cloudx_ad_unit_id are optional comma-separated filters. They accept live provider or CloudX identifiers, not closed enums. Provider IDs identify the partner account or property. CloudX IDs identify CloudX ad units.
The response contains rows and row_count. row_count is the number of returned source rows. Each supported source appears at most once.
Every row has these CloudX metrics:
| Field | Meaning |
|---|---|
cloudx_revenue | CloudX-recognized revenue. |
cloudx_ecpm | cloudx_revenue * 1000 / cloudx_impressions, or 0 when impressions are zero. |
cloudx_impressions | CloudX impression count. |
The following partner and delta fields are numbers only when the partner data is available for the row. An absent field means unavailable. It does not mean zero. A comparable status confirms mapped report-date coverage, not that every metric is present. Providers can suppress revenue for low-volume slices.
| Field | Meaning |
|---|---|
partner_revenue | Partner-reported revenue. |
revenue_delta | cloudx_revenue - partner_revenue. |
revenue_delta_percent | Revenue delta as a percentage of partner revenue. It is absent when partner revenue is below 0.005. |
partner_ecpm | partner_revenue * 1000 / partner_impressions, or 0 when impressions are zero. Requires both partner metrics. |
ecpm_delta | cloudx_ecpm - partner_ecpm. |
ecpm_delta_percent | eCPM delta as a percentage of partner eCPM. It is absent when partner eCPM is below 0.005. |
partner_impressions | Partner-reported impression count. |
impression_delta | cloudx_impressions - partner_impressions. |
impression_delta_percent | Impression delta as a percentage of partner impressions. It is absent when partner impressions are below 1. |
| Field | Meaning |
|---|---|
demand_source | One supported demand-source enum value. |
status | comparable, not_connected, no_partner_data, unmapped_partner_data, or stale_partner_data. comparable has mapped partner report dates covering the requested window. not_connected has no active partner connection. no_partner_data has no mapped partner report and no nonzero unmapped partner revenue or impressions. unmapped_partner_data has nonzero unmapped partner revenue or impressions but no mapped partner report. stale_partner_data does not cover the full requested window. |
matched_ad_units | Distinct mapped partner ad-unit IDs with positive impressions on both the CloudX and partner sides. |
cloudx_ad_units | Distinct mapped partner ad-unit IDs with positive CloudX impressions. This is not a count of all configured CloudX ad units. |
has_mapping_gaps | true when missing or ambiguous mapping affects revenue or impressions. |
partner_latest_report_date | Latest mapped partner report date, YYYY-MM-DD, when available. |
partner_report_days | Number of distinct mapped partner report dates in the requested window. |
JSON example
{
"rows": [
{
"cloudx_revenue": 14.25,
"partner_revenue": 13.9,
"revenue_delta": 0.35,
"revenue_delta_percent": 2.5179856115107913,
"cloudx_ecpm": 11.875,
"partner_ecpm": 11.583333333333334,
"ecpm_delta": 0.2916666666666661,
"ecpm_delta_percent": 2.5179856115107864,
"cloudx_impressions": 1200,
"partner_impressions": 1200,
"impression_delta": 0,
"impression_delta_percent": 0,
"demand_source": "meta",
"status": "comparable",
"matched_ad_units": 2,
"cloudx_ad_units": 2,
"has_mapping_gaps": false,
"partner_latest_report_date": "2026-04-01",
"partner_report_days": 1
}
],
"row_count": 1
}