Apple Podcasts webhooks
Deliver Apple Podcasts results with webhooks
Apple Podcasts Scraper can write rows to the default dataset or send them to an HTTP webhook. Official Apple/iTunes endpoints. No proxy is required. Start with dataset delivery so you can review the payload, then switch to webhook after that shape is approved.
Open Apple Podcasts Scraper on Apify
Dataset first, then webhook
Use this guide for Apple Podcasts Scraper delivery. Sibling actors also expose webhook delivery; their contracts differ. See Apple Podcasts Chart Scraper and Apple Podcasts Reviews Scraper for those landings’ FAQ answers. Do not copy one Actor’s webhook rules onto another.
| Apple Podcasts Scraper | Chart Scraper (landing) | Reviews Scraper (landing) | |
|---|---|---|---|
| Default | dataset |
dataset |
dataset |
| Webhook | Send to webhookUrl after you approve the payload |
Webhook first, then dataset; non-2xx fails before dataset write | Runtime envelope to webhook; canonical rows still go to the dataset |
dryRun |
No save, no webhook | No dataset, webhook, charge, or state delivery | No external write |
Facts in the Chart and Reviews columns come from those landings. This page does not invent additional webhook headers or retry behavior.
Delivery modes
delivery is how results are delivered. Published values:
dataset— default. Reviewable output in the Actor’s default dataset.webhook— send results towebhookUrlafter you approve the payload shape.
webhookUrl is the URL used when delivery is webhook. The published input describes it as working with Slack, Discord, Zapier, or any HTTP endpoint. The schema does not document HTTP method, headers, retries, or the exact JSON body beyond the Actor’s output rows.
You still need at least one of searchTerm, chartRequests, or lookupIds. Webhook delivery is not a substitute for a source lane. See documented dataset fields for showName, collectionId, rank, sourceUrl, and fetchedAt.
dryRun notes
dryRun defaults to false. If true, the run does not save results and does not send webhooks. The published description is that this is useful for testing a new watch setup or validating a webhook endpoint before going live.
The default dataset is the billable surface. Dry runs, validation-only runs, missing-key warnings, and unchanged recurring polls should not write payable default-dataset rows. Empty no-change watchlist runs are described as avoiding dataset writes. Use dryRun on a watchlist or webhook setup before a live schedule.
Webhook input
Set delivery to webhook, provide webhookUrl, and keep dryRun true until the endpoint is validated. The example below reuses the published search quickstart and adds the delivery fields from the input schema. Replace the URL with your own endpoint.
{
"searchTerm": "technology",
"country": "us",
"limit": 3,
"includeEpisodes": false,
"delivery": "webhook",
"webhookUrl": "https://example.com/webhook",
"dryRun": true
}
After a dry run succeeds, set dryRun to false to send. Leave includeEpisodes false unless episode context is required; that path is slower.
Configure webhook delivery on Apify
Does webhook delivery replace the Apple Podcasts Scraper dataset?
The published input describes delivery as dataset (default, reviewable output) or webhook (send results to webhookUrl after you approve the payload shape). Start with dataset delivery so you can review the payload, then switch to webhook after that shape is approved. The schema does not document HTTP method, headers, retries, or the exact JSON body beyond the Actor’s output rows.
What does dryRun do?
dryRun defaults to false. If true, the run does not save results and does not send webhooks. The published description is that this is useful for testing a new watch setup or validating a webhook endpoint before going live. Dry runs, validation-only runs, missing-key warnings, and unchanged recurring polls should not write payable default-dataset rows.
What endpoints work with webhookUrl?
The published input describes webhookUrl as working with Slack, Discord, Zapier, or any HTTP endpoint. You still need at least one of searchTerm, chartRequests, or lookupIds. Webhook delivery is not a substitute for a source lane.
How do Chart Scraper and Reviews Scraper webhooks differ?
On Apple Podcasts Chart Scraper, webhook sends the same payload to webhookUrl first, then writes those billable rows to the default dataset; a non-2xx webhook response fails the run before dataset delivery. On Reviews Scraper, webhook sends the complete runtime envelope to webhookUrl and still sends only the canonical rows to the default dataset. This guide documents Apple Podcasts Scraper delivery only; see those landings for their contracts.
What fields will a webhook payload contain?
Documented dataset fields include showName, collectionId, rank, sourceUrl, and fetchedAt, plus rowType, publisher, country, and episodeTitle when recent episodes are included. Review the default dataset before switching delivery to webhook.
Can I set delivery to webhook without a source lane?
No. You still need at least one of searchTerm, chartRequests, or lookupIds. Webhook delivery is not a substitute for a source lane.
Should I copy Chart Scraper’s webhook-first rule onto this Actor?
No. Sibling actors also expose webhook delivery; their contracts differ. This guide documents Apple Podcasts Scraper delivery only. Do not copy one Actor’s webhook rules onto another.
Does the schema document webhook headers or retries?
No. The schema does not document HTTP method, headers, retries, or the exact JSON body beyond the Actor’s output rows. Start with dataset delivery so you can review the payload, then switch to webhook after that shape is approved.
How is webhook delivery priced versus dataset delivery?
Billing is pay-per-event. The live Store card is from $2.50 / 1,000 results. Published events are Actor Start at $0.005 and result at $0.0025 per default-dataset item ($2.50 per 1,000). This page does not document a separate webhook event. The default dataset is the billable surface.
Does dryRun avoid Actor Start?
Dry runs do not save results or send webhooks. Actor Start is a separate $0.005 event charged when the Actor starts. This page does not document that dryRun skips Actor Start. Use dryRun to test without dataset writes or webhooks.
How to run it
- Open Apple Podcasts Scraper, then the Actor on the Apify Store.
- Run once with
deliveryleft ondatasetand a small source input (search, charts, or lookup IDs). Review the payload. - Set
deliverytowebhookand fillwebhookUrl(Slack, Discord, Zapier, or any HTTP endpoint). - Set
dryRuntrue to test without saving results or sending webhooks. When the setup is ready, setdryRunfalse.
Billing is pay-per-event: Actor start plus one result event per default-dataset item. The published Store price is $0.005 per Actor start and $2.50 per 1,000 dataset results ($0.0025 per row).
From $2.50 per 1,000 results
Open Apple Podcasts Scraper on Apify
Related guides
- Apple Podcasts Scraper — iTunes search, episodes, and watchlists
- iTunes podcast scraper: cheapest Apple Podcasts first paid run
- Apple Podcasts Chart Scraper
- Apple Podcasts Reviews Scraper
- Apple Podcasts dataset fields
- Apple Podcasts search discovery (iTunes Search API)
- Refresh Apple Podcasts watchlists (iTunes Lookup API)
- How to get Apple Podcasts chart metadata from Apple/iTunes endpoints
- Apple Podcasts charts and iTunes Search by country
- Export Apple Podcasts episode metadata via Apple/iTunes endpoints
- Apple Podcasts Scraper FAQ
- Track Apple Podcasts charts over time
- Shortlist podcasts for outreach
- One-time export vs iTunes watchlist lookup
- RSS vs Apple Podcasts Scraper
- Tools