Blog / For data buyers and researchers
For data buyers and researchers

Podcast market research: how to size a niche with catalog and search data

A step-by-step method for podcast market research: defining a niche, counting active shows, measuring growth and saturation, finding gaps, and presenting defensible numbers, using catalog exports and full-text search.

Published by the PodSearch team

"How many podcasts are there about X?" sounds like a simple question. It is usually asked before a launch, a sponsorship budget, an acquisition or an investment, and the answer often comes from a chart of the top 100 shows or a headline number about "millions of podcasts". Neither is good evidence. The top 100 tells you about the head of the market, not its size; the headline number includes millions of feeds that stopped publishing years ago.

This guide gives you a repeatable method for podcast market research using two kinds of data: a catalog export (one row per show, with category, language and activity fields) and full-text search over episode titles, descriptions and content. Both are available from podsearch.org, built on the open Podcast Index catalog of about 4.7 million RSS feeds, with around 3.2 million active feeds parsed into episodes.

Step 1: define the niche precisely

Every good market estimate starts with a definition that someone else could reproduce. "Personal finance podcasts" is a label, not a definition. A usable definition has four parts:

  1. Topic boundary. What is in and what is out? Does "personal finance" include investing, real estate, crypto, frugality, early retirement? Write the list down.
  2. Language and geography. English only? Spanish? A specific country's charts?
  3. Activity threshold. What counts as an active show? A common choice is "published at least one episode in the last 90 days".
  4. Minimum size. Exclude feeds with very few episodes, which are often trailers, tests or abandoned projects. Five or ten episodes is a common threshold.

Write the definition at the top of your report. It is the single most important factor in whether your numbers will be trusted.

Step 2: get two counts, category-based and text-based

Podcast categories are chosen by publishers from a fixed list (the Apple-style categories such as Business, Education, Health & Fitness and their subcategories). They are a good first cut but have two weaknesses: publishers pick broad categories for reach, and a single category rarely matches a niche exactly. Text search fixes both. Use both methods and compare.

The category count

On the datasets page, select the relevant categories, your languages, and a latest-episode date within your activity window, with a minimum episode count. The page shows a live count of matching podcasts before you buy anything. Record the count with the date and the exact filters.

The text count

Use full-text search to count shows whose titles or descriptions match your topic vocabulary. With the podsearch.org API, a podcast-type search with boolean syntax works well:

curl -s -G "https://podsearch.org/api/v2/search" \
  --data-urlencode 'q=(title:"personal finance" OR title:budgeting OR title:"financial independence" OR desc:"personal finance")' \
  --data-urlencode "syntax=dql" --data-urlencode "type=podcast" --data-urlencode "language=en" \
  -H "X-ListenAPI-Key: $PODSEARCH_API_KEY"

Page through the results with offset and next_offset and count the distinct show IDs you receive; the response's total field is a pagination hint, not a measured count, so do not report it. Each plan has a results-per-query limit (30 on Free, 300 on Pro). If a query reaches it, split the vocabulary into several narrower queries, run each one, and merge the show IDs. Then validate by sampling (step 4).

Why the two differ

The category count includes shows that chose the category but talk about something adjacent; the text count includes shows in other categories that cover your topic (a comedy show about money, for example). The truth for most niches lies between them. Reporting both, with an explanation, is more credible than a single precise-looking number.

Step 3: separate the live market from the archive

The open podcast catalog is a historical record as much as a market. A large share of feeds are dormant. Activity fields let you split the market into meaningful segments:

SegmentRule of thumbWhat it tells you
ActiveLatest episode within 90 daysCurrent competition and potential partners
Recently lapsedLatest episode 90 days to 1 year agoChurn; shows that may restart
DormantNo episode in over a yearHistorical interest, archived content
New entrantsFirst episode within the last yearGrowth and momentum
EstablishedFirst episode over 3 years ago, still activeDurable incumbents

With a dataset export, this segmentation takes a few lines:

