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:

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

  1. Open Apple Podcasts Scraper, then the Actor on the Apify Store.
  2. Run once with delivery left on dataset and a small source input (search, charts, or lookup IDs). Review the payload.
  3. Set delivery to webhook and fill webhookUrl (Slack, Discord, Zapier, or any HTTP endpoint).
  4. Set dryRun true to test without saving results or sending webhooks. When the setup is ready, set dryRun false.

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