Radio Report
const url = 'https://backend.podscribe.ai/api/public/radio';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"advertisers":["example"],"fieldGrouping":["DMA"],"fields":["Impressions","No. of Ads","Spend","Visits","Visitors","Installs","Signups","Leads","Purchases","Revenue","Cost per Ad","Cost per Visit","Cost per Visitor","Cost per Install","Cost per Signup","Cost per Lead","Cost per Purchase","CPM","CPA","ROAS"],"fieldMapping":{"Impressions":"delivery_imps","DMA":"market"},"formatting":{"numberFormatting":true,"summary":true},"name":"example","startDate":"2026-04-15","endDate":"2026-04-15","timeGrouping":"day","weekStartsOn":"monday"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://backend.podscribe.ai/api/public/radio \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "advertisers": [ "example" ], "fieldGrouping": [ "DMA" ], "fields": [ "Impressions", "No. of Ads", "Spend", "Visits", "Visitors", "Installs", "Signups", "Leads", "Purchases", "Revenue", "Cost per Ad", "Cost per Visit", "Cost per Visitor", "Cost per Install", "Cost per Signup", "Cost per Lead", "Cost per Purchase", "CPM", "CPA", "ROAS" ], "fieldMapping": { "Impressions": "delivery_imps", "DMA": "market" }, "formatting": { "numberFormatting": true, "summary": true }, "name": "example", "startDate": "2026-04-15", "endDate": "2026-04-15", "timeGrouping": "day", "weekStartsOn": "monday" }'This endpoint utilizes a task system.
Please read the description of Get status of file processing to understand how it works.
Result CSV columns follow the request: the timeGrouping column first, then fieldGrouping dimensions in order, then metric columns in fields order.
Result file format:
| Field | Type | Example | Description |
|---|---|---|---|
| Day, Week, or Month | string | 2025-04-01 | Column header is Day, Week, or Month depending on timeGrouping. |
| DMA | string | New York NY | Designated Market Area. |
| Genre | string | News | Radio genre. |
| Owner | string | Some owner | Station or inventory owner. |
| Radio Station | string | Some radio station | Radio station name. |
| Channel | string | CNBC | Satellite Radio Channel (SXM only). |
| Ad ID | string | ad_7f3a2b | Ad identifier. |
| ISCI Code | string | ABCD1234 | Industry Standard Commercial Identifier. |
| Day Part | string | MIDDAY | Daypart of the spot. |
| Publisher | string | Some publisher | Name of the publisher. |
| Campaign | string | My Campaign | Name of the advertising campaign. |
| Impressions | number | 123 | Number of impressions. |
| No. of Ads | number | 123 | Number of ad spots. |
| Spend | number | 123 | Amount spent. |
| Visits | number | 123 | Number of visits. |
| Visitors | number | 123 | Number of visitors. |
| Installs | number | 123 | Number of app installs. |
| Signups | number | 123 | Number of signups. |
| Leads | number | 123 | Number of leads. |
| Purchases | number | 123 | Number of purchases. |
| Revenue | number | 123 | Revenue generated. |
| Cost per Ad | number | 123 | Cost per ad spot. |
| Cost per Visit | number | 123 | Cost per visit. |
| Cost per Visitor | number | 123 | Cost per visitor. |
| Cost per Install | number | 123 | Cost per install. |
| Cost per Signup | number | 123 | Cost per signup. |
| Cost per Lead | number | 123 | Cost per lead. |
| Cost per Purchase | number | 123 | Cost per purchase. |
| CPM | number | 123 | Cost per thousand impressions. |
| CPA | number | 123 | Cost per acquisition. |
| ROAS | number | 123 | Return on advertising spend. |
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
A single-item array containing the advertiser name.
Dimensions that define how rows are grouped in the export.
Metric column display names; omit to use all metrics (default).
Object to customize column headers in the CSV output (keys are default header names).
object
Example
{ "Impressions": "delivery_imps", "DMA": "market"}Object to setup the formatting of CSV output.
object
Smart-format as currency, percentage, or comma-separated values for readability.
Include a report summary at the top of the report, featuring the Report Title, Advertiser, Publisher, and Dates
Total all columns at the bottom of the report. Total reach will be queried separately.
Example
{ "numberFormatting": true, "summary": true}Optional display name for the generated report. Shown in the Reports UI. Ignored when an identical cached report is reused; pass a new request (or wait for cache expiry) to apply a new name.
Start date timestamp (e.g., “2023-10-10”). Default is 3 months ago.
End date timestamp (e.g., “2023-10-10”). Default is one week forward.
Time dimension used to bucket rows by period. Adds a corresponding Day, Week, or Month column to the result.
The day of the week to start the week. If not set, defaults to ‘Sunday’.
Responses
Section titled “Responses”OK
object
Examplegenerated
{ "id": "example", "status": "example", "url": "example"}Invalid data
Unexpected error.
object
Nodejs Error
object
Examplegenerated
{ "message": {}}