Skip to content

Audience Size

POST
/api/public/reports/audience
curl --request POST \
--url https://backend.podscribe.ai/api/public/reports/audience \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "startDate": "example", "endDate": "example", "show": [ "example" ], "impressionGeo": [ "example" ], "mediaType": [ "CTV / OTT" ] }'

Returns the same data as the Aud. Size tab (Episodes Totals CSV).

This endpoint utilizes a task system.

Please read the description of Get status of file processing to understand how it works.

Result file format:

Field Type Example Description
Series string The Daily Name of the series or show.
Episode string Friday Roundup Episode title.
uploadedAt string 04/22/2026 Episode publish/upload date in MM/DD/YYYY format.
Total Impressions number 125000 Sum of RSS, YouTube, Rumble, and Spotify impressions for the episode.
RSS Impressions number 84000 Podcast/RSS impressions for the episode.
YT Impressions number 26000 YouTube views for the episode.
Rumble Impressions number 9000 Rumble views for the episode.
Spotify Impressions number 6000 Spotify video impressions for the episode.
reach number 42000 Estimated reach for the episode.
avgFrequency number 2.98 Average frequency for the episode.
ads number 3 Number of ads detected for the episode.
d15 number 54000 Podcast/RSS impressions accumulated within 15 days of publish.
d30 number 71000 Podcast/RSS impressions accumulated within 30 days of publish.
d45 number 79000 Podcast/RSS impressions accumulated within 45 days of publish.
d60 number 84000 Podcast/RSS impressions accumulated within 60 days of publish.
d15 YouTube number 12000 YouTube views accumulated within 15 days of publish.
d30 YouTube number 19000 YouTube views accumulated within 30 days of publish.
d45 YouTube number 23000 YouTube views accumulated within 45 days of publish.
d60 YouTube number 26000 YouTube views accumulated within 60 days of publish.
d15 Rumble number 3500 Rumble views accumulated within 15 days of publish.
d30 Rumble number 6000 Rumble views accumulated within 30 days of publish.
d45 Rumble number 7600 Rumble views accumulated within 45 days of publish.
d60 Rumble number 9000 Rumble views accumulated within 60 days of publish.
d15 Spotify number 2200 Spotify video impressions accumulated within 15 days of publish.
d30 Spotify number 3900 Spotify video impressions accumulated within 30 days of publish.
d45 Spotify number 5200 Spotify video impressions accumulated within 45 days of publish.
d60 Spotify number 6000 Spotify video impressions accumulated within 60 days of publish.
Length string 01:02:35 Episode duration formatted as HH:MM:SS.
Media typeapplication/json
object
name

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.

string
<= 255 characters
startDate
required

Start of date range (e.g. YYYY-MM-DD or ISO date)

string
endDate
required

End of date range (e.g. YYYY-MM-DD or ISO date)

string
show

Optional. Each value is a show identifier resolved server-side: Podscribe series id (numeric string), iTunes id, YouTube channel id, or YouTube playlist id (same semantics as GET /api/public/series/episodes/{id} path).

Array<string>
impressionGeo

Optional. Two-letter country codes (case-insensitive, e.g. us, ca, mx)

Array<string>
mediaType

Optional. Media types to include, using the same labels as the Media Type filter on the Aud. Size tab.

Array<string>
Allowed values: CTV / OTT Display Podcast Rumble Sai Simulcast Streaming Video Youtube

OK. Returns a file processing task; poll file-processor/status/{id} then download CSV.

Media typeapplication/json
object
id
string
status
string
url
string
Examplegenerated
{
"id": "example",
"status": "example",
"url": "example"
}

Invalid request (e.g. invalid dates or validation error)

Forbidden (invalid token or not a publisher)

Unexpected error