Skip to content

Single Campaign

GET
/api/public/campaign/{request_id}

Note: An organization-scoped API key returns a campaign only when it belongs to that key’s advertiser and publisher. A campaign outside that scope is not found. Attribution numbers the agency hid from that publisher are omitted.

Details, ads, flags, delivery and site performance of one campaign.

Example:

curl -sS -G 'https://backend.podscribe.ai/api/public/campaign/{request_id}' \
--data-urlencode 'unique_ads_only=true' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Accept: application/json'

Replace {request_id} with the campaign ID or external ID. Omit unique_ads_only (or set false) to return all ads.

Single Campaign
curl --request GET \
--url 'https://backend.podscribe.ai/api/public/campaign/example?unique_ads_only=false&include_episode_descriptions=false&include_pinned_comments=false&matched_promo_ads_only=false&include_ad_transcripts=false' \
--header 'Authorization: Bearer <token>'
request_id
required
string

Campaign ID or external ID

unique_ads_only
boolean
Default value: false

When true, returns only unique ads

include_episode_descriptions
boolean
Default value: false

When true, each ad in the response includes the source episode description

include_pinned_comments
boolean
Default value: false

When true, each ad in the response includes the pinned comment for the source episode (when available)

matched_promo_ads_only
boolean
Default value: false

When true, returns only ads whose promo matches the campaign promo (campaigns without promo keep all ads)

include_ad_transcripts
boolean
Default value: false

When true, each ad in the response includes the transcript text

OK

Media typeapplication/json
meta

The campaign details: dates, geo, expected units, promo, rate, show, publisher and advertiser.

{externalId,requestId,endDate,22 more}
externalId

The external id of the campaign.

string
requestId

The request id of the campaign.

string<uuid>
endDate

The end date of the campaign.

string<date-time>
startDate

The start date of the campaign.

string<date-time>
expectedDate

The expected date of the campaign.

string<date-time>
geo

The geo of audience for the campaign.

string
expectedLengths

The expected ad lengths for the campaign, in seconds.

Array<integer>
expectedTypes

The expected ad positions for the campaign (such as pre, mid, post), in the same order as expectedLengths.

Array<string>
promo

The discount code for the campaign.

string
category

The category of the campaign.

string
agency

The agency name

string
rate

The rate in USD for the campaign.

number
talkingPoints

The talking points for the campaign as one string, separated by ||; disallowed points start with ~.

string
expectedImpressions

The expected impressions for the campaign.

number
publisher

The series publisher.

string
advertiser

The advertiser name.

string
placementName

The placement name for the campaign.

string
prefixPlacedAt

The date and time the prefix was placed.

string<date-time>
advertiserLookupName

The advertiser lookup name.

string
seriesId

The series ID in the Podscribe platform.

number
itunesId

Itunes Id

string
youtubeSeriesId

The youtube series ID in the Podscribe platform.

number
spotifyVideoOptInDate

Spotify Video opt-in date, ISO 8601 date-time.

string<date-time> nullable
name

The campaign name.

string
isDai

Whether the campaign is DAI. false or null means baked-in.

boolean nullable
ads

The ads found for the campaign.

Array<{adId,episodeTitle,episodeId,19 more}>
adId

The ad ID in the Podscribe platform.

number
episodeTitle

The episode title.

string
episodeId

The episode ID in the Podscribe platform.

number
episodeDuration

The episode duration

number
showTitle

The series title.

string
platform

The platform the ad is placed on.

Allowed values: Podcast radio YouTube Rumble Twitter Spotify Twitch TikTok Instagram
4 moreLess
publisher

The publisher of the series.

string
transcriptionCreatedAt

The date when the episode has been downloaded and transcribed.

string<date-time>
audioFileUrl

Direct HTTPS link to the ad-clip audio file (the ad only, not the full episode). Download it with a plain GET, for example curl -O <audioFileUrl>. The download needs no API key, Authorization header or Podscribe login; the API key is needed only to call this endpoint. Empty when no clip is stored for the ad.

string
transcriptFileUrl

The URL of the transcript file for the ad.

string
startTs

The start timestamp of the ad in the episode.

number
endTs

The end timestamp of the ad in the episode.

number
episodeUrlInFeed

The URL of the episode in the feed.

string
publicLink

The public link to the ad.

string<uri>
placementNum

The placement number of the ad.

number
placementGroupNum

The placement group number of the ad.

number
placementGroupInNum

The placement group in number of the ad.

number
placementPercent

The placement percent of the ad in the episode.

number
competitors

The lookup names of the advertiser’s competitors that also advertise in the ad’s episode.

Array<string>
advertisersBefore

The other advertisers whose ads start before the campaign advertiser’s ad in the same episode.

Array<string>
advertisersAfter

The other advertisers whose ads start after the campaign advertiser’s ad in the same episode.

Array<string>
transcriptText

The full transcript text of the ad; only present when include_ad_transcripts=true is passed in the request.

string
flags

The flags raised on the campaign’s ads, one entry per ad.

Array<{adId,flags,competitors}>
adId

The ad ID in the Podscribe platform.

string
flags

The flags for the ad.

string
competitors

