Apple Podcasts Search + Charts API | Rankings + Watchlists avatar

Apple Podcasts Search + Charts API | Rankings + Watchlists

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Apple Podcasts Search + Charts API | Rankings + Watchlists

Apple Podcasts Search + Charts API | Rankings + Watchlists

Search Apple Podcasts, fetch official Apple chart rankings, and refresh watchlists of known show IDs for recurring market-watch workflows.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

太郎 山田

太郎 山田

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

4

Monthly active users

1 days

Issues response

13 hours ago

Last modified

Share

Track Apple podcast search visibility, official chart position, and known-show watchlists in one recurring workflow. This actor is for podcast marketers, networks, agencies, and research teams that need Apple-native discovery and recurring market-watch inputs without browser automation or proxy-heavy maintenance. Each run can return search rows, chart ranks, lookup refreshes, and lightweight monitoring hints so the first useful run stays cheap while the upgrade path stays clear for repeat competitive tracking.

Store Quickstart

  • Start with store-input.example.json for the cheapest first successful run.
  • The Store default input is intentionally kept on the search-only quickstart lane so quality checks do not depend on charts/watchlist endpoints on the very first run.
  • Then use the Apple upgrade ladder from store-input.templates.json:
    1. Quickstart (Search) — lowest-friction search-only first run
    2. Recurring Market Watch — named recurring dataset upgrade
    3. Premium Competitor Sweep — broader premium coverage across charts + watchlists
    4. Webhook Alert — routed delivery after the dataset ladder is already working
  • Focused side presets stay available when you only need one surface:
    • Top Charts (Top Shows)
    • Top Charts (Top Episodes)
    • Watchlist Refresh

Upgrade ladder

Keep the first run cheap and maintenance-safe: start with search only, confirm the keyword lane is useful, then move the buyer to Recurring Market Watch for repeat Apple rank checks. When they need broader competitor coverage, stage Premium Competitor Sweep as the premium dataset lane, and only use Webhook Alert after the dataset ladder already converts.

Best-fit buyers

  • Podcast marketers validating Apple category/search visibility before expanding tracking scope
  • Agencies running recurring competitor checks for a few shows, countries, or client watchlists
  • Networks or ops teams that want Apple-native dataset output before routing alerts into Slack, Zapier, or internal systems

What this actor does

This actor now supports three Apple-native workflows in one run:

  1. Search — keyword search through the iTunes Search API.
  2. Top charts — Apple podcast rankings through the Apple Marketing Tools charts feed.
  3. Watchlist / lookup — metadata refresh for known collection IDs through the iTunes Lookup API.

You can run any single workflow or combine them in one input. Existing searchTerm runs stay compatible.

For first success and Store/quality-test health, keep the first run search-only. Add chartRequests or lookupIds after the baseline quickstart is green.

Key features

  • 🎙️ Podcast search — search by keyword across Apple Podcasts
  • 🏆 Top charts — fetch Apple top shows or top episodes by country
  • 👀 Watchlist refresh — keep tabs on known show IDs without searching again
  • 📻 Episode extraction — optionally fetch recent episodes from RSS feeds
  • 🎨 Artwork URLs — high-resolution cover images included when available
  • 🔗 Apple-native sources — iTunes Search, iTunes Lookup, and Apple Marketing Tools only

Workflow inputs

{
"searchTerm": "technology startups",
"country": "us",
"limit": 25,
"includeEpisodes": true
}

2) Top charts

{
"chartRequests": [
{
"country": "us",
"feedType": "podcasts",
"limit": 10
}
],
"includeEpisodes": false
}

Use feedType: "podcasts" for top shows or feedType: "podcast-episodes" for top episodes.

3) Watchlist / lookup

{
"lookupIds": [1680633614, 1553736450],
"country": "us",
"includeEpisodes": false
}

Combined run

{
"searchTerm": "artificial intelligence",
"chartRequests": [
{
"country": "us",
"feedType": "podcasts",
"limit": 5
}
],
"lookupIds": [1680633614],
"includeEpisodes": false
}

Output shape

The result shape stays backward-compatible. Each result still includes the same core fields (collectionId, name, artist, feedUrl, artworkUrl, genres, trackCount, releaseDate, country, itunesUrl, contentAdvisory, episodes).

Additional machine-readable fields may appear:

  • discoverySource: search, chart, or lookup
  • rank: chart rank for chart-discovered rows
  • chartContext: the chart request that produced the result
  • lookupRequested: true for watchlist lookups
  • priorRank, currentRank, rankChange, status: recurring-monitoring deltas for chart/watchlist rows
  • priorSeenAt, trackCountDelta: lightweight monitoring hints across recurring runs
  • workflowStatus: requested/succeeded/failed workflow counts plus per-workflow status rows
  • warnings: non-fatal upstream degradation warnings for mixed runs
  • sourceFailures: machine-readable upstream failure rows when a requested workflow is skipped

