# Rephonic Podcast API Reference Comprehensive podcast data API with search, metadata, full transcripts, listener demographics, audience intelligence, and contact information for 3m+ podcasts. We also provide this as an MCP server at `https://mcp.rephonic.com`. ## Authentication All endpoints require the `X-Rephonic-Api-Key` header containing your API key (found on your account page at rephonic.com/account). You will need an Rephonic API subscription (see rephonic.com/developers). **Base URL:** `https://api.rephonic.com` ## Error Responses All error responses return a JSON object with an `error` key: ```json {"error": "Human-readable error message"} ``` HTTP status codes follow standard REST conventions (400 for bad requests, 401 for authentication errors, 429 for rate limiting, etc.). --- ## Endpoints ### Search Podcasts ``` GET /api/search/podcasts/ ``` Search for podcasts by topic, title, or publisher with advanced filters. Returns estimated listeners per episode in the `downloads_per_episode` field and estimated weekly listeners in `est_weekly_downloads`. Specify either `query` or `filters` or both. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | query | Search query. Supports parentheses for grouping, quotes for exact match, AND, OR and -negation. | | | | mode | One of `topics`, `titles`, or `publishers`. | topics | | | per_page | Number of results per page. Maximum 100. | 50 | | | page | Page number, starts at 1. | 1 | | | filters | Advanced search filters (see Search Filters section below). | | | **Example response:** ```json { "page": 1, "total_reach": 540883624, "more": true, "count": 10000, "per_page": 50, "spelling_suggestion": null, "exact_matches": null, "podcasts": [ { "id": "dan-carlins-hardcore-history", "publisher": { "id": "dan-carlin", "name": "Dan Carlin" }, "founded": "2006-07-27T00:00:00Z", "added": "2020-01-28T09:54:15.184Z", "name": "Dan Carlin's Hardcore History", "short_name": "Dan Carlin's Hardcore History", "description": "In Hardcore History journalist and broadcaster Dan Carlin takes his unorthodox way of thinking and applies it to the past.", "summary": null, "artwork_url": "https://img.rephonic.com/artwork/dan-carlins-hardcore-history.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/dan-carlins-hardcore-history.jpg?width=70&height=70&quality=95", "web_url": "http://www.dancarlin.com", "feed_url": "https://feeds.feedburner.com/dancarlin/history?format=xml", "itunes_id": 173001861, "language": "en", "sponsored": false, "cross_promos": { "accepts_cross_promos": false }, "guests": { "accepts_guests": false }, "branded": false, "spotify_followers": 1400000, "estimated_ad_cost": { "min_cpm": 1800, "min_cost": 25000000, "max_cpm": 2500, "max_cost": 35000000 }, "active": true, "deleted": false, "genres": ["History"], "num_episodes": 16, "num_ratings": 110461, "email": "contact@example.com", "frequency": "infrequently", "social_reach": 437787, "engagement": 85, "identifiers": { "itunes": 173001861, "apple": 173001861, "spotify": "72qiPaoDRf8HkGKEChvG5q", "castbox": 3624, "podchaser": 33310, "tpa": 19, "podaddict": 4096, "playerfm": 2483, "tunein": "p1147487", "podbean": "dir192322,2pxby", "audible": "B08JJP95KL", "podrepublic": 173001861, "goodpods": 173001861 }, "publishing_model": { "apple": null }, "verified": false, "est_weekly_downloads": 465199, "downloads_per_episode": 13931851 } ] } ``` --- ### Search Episodes ``` GET /api/search/episodes/ ``` Search for episodes. Matches against episode titles, show notes, and full transcripts. Specify either `query` or `filters` or both. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | query | Search query. Supports parentheses, quotes, AND, OR and -negation. Matches titles, show notes, and transcripts. | | | | per_page | Number of results per page. Maximum 100. | 50 | | | page | Page number, starts at 1. | 1 | | | filters | Advanced search filters (see Search Filters section below). | | | | highlight | If `true`, query matches in title, show notes and transcript are returned in a `highlight` field with HTML `` tags. | false | | | podcast_id | Optionally scope results to a single podcast. Use an `id` value returned by the search endpoint (e.g. `the-daily`). | | | | threshold | Only return episodes published within the last N seconds. Maximum value is `1209600` (14 days). Useful for monitoring recent mentions of a topic. | | | **Example response:** ```json { "page": 1, "more": true, "count": 10000, "per_page": 3, "spelling_suggestion": null, "episodes": [ { "id": "tgypv-delayed-premiere-ness-flesh-of-the-gods-dino", "title": "PREMIERE: Ness - Flesh Of The Gods (Dino Sabatini Remix) [Navigare Audio]", "published": "2025-01-29T08:28:35.384Z", "audio_url": "https://feeds.soundcloud.com/stream/1978009943.mp3", "guid": "tag:soundcloud,2010:tracks/1978009943", "itunes_id": null, "duration": 453, "transcribed": false, "type": null, "evergreen": null, "branded": null, "political_leaning": null, "summary": null, "notes": "After two years of anticipation, the wait is over...", "podcast": { "id": "fiction-lab", "name": "Delayed", "itunes_id": 1441342580, "publisher": { "id": "delayed", "name": "Delayed" }, "genres": ["Music"], "artwork_url": "https://img.rephonic.com/artwork/fiction-lab.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/fiction-lab.jpg?width=70&height=70&quality=95", "active": true, "sponsored": false, "guests": { "accepts_guests": true }, "est_weekly_downloads": 151, "downloads_per_episode": 46 }, "highlight": null } ] } ``` --- ### Autocomplete ``` GET /api/search/autocomplete/ ``` Returns suggested keywords relevant to the given mode and matching podcasts. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | mode | One of `topics`, `titles`, `publishers`, or `episodes`. | | Yes | | query | Search query. | | Yes | **Example response:** ```json { "suggestions": [ "marketing", "digital marketing", "marketing strategies", "online marketing", "media marketing", "content marketing", "social media marketing", "marketing tips", "business marketing", "marketing agency" ], "podcasts": [ { "id": "social-media-marketing-podcast", "name": "Social Media Marketing Podcast", "publisher": "Michael Stelzner, Social Media Examiner", "artwork_url": "https://img.rephonic.com/artwork/social-media-marketing-podcast.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/social-media-marketing-podcast.jpg?width=70&height=70&quality=95" } ] } ``` --- ### Get Podcast ``` GET /api/podcasts// ``` Look up an individual podcast's metadata, rankings, and latest episodes. Use an `id` value returned by the podcast search endpoint (e.g. `huberman-lab`). **Example response:** ```json { "podcast": { "id": "huberman-lab", "publisher": { "id": "scicomm-media", "name": "Scicomm Media" }, "founded": "2020-12-21T00:00:00Z", "added": "2020-12-23T03:22:16.476Z", "name": "Huberman Lab", "short_name": "Huberman Lab", "description": "The Huberman Lab podcast is hosted by Andrew Huberman, Ph.D...", "summary": "This podcast engages listeners through a thoughtful exploration of neuroscience...", "artwork_url": "https://img.rephonic.com/artwork/huberman-lab.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/huberman-lab.jpg?width=70&height=70&quality=95", "web_url": "https://www.hubermanlab.com", "feed_url": "https://feeds.megaphone.fm/hubermanlab", "itunes_id": 1545953110, "language": "en", "sponsored": true, "cross_promos": { "accepts_cross_promos": false }, "guests": { "accepts_guests": true }, "branded": false, "spotify_followers": 3700000, "estimated_ad_cost": { "min_cpm": 1800, "min_cost": 3000000, "max_cpm": 2500, "max_cost": 4000000 }, "active": true, "deleted": false, "genres": ["Life Sciences", "Science", "Health & Fitness"], "num_episodes": 268, "num_ratings": 163756, "email": "contact@example.com", "frequency": "twiceweekly", "social_reach": 11015653, "engagement": 90, "identifiers": { "itunes": 1545953110, "apple": 1545953110, "spotify": "79CkJF3UJTHFV8Dse3Oy0P", "castbox": 4758848, "podchaser": 1576373, "tpa": 1827966, "podaddict": 3795736, "playerfm": 2849974, "tunein": "p1608844", "podbean": "dir1587013,8d9kj", "audible": "B08K4RXYSR", "podrepublic": 1545953110, "goodpods": 1545953110 }, "publishing_model": { "apple": null }, "verified": false, "est_weekly_downloads": 2679678, "downloads_per_episode": 1793629, "rankings": [ { "platform": "youtube", "timestamp": "2025-01-27T00:00:00Z", "rank": 15, "country": { "name": "United States", "id": "us", "slug": "united-states" }, "category": "Popular Podcasts", "category_slug": "popular-podcasts" }, { "platform": "spotify", "timestamp": "2025-01-27T00:00:00Z", "rank": 21, "country": { "name": "United States", "id": "us", "slug": "united-states" }, "category": "Top Podcasts", "category_slug": null } ], "subscribers": { "castbox": 480253, "tpa": 27731, "tunein": 8601, "podbean": 49364, "podaddict": 50300, "playerfm": 7176, "podrepublic": 11613 }, "latest_episode": { "id": "ei49o-huberman-lab-essentials-how-foods-nutrients", "title": "Essentials: How Foods & Nutrients Control Our Moods", "published": "2025-01-23T09:00:00Z", "audio_url": "https://pdst.fm/e/traffic.megaphone.fm/SCIM4673722562.mp3", "guid": "1a1cb9c4-d91c-11ef-8ff0-cf14529548ad", "itunes_id": null, "duration": 2233, "transcribed": false, "type": null, "evergreen": null, "branded": null, "political_leaning": null, "summary": null, "notes": "In this Huberman Lab Essentials episode, I explain how the different nutrients and foods we eat impact our emotions...", "youtube_videos": [], "guests": [], "sponsors": [], "topics": [] }, "topics": [ {"name": "Sleep", "type": "concept", "weight": 1}, {"name": "Mental Health", "type": "concept", "weight": 0.96}, {"name": "Nutrition", "type": "concept", "weight": 0.82}, {"name": "Neuroscience", "type": "academic_field", "weight": 0.61}, {"name": "Exercise", "type": "concept", "weight": 0.52} ], "political_leaning": null, "youtube": { "channel": { "id": "UC2D2CMWXMOVWx7giW1n3LIg", "url": "https://www.youtube.com/channel/UC2D2CMWXMOVWx7giW1n3LIg", "name": "Andrew Huberman", "handle": "hubermanlab", "num_videos": 305, "num_subscribers": 6500000, "num_views": 400394421, "founded": "2013-04-21", "thumbnail_url": "https://yt3.googleusercontent.com/..." }, "playlist": { "id": "PLPNW_gerXa4Pc8S2qoUQc5e8Ir97RLuVW", "name": "Huberman Lab", "description": "Full episodes from the Huberman Lab podcast.", "num_videos": 178, "videos": [] } }, "similar": [ { "id": "the-peter-attia-drive", "name": "The Peter Attia Drive", "itunes_id": 1400828889, "publisher": { "id": "peter-attia-md", "name": "Peter Attia, MD" }, "genres": ["Medicine", "Health & Fitness", "Fitness"], "artwork_url": "https://img.rephonic.com/artwork/the-peter-attia-drive.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/the-peter-attia-drive.jpg?width=70&height=70&quality=95", "active": true, "sponsored": false, "guests": { "accepts_guests": true }, "est_weekly_downloads": 260982, "downloads_per_episode": 260982, "position": 1 } ] } } ``` --- ### Podcast People (Hosts & Guests) ``` GET /api/podcasts//people/ ``` Returns information about the hosts and guests of a podcast. For hosts: name, description, affiliation. For guests: overall profile and list of recent guests with name, description, affiliation, industry, and purpose of appearance. Each person may include `contacts` (emails and contact pages) and `social_accounts` (social media profiles). Data is automatically extracted from episode transcripts and there may be occasional inaccuracies. **Example response:** ```json { "people": { "hosts": { "list": [ { "name": "Andrew Huberman", "description": "A neuroscientist and tenured professor at Stanford University specializing in neurobiology...", "affiliation": "Stanford School of Medicine", "contacts": [ { "medium": "page", "value": "http://hubermanlab.com" } ], "social_accounts": [ { "channel": "twitter", "identifier": "hubermanlab", "url": "https://x.com/hubermanlab" }, { "channel": "instagram", "identifier": "andrewhuberman", "url": "https://instagram.com/andrewhuberman" } ] } ] }, "guests": { "accepts_guests": true, "profile": "Guests on this show typically include influential figures from various realms within science...", "list": [ { "name": "Brian Keating", "description": "Professor of cosmology at the University of California, San Diego", "affiliation": "University of California, San Diego", "industry": "Academia", "purpose": null, "alignment": null, "contacts": [], "social_accounts": [], "episode": { "id": "kzaca-huberman-lab-dr-brian-keating-charting-the-a", "title": "Dr. Brian Keating: Charting the Architecture of the Universe & Human Life", "published": "2025-01-20T09:00:00Z" } }, { "name": "Jordan Peterson", "description": "Psychologist, author, and influential public intellectual", "affiliation": "Author of We Who Wrestle With God", "industry": "Psychology", "purpose": "Discussing his latest book and sharing insights on human psychology and decision-making.", "alignment": "As a leading figure in psychology, his insights on neuroscience and personality are particularly valuable to this audience.", "contacts": [], "social_accounts": [], "episode": { "id": "f8wdi-huberman-lab-dr-jordan-peterson-how-to-best", "title": "Dr. Jordan Peterson: How to Best Guide Your Life Decisions & Path", "published": "2024-12-30T09:00:00Z" } } ] } } } ``` --- ### Podcast Demographics ``` GET /api/podcasts//demographics/ ``` Returns estimated demographic information about a podcast's listeners including age groups, education levels, professions, interests, household income ranges, and country-level geographic distribution. Also includes an overall listener profile summary. **Example response:** ```json { "demographics": { "profile": "The typical listener is likely someone with a vested interest in health, science, and personal development...", "locations": { "countries": [ {"name": "United States", "id": "us", "slug": "united-states", "weight": 0.67}, {"name": "Canada", "id": "ca", "slug": "canada", "weight": 0.12}, {"name": "United Kingdom", "id": "gb", "slug": "united-kingdom", "weight": 0.07}, {"name": "Australia", "id": "au", "slug": "australia", "weight": 0.06}, {"name": "Germany", "id": "de", "slug": "germany", "weight": 0.05} ] }, "age_groups": { "items": [ {"name": "25_34", "probability": 0.25}, {"name": "35_44", "probability": 0.3}, {"name": "45_54", "probability": 0.2}, {"name": "55_64", "probability": 0.15}, {"name": "65_plus", "probability": 0.1} ], "explanation": "The emphasis on scientific topics and practical health advice likely attracts a more mature audience..." }, "relationship_statuses": { "items": [ {"name": "single", "probability": 0.3}, {"name": "relationship", "probability": 0.4}, {"name": "married", "probability": 0.3} ], "explanation": "..." }, "education_levels": { "items": [ {"name": "bachelors_degree", "probability": 0.25}, {"name": "masters_degree", "probability": 0.35}, {"name": "advanced_degree", "probability": 0.3}, {"name": "high_school", "probability": 0.1} ], "explanation": "..." }, "professions": { "items": [ {"name": "Educator", "probability": 0.15}, {"name": "Healthcare Professional", "probability": 0.2}, {"name": "Fitness Trainer", "probability": 0.2}, {"name": "Corporate Professional", "probability": 0.25}, {"name": "Research Scientist", "probability": 0.2} ], "explanation": "..." }, "interests": { "items": [ {"name": "Personal Development", "probability": 0.25}, {"name": "Health and Wellness", "probability": 0.2}, {"name": "Neuroscience", "probability": 0.25}, {"name": "Physical Fitness", "probability": 0.15}, {"name": "Scientific Research", "probability": 0.15} ], "explanation": "..." }, "household_incomes": { "lower": 70000, "upper": 150000, "explanation": "..." }, "parents": { "probability": 0.4, "explanation": "..." }, "genders": { "skew": 0.5, "explanation": "This is our best guess based on publicly available data points." } } } ``` --- ### Podcast Promotions (Sponsors & Ads) ``` GET /api/podcasts//promotions/ ``` Returns sponsors and cross-promotions from a podcast's episodes. May include product/service details, full ad read text, call to action, URLs mentioned, and promo codes. Data is automatically extracted from episode transcripts and there may be occasional inaccuracies. **Example response:** ```json { "promotions": { "sponsors": { "list": [ { "name": "Wealthfront", "description": "An investment and savings app", "product_or_service": "Savings and investing services", "timestamp": 684720, "ad_text": "I've been using Wealthfront for my savings and my investing for nearly a decade...", "url": "https://wealthfront.com/huberman", "promo_code": "$50 bonus", "call_to_action": "Visit the website", "host_read": true, "episode": { "id": "5irs0-huberman-lab-dr-becky-kennedy-overcoming-gui", "title": "Dr. Becky Kennedy: Overcoming Guilt & Building Tenacity in Kids & Adults", "published": "2025-01-13T09:00:00Z" } } ] }, "cross_promos": { "accepts_cross_promos": false, "list": [ { "name": "Perform with Dr. Andy Galpin", "description": "Dives into topics like muscle building, cardiovascular health, and optimizing recovery.", "timestamp": 3225440, "episode": { "id": "41ge3-huberman-lab-dr-peter-attia-supplements-for", "title": "Dr. Peter Attia: Supplements for Longevity & Their Efficacy", "published": "2024-07-29T08:00:00Z" } } ] } } } ``` --- ### List Episodes ``` GET /api/episodes/ ``` Returns every episode for a given podcast in chronological order, including YouTube videos if found. Note that `audio_url` may be `null` if the episode audio is hosted directly by Apple Podcasts — in those cases `itunes_id` will be set. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | podcast_id | Podcast ID from search endpoint (e.g. `the-daily`). | | Yes | | query | Filter episodes by search query. Matches titles, show notes, and transcripts. Supports parentheses, quotes, AND, OR and -negation. | | | | per_page | Number of results per page. Maximum 25. | 25 | | | page | Page number, starts at 1. | 1 | | **Example response:** ```json { "page": 1, "per_page": 25, "total_count": 273, "episodes": [ { "id": "kzaca-huberman-lab-dr-brian-keating-charting-the-a", "title": "Dr. Brian Keating: Charting the Architecture of the Universe & Human Life", "published": "2025-01-20T09:00:00Z", "audio_url": "https://pdst.fm/e/traffic.megaphone.fm/SCIM7184460321.mp3", "guid": "7ade92aa-d6e7-11ef-ac7f-bf0f4e153b94", "itunes_id": null, "duration": 11257, "transcribed": true, "type": "discussion", "evergreen": true, "branded": false, "political_leaning": null, "summary": "A discussion about cosmology and the nature of the universe...", "notes": "In this episode, my guest is Dr. Brian Keating, Ph.D...", "youtube_videos": [ { "id": "3-ukCGQJk2c", "title": "Dr. Brian Keating: Charting the Architecture of the Universe & Human Life", "num_views": 82000, "duration": 9562, "thumbnail_url": "https://i.ytimg.com/vi/3-ukCGQJk2c/hqdefault.jpg", "url": "https://www.youtube.com/watch?v=3-ukCGQJk2c", "episode": null } ], "guests": [ { "name": "Brian Keating", "description": "Professor of cosmology at the University of California, San Diego", "affiliation": "University of California, San Diego", "industry": "Academia", "purpose": null, "alignment": null, "contacts": [], "social_accounts": [] } ], "sponsors": [ { "name": "BetterHelp", "description": "Online therapy service", "product_or_service": "Professional therapy with a licensed therapist carried out entirely online.", "timestamp": null, "ad_text": "If you would like to try BetterHelp, go to betterhelp.com/huberman to get 10% off your first month.", "url": "http://betterhelp.com/huberman", "promo_code": null, "call_to_action": "Get 10% off your first month.", "host_read": null } ], "topics": [ {"name": "Cosmology", "type": "concept", "weight": 0.2}, {"name": "Origins Of the Universe", "type": "concept", "weight": 0.1}, {"name": "Astronomy", "type": "concept", "weight": 0.1} ] } ] } ``` --- ### Get Episode ``` GET /api/episodes// ``` Look up metadata for an individual episode. Use an `id` value returned by the episode search endpoint. Some data (topics, locations, guests, memorable moments, etc.) is automatically extracted from the transcript and may have occasional inaccuracies. **Example response:** ```json { "episode": { "id": "kzaca-huberman-lab-dr-brian-keating-charting-the-a", "title": "Dr. Brian Keating: Charting the Architecture of the Universe & Human Life", "published": "2025-01-20T09:00:00Z", "audio_url": "https://pdst.fm/e/traffic.megaphone.fm/SCIM7184460321.mp3", "guid": "7ade92aa-d6e7-11ef-ac7f-bf0f4e153b94", "itunes_id": null, "duration": 11257, "transcribed": true, "type": "discussion", "evergreen": true, "branded": false, "political_leaning": null, "summary": "A discussion about cosmology and the nature of the universe...", "notes": "In this episode, my guest is Dr. Brian Keating, Ph.D...", "youtube_videos": [ { "id": "3-ukCGQJk2c", "title": "Dr. Brian Keating: Charting the Architecture of the Universe & Human Life", "num_views": 82000, "duration": 9562, "thumbnail_url": "https://i.ytimg.com/vi/3-ukCGQJk2c/hqdefault.jpg", "url": "https://www.youtube.com/watch?v=3-ukCGQJk2c", "episode": null } ], "guests": [ { "name": "Brian Keating", "description": "Professor of cosmology at the University of California, San Diego", "affiliation": "University of California, San Diego", "industry": "Academia", "purpose": null, "alignment": null, "contacts": [], "social_accounts": [] } ], "sponsors": [ { "name": "BetterHelp", "description": "Online therapy service", "product_or_service": "Professional therapy with a licensed therapist carried out entirely online.", "timestamp": null, "ad_text": "If you would like to try BetterHelp, go to betterhelp.com/huberman...", "url": "http://betterhelp.com/huberman", "promo_code": null, "call_to_action": "Get 10% off your first month.", "host_read": null } ], "topics": [ {"name": "Cosmology", "type": "concept", "weight": 0.2}, {"name": "Origins Of the Universe", "type": "concept", "weight": 0.1} ], "hosts": [ { "name": "Andrew Huberman", "description": "Professor of neurobiology and ophthalmology at Stanford School of Medicine", "affiliation": "Stanford School of Medicine", "contacts": [], "social_accounts": [] } ], "credits": [ { "name": "Joe Bloggs", "description": "Editor", "affiliation": "Scicomm Media" } ], "cross_promos": [], "key_moments": [ { "text": "Science is indeed a human endeavor, and much of what we understand about ourselves and the entire universe is filtered through that humanness.", "timestamp": 64760 }, { "text": "Astronomy is not only the oldest of all sciences, it's the most visceral one, so connects us.", "timestamp": 231540 } ], "questions": [ { "question": "What is the basis for the green flash?", "answer": "The green flash occurs due to atmospheric conditions that favor scattering of shorter wavelengths of light...", "timestamp": 8151280 }, { "question": "Is there a real possibility of life on other planets?", "answer": "Currently, there is no evidence of life elsewhere...", "timestamp": 10122580 } ], "tone": ["conversational", "informative", "inquisitive"], "locations": [ {"name": "Antarctica"}, {"name": "San Diego, California, United States"}, {"name": "Stanford, California, United States"} ], "safety_tags": ["debated_sensitive_social_issue"], "podcast": { "id": "huberman-lab", "publisher": { "id": "scicomm-media", "name": "Scicomm Media" }, "founded": "2020-12-21T00:00:00Z", "added": "2020-12-23T03:22:16.476Z", "name": "Huberman Lab", "short_name": "Huberman Lab", "description": "The Huberman Lab podcast is hosted by Andrew Huberman, Ph.D...", "summary": "This podcast engages listeners through a thoughtful exploration of neuroscience...", "artwork_url": "https://img.rephonic.com/artwork/huberman-lab.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/huberman-lab.jpg?width=70&height=70&quality=95", "web_url": "https://www.hubermanlab.com", "feed_url": "https://feeds.megaphone.fm/hubermanlab", "itunes_id": 1545953110, "language": "en", "sponsored": true, "cross_promos": {"accepts_cross_promos": false}, "guests": {"accepts_guests": true}, "branded": false, "spotify_followers": 3700000, "estimated_ad_cost": { "min_cpm": 1800, "min_cost": 3000000, "max_cpm": 2500, "max_cost": 4000000 }, "active": true, "deleted": false, "genres": ["Life Sciences", "Science", "Health & Fitness"], "num_episodes": 269, "num_ratings": 163756, "email": "contact@example.com", "frequency": "twiceweekly", "social_reach": 11015653, "engagement": 90, "identifiers": { "itunes": 1545953110, "apple": 1545953110, "spotify": "79CkJF3UJTHFV8Dse3Oy0P" }, "publishing_model": {"apple": null}, "verified": false, "est_weekly_downloads": 2679678, "downloads_per_episode": 1793629 } } } ``` --- ### Episode Transcript ``` GET /api/episodes//transcript/ ``` Get the full transcript for an individual episode. Transcripts are not available for all episodes. The response may include a mapping of speaker IDs to speaker names when detected. **Example response:** ```json { "transcript": { "speakers": { "1": "Andrew Huberman", "2": "Dr. Stuart McGill" }, "segments": [ { "speaker": 1, "start": 300, "end": 5660, "text": "Welcome to the Huberman Lab Podcast, where we discuss science and science-based tools for everyday life." }, { "speaker": 1, "start": 9420, "end": 17820, "text": "I'm Andrew Huberman, and I'm a professor of neurobiology and ophthalmology at Stanford School of Medicine. My guest today is Dr. Stuart McGill." }, { "speaker": 2, "start": 72520, "end": 86020, "text": "Hi Andrew." } ] }, "episode": { "id": "9jq9c-huberman-lab-dr-stuart-mcgill-build-a-strong", "title": "Dr. Stuart McGill: Build a Strong, Pain-Proof Back", "published": "2024-07-15T08:00:00Z", "audio_url": "https://www.podtrac.com/pts/redirect.mp3/pdst.fm/...", "guid": "b97dc99c-425c-11ef-841c-83023d1564cf", "itunes_id": null, "duration": 10335, "transcribed": true, "notes": "In this episode, my guest is Dr. Stuart McGill, Ph.D...", "podcast": { "id": "huberman-lab", "name": "Huberman Lab", "itunes_id": 1545953110, "publisher": { "id": "scicomm-media", "name": "Scicomm Media" }, "genres": ["Life Sciences", "Science", "Health & Fitness"], "artwork_url": "https://img.rephonic.com/artwork/huberman-lab.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/huberman-lab.jpg?width=70&height=70&quality=95", "active": true, "sponsored": false } } } ``` --- ### Contacts ``` GET /api/contacts/ ``` Returns email contacts, contact pages, and social media accounts for a podcast. Each email contact includes `concierge` (boolean, manually verified by Rephonic team), `warning` (boolean, likely invalid address), and `upvotes`/`downvotes` quality scores from Rephonic users. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | podcast_id | Podcast ID from search endpoint. | | Yes | **Example response:** ```json { "contacts": { "email": [ { "full_name": "Joe Bloggs", "email": "xyz@example.com", "category": "Host", "concierge": true, "warning": false, "upvotes": 1, "downvotes": 0 }, { "full_name": null, "email": "abc@example.com", "category": "Sponsorships", "concierge": false, "warning": false, "upvotes": 0, "downvotes": 0 } ], "page": [ { "url": "http://example.com/contact-us", "concierge": true } ], "social": [ { "channel": "twitter", "identifier": "example_person", "url": "https://x.com/example_person", "added": "2022-08-24T08:42:05.616Z" } ] } } ``` --- ### Social Accounts ``` GET /api/social/accounts/ ``` Returns social media accounts linked to a podcast. Possible channels: `instagram`, `facebook`, `twitter` (X), `patreon`, `soundcloud`, `pinterest`, `linkedin_profile`, `linkedin_group`, `clubhouse_club`, `tiktok`. Possible metrics per channel: `followers`, `engagement`, `posts`, `likes`, `patrons`, `pledges`. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | podcast_id | Podcast ID from search endpoint. | | Yes | **Example response:** ```json { "accounts": [ { "channel": "facebook", "identifier": "stevencrowderofficial", "url": "https://facebook.com/stevencrowderofficial", "added": "2020-08-24T09:48:56.630Z", "metrics": { "followers": 3100000 } }, { "channel": "twitter", "identifier": "scrowder", "url": "https://x.com/scrowder", "added": "2020-08-24T09:48:56.652Z", "metrics": { "engagement": 82, "followers": 1171614 } }, { "channel": "instagram", "identifier": "louderwithcrowder", "url": "https://instagram.com/louderwithcrowder", "added": "2020-08-24T09:48:56.661Z", "metrics": { "engagement": 94, "followers": 883825 } } ] } ``` --- ### Feedback (Ratings) ``` GET /api/feedback/ ``` Returns overall rating, total ratings/reviews count across various apps, and AI-generated summary insights of listener reviews. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | podcast_id | Podcast ID from search endpoint. | | Yes | **Example response:** ```json { "insights": [ "Overall, feedback reflects a dedicated audience that values rigorous yet approachable science-based discussions.", "Listeners commend the host's delivery and enthusiasm, noting that it enhances the educational experience.", "The conversational style is often praised for being engaging and informative." ], "feedback": [ { "app": "apple", "rating": 4.82, "ratings": 42641, "reviews": 3726, "stored_reviews": 3123 }, { "app": "spotify", "rating": 4.93, "ratings": 121082, "reviews": null }, { "app": "podchaser", "rating": 4.85, "ratings": 33, "reviews": 8, "stored_reviews": 11 } ] } ``` --- ### Reviews ``` GET /api/reviews/ ``` Returns individual listener reviews from various apps in chronological order. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | podcast_id | Podcast ID from search endpoint. | | Yes | | platform | One of `all`, `apple`, `podchaser`, `castbox`, `audible`, or `podaddict`. | | Yes | **Example response:** ```json { "reviews": [ { "added": "2020-11-10T09:18:15.222Z", "created": "2020-11-10T03:41:11Z", "content": "i want a link to the sermon by that woman from the church. it is AMAZING!!", "author": "otty", "id": "5faa0bd7e694aa569e615d0c", "like_count": 0, "platform": "castbox" }, { "added": "2020-11-10T09:18:12.431Z", "created": "2020-11-09T00:57:15Z", "content": "BIG 0", "author": "Wrenhensmileydolly", "id": 6624362550, "country": { "name": "United States", "id": "us" }, "title": "Would give a 0 if I could", "rating": 1, "platform": "apple" } ], "page": 1, "per_page": 20, "count": 2884 } ``` --- ### Trends ``` GET /api/trends/ ``` Returns historical trends data for podcast metrics over time. Each metric returns an array of `[unix_timestamp, value]` pairs. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | podcast_ids | Comma-separated list of podcast IDs. Maximum 3 per request. | | Yes | | metrics | Comma-separated list of metrics. Allowed values: `downloads_per_episode`, `social_reach`, `spotify_followers`. Maximum 5 per request. | | Yes | **Example response:** ```json { "trends": { "climate-one": { "downloads_per_episode": [ [1690643855, 16000], [1681155421, 15000], [1669679979, 14000] ], "social_reach": [ [1690643855, 500000], [1681155421, 495000], [1669679979, 490000] ] } } } ``` --- ### Shared Audience Graph ``` GET /api/similar/graph/ ``` Returns the shared audience graph for a podcast, showing other podcasts with overlapping listeners. This is the endpoint that powers the Audience Graph feature on Rephonic. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | podcast_id | Podcast ID from search endpoint. | | Yes | **Example response:** ```json { "graph": { "nodes": [ { "id": "the-daily", "itunes_id": 1200361736, "publisher": "The New York Times", "name": "The Daily", "artwork_url": "https://img.rephonic.com/artwork/the-daily.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/the-daily.jpg?width=70&height=70&quality=95", "description": "This is what the news should sound like..." }, { "id": "up-first", "itunes_id": 1222114325, "publisher": "NPR", "name": "Up First", "artwork_url": "https://img.rephonic.com/artwork/up-first.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork/up-first.jpg?width=70&height=70&quality=95", "description": "NPR's Up First is the news you need to start your day..." } ], "links": [ {"source": "the-daily", "target": "up-first", "depth": 0}, {"source": "up-first", "target": "the-npr-politics-podcast", "depth": 1}, {"source": "the-daily", "target": "the-npr-politics-podcast", "depth": 1} ] } } ``` --- ### Chart Categories ``` GET /api/charts// ``` Get all available chart categories and countries for a platform. The `platform` must be one of `apple`, `spotify`, or `youtube`. **Example response:** ```json { "categories": [ { "id": 1301, "name": "Arts", "short_name": "Arts", "slug": "arts", "parent_slug": null }, { "id": 1482, "name": "Arts / Books", "short_name": "Books", "slug": "arts-books", "parent_slug": "arts" }, { "id": 1318, "name": "Technology", "short_name": "Technology", "slug": "technology", "parent_slug": null } ], "countries": [ {"name": "United States", "id": "us", "slug": "united-states"}, {"name": "Canada", "id": "ca", "slug": "canada"}, {"name": "United Kingdom", "id": "gb", "slug": "united-kingdom"}, {"name": "Australia", "id": "au", "slug": "australia"} ] } ``` --- ### Chart Rankings ``` GET /api/charts//// ``` Returns the latest chart rankings for a given platform, country, and category (updated every 24 hours). Use the chart categories endpoint to get valid `country` and `category` slugs. Use category `all` for the overall top charts. **Example response:** ```json { "podcasts": [ { "id": "strike-force-five", "position": 1, "change": 2, "itunes_id": 1704871055, "name": "Strike Force Five", "publisher": { "id": "strike-force-five", "name": "Strike Force Five" }, "artwork_url": "https://img.rephonic.com/placeholder.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/placeholder.jpg?width=70&height=70&quality=95" }, { "id": "the-daily", "position": 3, "change": null, "itunes_id": 1200361736, "name": "The Daily", "publisher": { "id": "the-new-york-times", "name": "The New York Times" }, "artwork_url": "https://img.rephonic.com/artwork-dev/the-daily.jpg?width=600&height=600&quality=95", "artwork_thumbnail_url": "https://img.rephonic.com/artwork-dev/the-daily.jpg?width=70&height=70&quality=95" } ] } ``` --- ### Categories (Reference) ``` GET /api/common/categories/ ``` Returns a list of podcast categories. These IDs are used with the `categories` search filter. **Example response:** ```json { "categories": [ { "id": 1301, "name": "Arts", "short_name": "Arts", "slug": "arts", "parent_slug": null }, { "id": 1482, "name": "Arts / Books", "short_name": "Books", "slug": "arts-books", "parent_slug": "arts" } ] } ``` --- ### Countries (Reference) ``` GET /api/common/countries/ ``` Returns a list of countries. These IDs are used with the `locations` search filter. **Example response:** ```json { "countries": [ {"name": "United States", "id": "us", "slug": "united-states"}, {"name": "United Kingdom", "id": "gb", "slug": "united-kingdom"} ] } ``` --- ### Languages (Reference) ``` GET /api/common/languages/ ``` Returns a list of languages. These codes are used with the `languages` search filter. **Example response:** ```json { "languages": [ {"code": "en", "name": "English"}, {"code": "es", "name": "Spanish"}, {"code": "fr", "name": "French"} ] } ``` --- ### Sponsors (Reference) ``` GET /api/common/sponsors/ ``` Returns commonly seen sponsors, optionally filtered by name. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | query | Filter sponsors by name. | | | **Example response:** ```json { "sponsors": [ {"name": "Audible", "count": 5000}, {"name": "Squarespace", "count": 3200} ] } ``` --- ### Professions (Reference) ``` GET /api/common/professions/ ``` Returns common listener professions, optionally filtered by name. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | query | Filter professions by name. | | | **Example response:** ```json { "professions": [ {"name": "Software Engineer", "count": 8000}, {"name": "Doctor", "count": 5000} ] } ``` --- ### Interests (Reference) ``` GET /api/common/interests/ ``` Returns common listener interests, optionally filtered by name. **Parameters:** | Field | Description | Default | Required | |-------|-------------|---------|----------| | query | Filter interests by name. | | | **Example response:** ```json { "interests": [ {"name": "Technology", "count": 10000}, {"name": "Business", "count": 8000} ] } ``` --- ### API Quota ``` GET /api/accounts/quota/ ``` Check your API request quota and usage for the current month. **Example response:** ```json { "usage": 292, "quota": 10000 } ``` --- ## Search Filters You can pass a comma-separated list of filters to the podcast search or episode search endpoints via the `filters` parameter. **Example:** `/api/search/podcasts/?filters=listeners:gte:5000,active:is:true` ### Listeners Estimated listeners (downloads per episode). - `listeners:gte:5000` — at least 5,000 listeners - `listeners:lte:250000` — at most 250,000 listeners ### Ratings Total listener ratings across all tracked apps. - `ratings:gte:500` - `ratings:lte:10` ### Social Reach Combined followers across all social media accounts. - `social_reach:gte:10000` ### Categories Filter by podcast category IDs. Get IDs from `/api/common/categories/`. - `categories:in:1482` — must be in this category - `categories:in:1482-1406` — must be in ALL of these categories - `categories:any:1482-1406` — must be in ANY of these categories ### Audience Location Filter by country codes. Get codes from `/api/common/countries/`. - `locations:any:us` — primary audience in the United States - `locations:any:it-fr` — primary audience in Italy or France ### Languages Filter by language codes. Get codes from `/api/common/languages/`. - `languages:any:es` — Spanish language shows - `languages:any:en-es-fr` — English, Spanish, or French ### Genders Audience gender skew. Values: `verymale`, `male`, `neutral`, `female`, `veryfemale`. - `genders:any:veryfemale` - `genders:any:neutral-female` — neutral or female skew ### Active Shows that published an episode within the past 60 days. - `active:is:true` ### Sponsored Shows that usually accept sponsors or advertisers. - `sponsored:is:true` ### Sponsors Shows sponsored by specific brands. Get names from `/api/common/sponsors/`. - `sponsors:any:IBM-Apple-Microsoft` — sponsored by any of these ### Professions Audience professions. Get names from `/api/common/professions/`. - `professions:any:Doctor-Lawyer` — audience is likely doctors OR lawyers - `professions:in:Doctor-Lawyer` — audience is likely doctors AND lawyers ### Interests Audience interests. Get names from `/api/common/interests/`. - `interests:any:Cars-Technology` — audience interested in cars OR technology - `interests:in:Cars-Technology` — audience interested in cars AND technology ### Guests - `guests:is:true` — podcasts that take guests ### YouTube - `youtube:is:true` — has an associated YouTube channel ### Engagement - `engagement:gte:75` — engagement score at least 75 - `engagement:lte:45` ### Publishing Frequency Values: `infrequently`, `monthly`, `twicemonthly`, `weekly`, `twiceweekly`, `daily`. - `frequencies:any:daily` ### Episodes Total episode count. - `episodes:gte:500` - `episodes:lte:10` ### Founded Founded date as unix timestamp. - `founded:gte:1517270400` — founded on or after 2018-01-30 - `founded:gte:1517270400,founded:lte:1589932800` — founded between two dates ### Political Leaning Values: `left`, `center_left`, `center`, `center_right`, `right`. - `political_leanings:any:left-center_left` ### Age Groups Values: `under_18`, `18_24`, `25_34`, `35_44`, `45_54`, `55_64`, `65_plus`. - `age_groups:any:18_24-25_34` — audience likely aged 18-24 or 25-34 - `age_groups:in:18_24-25_34` — audience likely contains both groups ### Relationship Status Values: `single`, `relationship`, `married`. - `relationship_statuses:any:single` ### Education Level Values: `less_than_high_school`, `high_school`, `bachelors_degree`, `masters_degree`, `advanced_degree`. - `education_levels:any:bachelors_degree-masters_degree-advanced_degree` - `education_levels:in:bachelors_degree-masters_degree` — both bachelor's and master's ### Household Income Annual household income in USD. - `household_income:gte:75000` - `household_income:lte:150000` ### Cross Promos - `cross_promos:is:true` — does cross promotions with other podcasts ### Branded - `branded:is:true` — is a branded podcast (created/produced by a company) ### Parents - `parents:is:true` — audience is primarily parents ### Escaping Special Characters Values containing reserved characters `-,:\` must be escaped with a backslash, e.g. `sponsors:any:Harley\-Davidson-Apple-IBM` --- ## Notes - All responses are JSON. - Pagination uses `page` and `per_page` parameters where applicable. - Podcast IDs are slug-style strings (e.g. `huberman-lab`, `the-daily`). - Episode IDs are returned by search and episode list endpoints. - Transcript data is extracted using speech-to-text and may contain occasional inaccuracies.