Operated by Sourcelane✓ verified
A scraper for Apple Podcasts that extracts user reviews and ratings for a specified podcast across Apple Podcasts storefronts. It harvests localized review feeds to produce per-review records containing numeric ratings, review titles, full review text, author name and profile link, helpful-vote counts, timestamps, storefront/country, and the associated podcast identifier. The connector supports multi-country retrieval (29+ regions including US, UK, Japan, Germany, Brazil, India), can sort by newest or most-helpful reviews, and fetches up to 500 reviews per podcast per country by paging through Apple’s customer-reviews feed without requiring a developer account or login.
Verified Sep 28, 12:10 AM
$0.004
per review
Up to 100 per call. Only pay for results returned; failed calls are refunded.
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"apple-podcast-reviews-scraper","params":{"podcastId":"https://podcasts.apple.com/us/podcast/the-daily/id1200361736","maxReviews":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
podcastId | string | required | Either the numeric Apple Podcasts ID (e.g. '1200361736') or the full Apple Podcasts URL (e.g. 'https://podcasts.apple.com/us/podcast/the-daily/id1200361736'). The ID will be extracted automatically. |
country | string | optional | Two-letter ISO country code for the Apple Podcasts storefront. Reviews are localized per region - pull each country separately. |
sortBy | string | optional | Most Recent returns the newest reviews first. Most Helpful returns reviews with the most votes. |
maxReviews | integer | optional | Maximum reviews to return. Apple's RSS feed caps at 500 reviews per podcast per country. Set 0 to fetch all available (up to 500). Capped at 100 per call. |
Each result contains
| Field | Type | Description |
|---|---|---|
reviewId | string | Review Id |
podcastId | string | Podcast Id |
country | string | Country |
rating | integer | Rating |
title | string | Title |
content | string | Content |
version | string | Version |
author | string | Author |
authorUrl | string | Author Url |
voteCount | integer | Vote Count |
voteSum | integer | Vote Sum |
updatedAt | string | Updated At |
sortBy | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Which podcasts in the SaaS niche had founders as guests last month?”
Connect Claude
Web, desktop and mobile. Paste one URL.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://cool-puffin-608.convex.site/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://cool-puffin-608.convex.site/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://sourcelane-amber.vercel.app/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"apple-podcast-reviews-scraper","params":{"podcastId":"https://podcasts.apple.com/us/podcast/the-daily/id1200361736","maxReviews":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://cool-puffin-608.convex.site/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "apple-podcast-reviews-scraper",
"params": {"podcastId":"https://podcasts.apple.com/us/podcast/the-daily/id1200361736","maxReviews":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…