Individual Ads
Individual ad rows for one advertiser, same data set as the advertiser page “Individual Ads” download.
Available for Pro users with API access.
const url = 'https://backend.podscribe.ai/api/public/advertisers/individual-ads';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"advertiser":"example","startDate":"example","endDate":"example","limit":500,"offset":0}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}import requests
url = "https://backend.podscribe.ai/api/public/advertisers/individual-ads"
payload = { "advertiser": "example", "startDate": "example", "endDate": "example", "limit": 500, "offset": 0}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())curl --request POST \ --url https://backend.podscribe.ai/api/public/advertisers/individual-ads \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "advertiser": "example", "startDate": "example", "endDate": "example", "limit": 500, "offset": 0 }'Request Bodyrequired
Section titled “Request Bodyrequired”The advertiser to get individual ads for.
Start date timestamp, e.g., 2023-10-10, default is 24 months ago.
End date timestamp, e.g., 2023-10-10, default is today.
Maximum number of rows to return per request.
Number of rows to skip; combine with limit to page through all rows.
Response Body
Section titled “Response Body”OK
Columns of the rows in data, in order.
Array<{id,name}>
Column key in each data row.
Column name, the same as id.
One object per ad, holding the columns listed in headers.
Array<{published_at,download_at,network,23 more}>
Episode publish date (YYYY-mm-DD).
Timestamp when Podscribe downloaded the episode.
Publisher name.
Ad position.
Read type.
AI read score.
Show title.
Episode title.
Ad transcript.
Ad start in episode.
Ad end in episode.
Ad duration.
Show categories.
Episode duration.
Show average rating.
Apple Podcast ID.
Product name.
Ad playback link.
Estimated episode listens; podcast rows only.
Estimated ad spend, $; podcast rows only.
Show platform.
Podscribe ID of the podcast show; on a YouTube row, the podcast it simulcasts.
Podscribe ID of the YouTube show; on a podcast row, its YouTube simulcast.
On a YouTube row, the current public view count of the video the ad ran in; null when unavailable.
Episode URL. YouTube rows link to the YouTube video, podcast rows to the episode audio file from the RSS feed; null for other platforms.
Date Podscribe first transcribed an episode of the show (YYYY-mm-DD), refreshed daily. Marks when monitoring of the show started, not continuous coverage since then.
Paging of this response and the total row count.
{limit,offset,total}
Row limit applied to this page.
Rows skipped before this page.
Total rows matching the filters, across all pages.
{ "headers": [ { "id": "published_at", "name": "published_at" } ], "data": [ { "published_at": "2025-01-15", "download_at": "2025-01-20 13:45", "network": "Wondery", "position": "mid", "read_type": "Host", "read_score": 94, "podcast_title": "Example Show", "episode_title": "Episode 123", "transcript": "Try acme.com slash pod...", "start_time": "00:10:25", "end_time": "00:10:55", "ad_length": "00:00:30", "genre": "Business,Investing", "episode_duration": "00:45:12", "podcast_rank": 4.7, "apple_podcast_id": "123456789", "product": "Premium Plan", "link": "https://...", "estimated_impressions": 45000, "estimated_spend": 1200, "media_type": "podcast", "podcast_show_id": 12345, "youtube_show_id": 67890, "youtube_video_views": 41250, "episode_url_in_feed": "https://www.youtube.com/watch?v=EQOzxvLp4qg", "show_first_transcribed_at": "2026-02-12" } ], "pagination": { "total": 3987 }}