When chartRequests or lookupIds are used, the actor also persists a prior snapshot in local/Apify-compatible state and adds meta.monitoring with:

  • summary.statusCounts for new, up, down, unchanged, lookup, and exited
  • topMovers for the biggest chart rank changes in the current run
  • exited for rows that were present in the prior snapshot but missing now
  • snapshotKey and snapshotStorage for schedule/debug visibility

If a chart/watchlist upstream call fails during a mixed run, the actor now returns partial success with meta.warnings / meta.sourceFailures and skips snapshot updates for that run so missing upstream data does not create false exited rows.

If the same show is found through multiple workflows, it can appear multiple times so source-specific metadata remains intact.

Proof & Production Posture

  • live-proof.example.json tracks the latest cloud canary + contract evidence for the low-cost quickstart lane.
  • sample-output.example.json shows the broader search + chart + watchlist payload buyers can expect after they upgrade beyond quickstart.
  • Current proof posture is intentionally conservative: there is fresh production proof for the cheap first run and a current payload example for the broader lane, but broader commercial traction thresholds are still being earned. Keep claims focused on field coverage, workflow fit, and low-friction repeatability.

Output example

{
"meta": {
"generatedAt": "2026-04-23T12:21:28.178Z",
"totals": {
"total": 3,
"query": "artificial intelligence",
"chartRequests": 1,
"lookupIds": 1,
"requestedWorkflows": 3,
"failedWorkflows": 0
}
},
"results": [
{
"collectionId": 1680633614,
"name": "The AI Daily Brief: Artificial Intelligence News and Analysis",
"artist": "Nathaniel Whittemore",
"feedUrl": "https://anchor.fm/s/f7cac464/podcast/rss",
"artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts211/v4/9c/78/d8/9c78d82d-a2d1-a026-6ca2-f92ea61be9ae/mza_18421328158594577747.jpg/600x600bb.jpg",
"genres": ["Technology", "Podcasts"],
"trackCount": 956,
"releaseDate": "2026-04-22T20:40:00Z",
"country": "USA",
"itunesUrl": "https://podcasts.apple.com/us/podcast/the-ai-daily-brief-artificial-intelligence-news/id1680633614?uo=4",
"contentAdvisory": "Clean",
"episodes": [],
"discoverySource": "search"
},
{
"collectionId": 1200361736,
"name": "The Daily",
"artist": "The New York Times",
"feedUrl": "https://feeds.simplecast.com/Sl5CSM3S",
"artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/ab/64/66/ab6466a9-9a7d-e20e-7a3d-bc5be37d29ce/mza_15084852813176276273.jpg/600x600bb.jpg",
"genres": ["Daily News", "Podcasts", "News"],
"trackCount": 2580,
"releaseDate": "2026-04-23T09:45:00Z",
"country": "USA",
"itunesUrl": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=4",
"contentAdvisory": "Clean",
"episodes": [],
"discoverySource": "chart",
"rank": 1,
"chartContext": {
"country": "us",
"feedType": "podcasts",
"limit": 1,
"requestIndex": 0
}
}
]
}

A current ready-to-share mixed-lane payload is available in sample-output.example.json, while live-proof.example.json records the freshest cloud quickstart proof.

Pricing & Cost Control

Apify Store pricing is usage-based, while the upstream Apple endpoints themselves are free to access. Total cost mainly follows how many search terms, chart requests, lookup IDs, and optional episode fetches you include in each run. Check the Store pricing card for the current per-event rates.

  • Keep the first run on the search-only quickstart lane (limit: 3, no charts, no watchlist).
  • Add one chart lane and one lookup ID before expanding to multi-country or multi-show sweeps.
  • Leave includeEpisodes off unless recent episode metadata materially changes the buying decision.
  • Use dryRun: true when validating webhook endpoints or new recurring watch configurations before live writes.
  • Treat webhook delivery as the final upgrade after the dataset version is already approved by the buyer.

Commercial Ops

Set up .env first:

$cp -n .env.example .env

Cloud Task/Schedule setup (idempotent):

$npm run apify:cloud:setup

Daily reliability checks:

npm run canary:check
npm run contract:test:live

OpenClaw cron commands:

  • openclaw-cron-commands.md

⭐ Was this helpful?

If this actor saved you time, please leave a ★ rating on Apify Store. It takes 10 seconds, helps other developers discover it, and keeps updates free.

Bug report or feature request? Open an issue on the Issues tab of this actor.