import pandas as pd

df = pd.read_csv("niche.csv", parse_dates=["latest_pub_date", "earliest_pub_date"])
now = pd.Timestamp.utcnow().tz_localize(None)
days_since = (now - df["latest_pub_date"]).dt.days
age_days = (now - df["earliest_pub_date"]).dt.days

df["segment"] = pd.cut(days_since, [-1, 90, 365, 10**6], labels=["active", "lapsed", "dormant"])
df["new_entrant"] = age_days <= 365
df["established"] = (age_days > 3 * 365) & (df["segment"] == "active")

print(df["segment"].value_counts())
print("new entrants:", int(df["new_entrant"].sum()), " established & active:", int(df["established"].sum()))

Step 4: validate with a sample

Before you publish any count, read a random sample. Draw 50 shows from your text-based results and 50 from your category-based list, open each, and mark whether it truly belongs in the niche. The share that belongs is your precision. Multiply your raw count by precision for an adjusted estimate, and report the sample size so readers can judge the uncertainty.

A sample of 50 gives a rough margin of error of about plus or minus 14 percentage points at 95% confidence for a proportion near 50%; a sample of 200 brings that to about plus or minus 7. For most business decisions, 50 to 100 is enough.

Step 5: measure growth and momentum

Size is a snapshot; investors and launch teams want direction. Three measures are easy to compute from catalog and search data.

New show launches per month

Group shows in your niche by the month of their first episode. A rising line means growing interest from creators. Be careful with the most recent months: a show that launched last month may not be indexed yet or may not meet your minimum episode count.

Episode volume per month

Count episodes published per month that match your topic. With search, use published_after and published_before (epoch milliseconds) to bracket each month, and count the results by paging through them:

from datetime import datetime, timezone

def month_bounds(year, month):
    start = datetime(year, month, 1, tzinfo=timezone.utc)
    end = datetime(year + (month == 12), month % 12 + 1, 1, tzinfo=timezone.utc)
    return int(start.timestamp() * 1000), int(end.timestamp() * 1000)

def monthly_episode_count(q, year, month):
    a, b = month_bounds(year, month)
    ids, offset = set(), 0
    while True:
        r = api.get("/search", q=q, type="episode", sort_by_date=1, page_size=100,
                    published_after=a, published_before=b, offset=offset)
        ids.update(e["id"] for e in r["results"])
        if r["next_offset"] in (-1, None) or not r["results"]:
            return len(ids)
        offset = r["next_offset"]

for m in range(1, 10):
    print(2026, m, monthly_episode_count('"personal finance"', 2026, m))

If a month has more matches than your plan's results-per-query limit, count week by week instead. Our podcast trend analysis guide includes a helper that splits windows automatically.

Episode volume is a good proxy for how much content is competing for listener attention in a topic.

Retention of creators

Of the shows that launched in a given year, what share are still active today? A niche where most new shows stop within a year is hard; one where many persist suggests sustainable audiences or monetization.

Step 6: find the gaps

Saturation is relative. A topic with hundreds of active shows in English may have a handful in Portuguese or Hindi. Repeat your count across languages, and compare against each language's overall catalog size to see where a niche is under-served.

Similar gap analysis works by format. Use avg_audio_length_sec to compare short daily shows with long-form interviews, and update_frequency_hours to compare weekly shows with dailies. A niche crowded with hour-long interview shows may have room for a ten-minute daily briefing.

Search is also good at finding sub-topic gaps. List twenty sub-topics, count matching episodes in the last year for each, and look for sub-topics with listener interest elsewhere (search trends, book sales, community size) but few episodes.

Step 7: add the demand side carefully

Catalog and search data describe supply: how many shows and episodes exist. Demand, meaning how many people listen, is harder. Public signals include:

podsearch.org does not estimate audience size. We recommend presenting supply metrics as measured facts and demand metrics as clearly labelled estimates, rather than blending them.

