# Novacast Podcast Search (`novacast/novacast-podcast-search`) Actor

Extract and scrape 4M+ podcasts by keyword, topic, show name, or host. Get podcast data for guest booking and outreach: titles, hosts, genres, audience size estimates, quality scores, and more. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.

- **URL**: https://apify.com/novacast/novacast-podcast-search.md
- **Developed by:** [Novacast AI](https://apify.com/novacast) (community)
- **Categories:** Lead generation, Developer tools
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 podcast results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What can Novacast Podcast Search do?

Novacast Podcast Search finds and extracts data on 4M+ podcasts in a single tool. Search in plain language by topic, keyword, show name, or host name, and get back one clean row per podcast: audience size estimates, a 0–100 quality score, genres, language, listener ratings, website links, and the latest episodes. The podcast database is refreshed every 24 hours. Use it to build podcast lists for guest booking, PR outreach, sponsorship research, and podcast lead generation.

Built on the [Novacast podcast data API](https://novacast.ai/data-api), the same engine behind Novacast's own podcast search.

| 📦 What you can extract | ⚙️ Features & integrations |
|---|---|
| 🎙️ Podcasts matching any topic, show name, or host | 🔎 Hybrid (name + topic) or semantic (topic only) search |
| 👤 Host names and claimed hosts | 🌍 Filter by language |
| 📊 Estimated audience per episode (low–high range) | ↕️ Sort by relevance, quality score, rating, latest episode, or recently added |
| ⭐ Podcast quality score (0–100) and listener ratings | ⬇️ Export to JSON, CSV, Excel, or XML |
| 🏷️ Readable genres and language | 🦾 API access, webhooks, Node.js & Python SDKs |
| 🔗 Website, artwork, Apple Podcasts (iTunes) ID | 📅 Schedule runs to catch new shows |
| 🎧 Latest episodes with dates, durations, and audio URLs | 🤖 LLM-ready data for MCP, Claude, Gemini, ChatGPT |
| 📧 Host contact emails (additional credit) | 🔄 Database refreshed every 24 hours |

If you're booking podcast guest appearances, running a podcast PR agency, looking for podcasts to sponsor, or building a podcast lead list, you can do it all from one tool.

### What podcast data can I get?

Novacast Podcast Search is a podcast database API you can run without writing code. There's no directory to click through, no copy-pasting show by show, and no API key needed to start. For every matching podcast you get:

- **Show details:** what the podcast is. Name, author, and description.
- **Hosts:** who runs it. The first host's name, plus every host who has claimed the show (`hostName`, `username`).
- **Audience:** how big it is. An estimated audience range per episode (`listenersLow`, `listenersHigh`), so you can focus on shows worth pitching.
- **Quality:** how good it is. A 0–100 podcast quality score (`pciScore`) plus listener rating and rating count.
- **Context:** where it fits. Language and readable genre names (for example *True Crime*).
- **Links:** where to find it. Website, artwork, Apple Podcasts (iTunes) ID, and the show's Novacast page.
- **Episodes (optional):** what they've published lately. Up to 20 latest episodes per podcast with title, description, date, duration, and audio URL.
- **Host emails (additional credit):** who to pitch. Host contact emails are available for an additional credit, for when you're ready to reach out.

The database behind it is refreshed every 24 hours, so new shows and new episodes show up fast.

### How much does it cost to search podcasts?

Novacast Podcast Search uses a pay-per-event pricing model. You pay **$5.00 per 1,000 podcasts returned** ($0.005 per podcast), and you pay per podcast, not per search. There's also a tiny fixed fee to start each run.

**Bring your own key:** if you add your own API key from [novacast.ai/data-api](https://novacast.ai/data-api), requests are billed to your Novacast account (one credit per request) and this Actor charges nothing per result. Sandbox keys are free for testing.

### How do I use Novacast Podcast Search?

You don't need any scraping experience to start. Here's how to find podcasts:

1. Create a free Apify account using your email.
2. Open Novacast Podcast Search in Apify Console.
3. Type a search query in plain language: a topic (`podcasts for B2B SaaS founders`), a show name (`My First Million`), or a host's name.
4. Set **Maximum results** (up to 1,000 per query) and, optionally, a **Language**.
5. Pick how to **Sort by**: relevance, quality score, listener rating, latest episode, or recently added.
6. Optionally set **Latest episodes per podcast** (0–20) to include recent episodes.
7. Click **Save & Start** and wait for the run to finish.
8. Download your podcast list in JSON, CSV, Excel, or XML, or pull it programmatically via the Apify API.

### ⬇️ Input

| Field | What it does |
|---|---|
| `query` | Topic, show name, or host name in plain language. Example: `podcasts for B2B SaaS founders` |
| `maxResults` | How many podcasts to return, 1 to 1,000. Default 50 |
| `language` | Only shows in this language, by name (`english`, `spanish`, `german`, …). Empty = all languages |
| `sort` | `relevance` (default), `pci` (quality score), `rating` (listener rating), `recent-publication` (latest episode), or `new` (recently added) |
| `mode` | `hybrid` (default) finds shows by name and topic; `semantic` ranks by topic meaning only. Applies to relevance sorting |
| `includeEpisodes` | Latest episodes to fetch per podcast, 0 to 20. Default 0 |
| `apiKey` | Optional. Your own Novacast API key, so requests bill to your Novacast account instead of per result here |

```json
{
  "query": "true crime",
  "maxResults": 100,
  "language": "english",
  "sort": "pci"
}
```

### ⬆️ Output

One row per podcast:

```json
{
  "uuid": "…",
  "name": "Crime Junkie",
  "authorName": "audiochuck",
  "hostName": null,
  "hosts": [],
  "language": "ENGLISH",
  "genres": ["True Crime"],
  "listenersLow": 1200000,
  "listenersHigh": 1800000,
  "pciScore": 92.4,
  "websiteUrl": "https://crimejunkiepodcast.com",
  "novacastUrl": "https://novacast.ai/podcast/…"
}
```

The numbers in the example are illustrative; run the Actor for live values.

### What can you do with podcast data?

#### 🎤 Podcast guest booking

Getting booked on the right shows starts with a list of podcasts that match your expertise and have a real audience. Here's how to build a guest booking list with Novacast Podcast Search:

1. **Find shows in your niche.** Search a topic like `podcasts for real estate investors` to get every matching podcast.
2. **Keep the good ones.** Sort by `pci` (quality score) and look at the audience range to focus on the shows worth pitching first.
3. **Check they're active.** Set `includeEpisodes` to 3 and skip shows whose latest episode is months old.
4. **Research the host.** Use the host name, website, and recent episode titles to personalize your pitch.
5. **Get the host's email.** Unlock host contact emails for your shortlist (additional credit) and start your outreach.

Schedule weekly runs sorted by `new` to catch new shows in your niche. Send results to Google Sheets, your CRM, or your outreach tool.

#### 📣 Podcast PR and booking agencies

Build a targeted podcast list for every client in minutes instead of hours. Run one search per client topic, filter by language, sort by quality score, and export a ready-to-pitch spreadsheet.

#### 💰 Podcast sponsorship and advertising

Find podcasts that reach your target customers. Search by topic, compare audience estimates and quality scores across shows, and build a shortlist of podcasts to sponsor.

#### 🔍 Market and competitor research

See which podcasts cover your industry, how crowded a topic is, and which shows lead it, before you launch your own podcast or plan a content strategy.

#### 🎧 Episode monitoring and content research

Pull the latest episodes for a list of shows to sample content, track what topics are trending in a niche, or feed episode audio URLs into a transcription pipeline.

### ❓ Frequently Asked Questions

#### How many podcasts can I get per search?

Up to 1,000 per query. The API serves at most 20 pages of 50 results per query. To get more, run several narrower queries.

#### Can I search by host name or show name?

Yes. Type a host's name or a show name as the query. Keep the relevance engine on `hybrid`, which matches names as well as topics.

#### What's the difference between hybrid and semantic search?

`hybrid` finds shows by name and by topic, so it's best when you know the show or host. `semantic` ranks only by meaning, so it's best for broad topic searches like `podcasts about burnout for doctors`.

#### What does the quality score mean?

`pciScore` is Novacast's podcast quality score, from 0 to 100. Sort by `pci` to put the strongest shows first.

#### How accurate are the audience estimates?

`listenersLow` and `listenersHigh` are an estimated audience range per episode, not exact download numbers. Use them to compare and prioritize shows.

#### Can I get host emails?

Yes. Host contact emails are available for an additional credit. Standard results include host names, the show's website, and its Novacast page.

#### How fresh is the podcast data?

The podcast database is refreshed every 24 hours, so new shows, new episodes, and updated audience estimates appear within a day.

#### What happens if I hit a rate limit?

Per-minute limits are handled automatically by waiting. If a daily quota or your credit balance runs out, the run ends with a clear message.

#### Can I integrate podcast data with other services?

Yes. Podcast data can be integrated with almost any cloud service or web app. Apify supports Zapier, n8n, Make, Slack, Google Sheets, Google Drive, Airbyte, and more. You can also use webhooks to trigger actions whenever a run finishes, like adding new podcasts to your CRM.

#### Can I use Novacast Podcast Search with the Apify API?

Yes. The Apify API gives you programmatic access to run the Actor, fetch datasets, and schedule runs, which makes it a full podcast search API. For Node.js, use the `apify-client` NPM package. For Python, use the `apify-client` PyPI package.

#### Can I get podcast data through an MCP server?

Yes. Connect through the Apify MCP server from clients like Claude Desktop, then ask in plain language, for example "find 50 English podcasts for B2B SaaS founders, sorted by quality score."

#### Is it legal to use this podcast data?

This Actor only returns publicly available podcast information. Some of it, such as host names, may count as personal data under regulations like the GDPR. Only use the data if you have a legitimate reason, such as pitching a show.

# Actor input Schema

## `query` (type: `string`):

A topic, a show name or a host name, in plain language. Example: "b2b saas founders" or "My First Million".

## `maxResults` (type: `integer`):

How many podcasts to return, at most 1,000 per query.

## `language` (type: `string`):

Only shows in this language, by name (english, spanish, german, ...). Leave empty for all languages.

## `sort` (type: `string`):

relevance (default), new (recently added), recent-publication (latest episode), pci (quality score) or rating (listener rating).

## `mode` (type: `string`):

hybrid finds shows by name as well as by topic; semantic ranks by meaning only. Applies to relevance sorting.

## `includeEpisodes` (type: `integer`):

Fetch this many latest episodes for each podcast (0 to skip). Each podcast with episodes costs one extra request.

## `apiKey` (type: `string`):

Bring your own key from novacast.ai/data-api to bill requests to your own Novacast account instead of paying per result here.

## Actor input object example

```json
{
  "query": "podcasts for B2B SaaS founders",
  "maxResults": 50,
  "sort": "relevance",
  "mode": "hybrid",
  "includeEpisodes": 0
}
```

# Actor output Schema

## `podcasts` (type: `string`):

One item per podcast found: name, author, hosts, language, genres, audience estimate, quality score, rating, links and, when requested, latest episodes.

## `summary` (type: `string`):

The search that ran (query, sort, mode, language), how many podcasts were returned, and how many matched in total.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "podcasts for B2B SaaS founders"
};

// Run the Actor and wait for it to finish
const run = await client.actor("novacast/novacast-podcast-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "query": "podcasts for B2B SaaS founders" }

# Run the Actor and wait for it to finish
run = client.actor("novacast/novacast-podcast-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "query": "podcasts for B2B SaaS founders"
}' |
apify call novacast/novacast-podcast-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,novacast/novacast-podcast-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cRnYfNtmyjASDRGjW/builds/UfjWZNmIqJrDyibEW/openapi.json