Competitor ads found for this ad, across all competitor flag types, one entry per competitor and episode. Empty when no competitor flag was raised. Distinct from ads[].competitors, which lists competitor lookup names on the ad itself rather than the competitor placements behind the flag.

Array<{competitor,publishedAt,transcriptionCreatedAt}>
competitor

The competitor’s advertiser display name.

string
publishedAt

Publish date of the episode the competitor ad was found in.

string<date-time> nullable
transcriptionCreatedAt

When Podscribe downloaded that competitor episode’s transcript. Distinct from ads[].transcriptionCreatedAt, which is the transcript date of the ad itself. Null for ads evaluated before this field was recorded.

string<date-time> nullable
flagsByAdId

The flag names of each ad, keyed by ad ID; returned for Baked-in campaigns only.

Record<string, Array<string>>
reporting

The downloads, views, likes, comments, reach and frequency of the campaign.

{downloadsTotal,youtubeViewsTotal,downloadsByDay,18 more}
downloadsTotal

The total number of downloads for the campaign; for Baked-in campaigns it also includes YouTube views.

number
youtubeViewsTotal

The total number of youtube views for the campaign.

number
downloadsByDay

The downloads by day for the campaign.

Array<{date,impressions}>
date

The date with the format like 2023-05-03.

string
impressions

The impressions for current day.

number
youtubeViewsByDay

The views by day for the campaign.

Array<{date,views}>
date

The date with the format like 2023-05-03.

string
views

The views for current day.

number
instagramViewsTotal

Total Instagram views for the campaign.

number
instagramViewsByDay

Instagram views by day for the campaign.

Array<{date,views}>
date

The date with the format like 2023-05-03.

string<date>
views

Instagram views for the day.

number
instagramLikesTotal

Total Instagram likes for the campaign.

number
instagramLikesByDay

Instagram likes by day for the campaign.

Array<{date,likes}>
date

The date with the format like 2023-05-03.

string<date>
likes

Instagram likes for the day.

number
instagramCommentsTotal

Total Instagram comments for the campaign.

number
instagramCommentsByDay

Instagram comments by day for the campaign.

Array<{date,comments}>
date

The date with the format like 2023-05-03.

string<date>
comments

Instagram comments for the day.

number
tiktokViewsTotal

Total TikTok views for the campaign.

number
tiktokViewsByDay

TikTok views by day for the campaign.

Array<{date,views}>
date

The date with the format like 2023-05-03.

string<date>
views

TikTok views for the day.

number
tiktokLikesTotal

Total TikTok likes for the campaign.

number
tiktokLikesByDay

TikTok likes by day for the campaign.

Array<{date,likes}>
date

The date with the format like 2023-05-03.

string<date>
likes

TikTok likes for the day.

number
tiktokCommentsTotal

Total TikTok comments for the campaign.

number
tiktokCommentsByDay

TikTok comments by day for the campaign.

Array<{date,comments}>
date

The date with the format like 2023-05-03.

string<date>
comments

TikTok comments for the day.

number
twitchViewsTotal

Total Twitch views for the campaign.

number
twitchViewsByDay

Twitch views by day for the campaign.

Array<{date,views}>
date

The date with the format like 2023-05-03.

string<date>
views

Twitch views for the day.

number
downloadsAndViewsByEpisodeByDay

Object with keys as episode ids and values as list of data by day for the episode.

{key}
key
additional properties

List of data by day for the episode.

Data by day for the episode.

Array
startDate

The start date with the format like 2023-05-03.

string
impressions

The impressions for episode of current day.

number
views

The YouTube views for episode of current day.

number
reach

The reach for the campaign.

number
frequency

The downloads frequency for the campaign.

number
performance

The site visits, visitors, signups and purchases attributed to the campaign.

{visitors,visits,signups,7 more}
visitors

The number of visitors for the campaign.

number
visits

The number of visits for the campaign.

number
signups

The number of signups for the campaign.

number
purchases

The number of purchases for the campaign.

number
leads

The number of leads for the campaign. DAI campaigns only.

number
visitorsByDate

The daily visitors for the campaign, keyed by date (YYYY-MM-DD).

Record<string, number>
visitsByDate

The daily visits for the campaign, keyed by date (YYYY-MM-DD).

Record<string, number>
signupsByDate

The daily signups for the campaign, keyed by date (YYYY-MM-DD).

Record<string, number>
purchasesByDate

The daily purchases for the campaign, keyed by date (YYYY-MM-DD).

Record<string, number>
leadsByDate

The daily leads for the campaign, keyed by date (YYYY-MM-DD). DAI campaigns only.

Record<string, number>
Response example
{
"ads": [
{
"platform": "Podcast"
}
],
"performance": {
"visitorsByDate": {
"2025-07-29": 175,
"2025-07-30": 350
},
"visitsByDate": {
"2025-07-29": 175,
"2025-07-30": 350
},
"signupsByDate": {
"2025-07-29": 175,
"2025-07-30": 350
},
"purchasesByDate": {
"2025-07-29": 175,
"2025-07-30": 350
},
"leadsByDate": {
"2025-07-29": 175,
"2025-07-30": 350
}
}
}