If you export large volumes of report data via the impact.com API, now is the time to switch to the more efficient ReportExport
endpoint—especially with upcoming limits to the legacy Reports
API.
impact.com currently supports two endpoints for exporting report data via the API: Reports
and ReportExport
.
Reports
is an older endpoint, which uses pagination and is inefficient for large data sets.ReportExport
doesn’t use pagination and can handle large exports more efficiently.
The Reports
page limit
Reports
page limitBeginning September 1, 2025, the Reports
API endpoint will enforce a page limit on responses. Initially set at 50 pages, this limit is expected to be reduced further over time.
Each page of a Reports
API export can contain up to 20,000 records, so this change effectively caps the maximum data returned at 1 million rows.
For more efficient retrieval of large datasets, we highly recommend switching to the ReportExport
API endpoint, which returns a complete, unpaginated result, making it a better solution for managing large amounts of data.

Why is the change needed?
For large datasets, using the Reports
endpoint’s pagination is inefficient, causing the client to make several calls, each returning a partial recordset. This adds complexity for the API consumer to recombine the data, increasing system load and slowing down result delivery.
In contrast, the ReportsExports
endpoint works by queuing a background job that you can track until completion. This approach generally runs faster and returns a single, comprehensive data set, eliminating the need for pagination.
However, this change requires a small update to your API scripts. The examples below show how to update them.
Reports
example
Reports
exampleRead how to export a report using the Reports endpoint.
The example below shows sample output from the Reports
endpoint. The JSON file includes the report data, column headers and report metadata (e.g., pagesize
).
{
"@page": "1",
"@numpages": "1",
"@pagesize": "20000",
"@total": "7",
"@start": "0",
"@end": "6",
"@uri": <hidden>,
"@firstpageuri": <hidden>,
"@previouspageuri": "",
"@nextpageuri": "",
"@lastpageuri": <hidden>,
"Records": [
{
"date_sort": "",
"date_display": "May 27, 2025",
"media_count": "1",
"Impressions": "0",
"Clicks": "4139366",
"Actions": "51443",
"Revenue": "1462771.7926",
"ActionCost": "78135.1751",
"ClickcCost": "0.0000",
"Calls": "0",
"CPCCost": "0.0000",
"OtherCost": "0.0000",
"TotalCost": "78135.1751",
"CPC": "0.01887612"
},
{
"date_sort": "",
"date_display": "May 26, 2025",
"media_count": "1",
"Impressions": "0",
"Clicks": "892547",
"Actions": "52423",
"Revenue": "1442777.7131",
"ActionCost": "77377.9779",
"ClickcCost": "0.0000",
"Calls": "0",
"CPCCost": "0.0000",
"OtherCost": "0.0000",
"TotalCost": "77377.9779",
"CPC": "0.08669345"
},
{
"date_sort": "",
"date_display": "May 25, 2025",
"media_count": "1",
"Impressions": "0",
"Clicks": "959868",
"Actions": "54006",
"Revenue": "1545412.8019",
"ActionCost": "81698.2616",
"ClickcCost": "0.0000",
"Calls": "0",
"CPCCost": "0.0000",
"OtherCost": "0.0000",
"TotalCost": "81698.2616",
"CPC": "0.08511406"
},
{
"date_sort": "",
"date_display": "May 24, 2025",
"media_count": "1",
"Impressions": "0",
"Clicks": "898905",
"Actions": "49707",
"Revenue": "1390113.7148",
"ActionCost": "74428.3114",
"ClickcCost": "0.0000",
"Calls": "0",
"CPCCost": "0.0000",
"OtherCost": "0.0000",
"TotalCost": "74428.3114",
"CPC": "0.08279886"
},
{
"date_sort": "",
"date_display": "May 23, 2025",
"media_count": "1",
"Impressions": "0",
"Clicks": "779053",
"Actions": "44495",
"Revenue": "1302177.3778",
"ActionCost": "68627.1650",
"ClickcCost": "0.0000",
"Calls": "0",
"CPCCost": "0.0000",
"OtherCost": "0.0000",
"TotalCost": "68627.1650",
"CPC": "0.08809050"
},
{
"date_sort": "",
"date_display": "May 22, 2025",
"media_count": "1",
"Impressions": "0",
"Clicks": "879469",
"Actions": "50300",
"Revenue": "1424613.9807",
"ActionCost": "75676.7852",
"ClickcCost": "0.0000",
"Calls": "0",
"CPCCost": "0.0000",
"OtherCost": "0.0000",
"TotalCost": "75676.7852",
"CPC": "0.08604827"
},
{
"date_sort": "",
"date_display": "May 21, 2025",
"media_count": "1",
"Impressions": "0",
"Clicks": "927422",
"Actions": "52863",
"Revenue": "1535290.1470",
"ActionCost": "79841.4397",
"ClickcCost": "0.0000",
"Calls": "0",
"CPCCost": "0.0000",
"OtherCost": "0.0000",
"TotalCost": "79841.4397",
"CPC": "0.08608965"
}
]
}
ReportExport
example
ReportExport
exampleRead how to export a report using the ReportExport endpoint.
The ReportExport
API endpoint provides the report data and column headers in a CSV file, with no additional report metadata:
Sortable Date,Date,Partners,Impressions,Clicks,Actions,Revenue,Action Cost,Click Cost,Calls,CPC Cost,Other Cost,Total Cost,CPC
,"May 27, 2025",1,0,4139366,51443,1462771.7926,78135.1751,0.0000,0,0.0000,0.0000,78135.1751,0.01887612
,"May 26, 2025",1,0,892547,52423,1442777.7131,77377.9779,0.0000,0,0.0000,0.0000,77377.9779,0.08669345
,"May 25, 2025",1,0,959868,54006,1545412.8019,81698.2616,0.0000,0,0.0000,0.0000,81698.2616,0.08511406
,"May 24, 2025",1,0,898905,49707,1390113.7148,74428.3114,0.0000,0,0.0000,0.0000,74428.3114,0.08279886
,"May 23, 2025",1,0,779053,44495,1302177.3778,68627.1650,0.0000,0,0.0000,0.0000,68627.1650,0.08809050
,"May 22, 2025",1,0,879469,50300,1424613.9807,75676.7852,0.0000,0,0.0000,0.0000,75676.7852,0.08604827
,"May 21, 2025",1,0,927422,52863,1535290.1470,79841.4397,0.0000,0,0.0000,0.0000,79841.4397,0.08608965
Migration steps
Compare the two example files above to gain some insight into the necessary steps to migrate from Reports
to ReportExport
. If you need help with this process, please reach out to your CSM (or contact support).
- Update your integration to download from the
ReportExport
endpoint, rather thanReports
. - Adjust your integration to process
ReportExport
's CSV file rather than the JSON response fromReports
. - Update the report field names where they differ, as shown in the table below:
Reports field ReportExport field date_sort
Sortable Date
date_display
Date
ActionCost
Action Cost
ClickcCost
Click Cost
CPCCost
CPC Cost
OtherCost
Other Cost
TotalCost
Total Cost