Step 8: present numbers people will trust

A good market research slide or memo includes:

That level of transparency is what turns "about 2,000 shows" from a guess into evidence.

Common pitfalls

Most flawed podcast market numbers fail in one of a handful of ways. Check your work against this list.

Counting feeds as shows. One show can have several feeds: a main feed, an ad-free feed, a video feed, a feed left behind after a host migration. De-duplicate by title and author before you count, and decide whether premium or video variants count separately.

Counting dormant feeds as competitors. A niche with 3,000 feeds may have 400 active shows. Always state your activity threshold, and report the active number first.

Trusting the most recent month. Data for the latest few weeks is always incomplete: new shows are still being discovered, and some publishers backdate or post-date episodes. Leave the current month out of trend lines, or mark it as provisional.

Over-broad search terms. A query for "money" will match comedy, music and true crime. Use phrases, field restrictions (title: and desc: rather than content), and NOT clauses to remove known false positives, and measure precision with a sample.

Mixing languages. Language codes in feeds are self-declared and inconsistent (en, en-us, en-GB, sometimes missing). Normalize to two-letter codes, and spot-check shows whose declared language looks wrong.

Confusing episodes with shows. Episode volume can grow because a few prolific daily shows publish more, not because the niche is expanding. Report show counts and episode counts side by side, and look at the share of episodes produced by the top ten shows.

Choosing your activity window

The activity threshold changes your answer more than any other choice, so pick it deliberately.

If the decision is sensitive to the threshold, report all three. A niche with 500 shows active in the last year but only 150 in the last 30 days is a very different market from one where those numbers are 500 and 450.

A worked example, end to end

Suppose a fintech company wants to know whether sponsoring personal-finance podcasts in Spanish is a realistic channel.

  1. Definition: shows primarily about budgeting, saving, investing for individuals, or debt; Spanish language; at least one episode in the last 90 days; at least ten episodes.
  2. Category count: filter the catalog for the Business and Education categories (and any finance-specific categories the filter offers), language Spanish, active in 90 days, ten or more episodes. Record the count.
  3. Text count: podcast searches for Spanish vocabulary such as "finanzas personales", "ahorro", "inversión" and "presupuesto" with language=es. Page through the results and count distinct show IDs.
  4. Validation: sample 50 from each, mark relevance, compute precision, adjust.
  5. Segmentation: export the validated list and split by activity, launch year and cadence.
  6. Comparison: run the same steps for English to give a sense of relative market size.
  7. Output: a list of active, established shows becomes the sponsorship target list, priced as a one-time dataset export.

The whole exercise takes an analyst a day or two and produces numbers that can be reproduced next quarter with the same definition.

Frequently asked questions

How many podcasts are there in total?

The Podcast Index catalog behind podsearch.org contains about 4.7 million RSS feeds, with about 3.2 million active feeds parsed into episodes. For market sizing, the relevant number is far smaller: the active shows in your defined niche and language.

Are podcast categories reliable for market research?

They are a useful first cut but are self-selected by publishers and often broad. Combine category counts with full-text search and validate both with a sample.

Can I measure listenership with catalog data?

Not directly. Catalog and search data measure supply. Use charts and clearly labelled third-party estimates for demand, and keep the two separate in your reporting.

How do I keep my research up to date?

Save your exact filters and queries. Re-run them quarterly, compare counts, and diff the show lists by feed_id to see entries and exits.

What does a niche dataset cost?

Datasets are priced per podcast: $0.10 under 1,000 shows, $0.08 from 1,000, $0.05 from 5,000 and $0.03 from 10,000, with a $60 minimum, paid once through Stripe. A niche list of 600 shows costs $60.

Summary

Podcast market research is a matter of definition and discipline. Define the niche, count it two ways, separate active shows from the archive, validate with a sample, measure growth, look for gaps by language and format, and keep supply facts separate from demand estimates. Done this way, your numbers will survive the first skeptical question in the room.