FCC Broadcast Station & Owner Leads Scraper avatar

FCC Broadcast Station & Owner Leads Scraper

Pricing

from $4.00 / 1,000 broadcast station records

Go to Apify Store
FCC Broadcast Station & Owner Leads Scraper

FCC Broadcast Station & Owner Leads Scraper

Scrape the official FCC AM, FM & TV broadcast database: call sign, frequency, service, class, market, licensee (station owner), facility ID, power, GPS, license status & construction permits. Station + owner-portfolio B2B leads with filters, lead scoring & monitoring. No browser, no API key.

Pricing

from $4.00 / 1,000 broadcast station records

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

FCC Broadcast Station Scraper — AM, FM & TV Stations + Owner Leads

Extract the complete U.S. broadcast station universe straight from the official FCC AM, FM, and TV databases — every AM/FM radio and TV station with its call sign, frequency/channel, service & class, community of license (market), licensee (station owner), facility ID, license status, construction permits, power (ERP), antenna height and GPS coordinates. Group the data into station-owner portfolios to see who owns what, where.

No login, no cookies, no browser, no API key — fast, reliable extraction direct from the FCC's public broadcast query feeds.

Why this FCC broadcast scraper?

Other "FCC" tools on the market are single-state radio lookups or thin MCP wrappers. This actor pulls AM, FM, and TV nationwide into one clean, richest-in-category dataset, adds a station-owner grouping mode (portfolios by licensee), a lead score, and a monitor mode that surfaces only new stations, fresh construction permits, and ownership changes.

DataGeneric FCC lookupsThis actor
AM, FM and TV in one run❌ (single band/state)
Call sign, frequency/channel, service, classpartial
Community of license (market) + state
Licensee (station owner)partial✅ AM ~98% / FM ~99% / TV (licensed)
Facility ID, file number, license status
Construction permits & applications (build/upgrade intent)
Power (ERP), HAAT, GPS coordinatespartial
Owner-portfolio grouping (station count, AM/FM/TV, markets)
Lead score + lead signals
Monitor mode (only new/changed)
Nationwide (50 states + DC + territories)

Use cases

  • Advertising & media buying — build station target lists by market, band, format, and power for radio/TV ad campaigns, including the 2026 political ad cycle.
  • Broadcast equipment & software sales — transmitters, antennas, automation, playout, EAS, and streaming vendors: target station owners, and catch construction permits the moment a new build or upgrade is authorized.
  • Station brokerage & M&A — use owner-portfolio mode to see consolidation: who owns how many AM/FM/TV stations, across which markets and states.
  • Program syndication & content distribution — find stations by band, market, and class to pitch shows, networks, and syndicated content.
  • RF / engineering & tower services — coordinates, ERP, HAAT, and antenna mode for coverage studies and site work.
  • PR & media outreach — identify stations by market and owner to build broadcast media lists.
  • Market & competitive research — map station counts and ownership by geography and band.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the FCC Broadcast Station & Owner Leads Scraper, choose your bands (AM/FM/TV) and states (leave empty for all of the U.S.), and pick an output modestations (one row per station) or owners (grouped portfolios).
  3. Click Start and watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"outputMode": "stations",
"bands": ["AM", "FM", "TV"],
"states": ["CA", "TX"],
"activeOnly": false,
"sortBy": "leadScore",
"maxResults": 1000,
"monitorMode": false
}
  • outputMode (default stations)stations returns one record per AM/FM/TV station; owners aggregates stations by licensee into owner/group portfolios.
  • bands (default all)AM, FM (incl. LPFM, translators, boosters), TV (incl. full-power, Class A, LPTV, translators).
  • states (default all) — two-letter state/territory codes; empty scans all 50 states + DC + PR/VI/GU/AS/MP.
  • activeOnly (default false)true returns only LICENSED stations; leave off to also capture construction permits, applications, and STAs (highest-intent leads).
  • licenseStatuses / serviceCodes / stationClasses / communities — optional fine-grained filters (e.g. ["CP","NCECP"], ["FM","FL"], ["A","C"]).
  • callSignQuery / licenseeQuery / nameQuery — substring search by call sign, owner name, or keyword.
  • minErpKw — minimum power (kW) to target larger stations.
  • authorizedAfter (YYYY-MM-DD) — only authorizations on/after this date (great for fresh CPs and new applications).
  • minLeadScore / sortBy / maxResults — filter, order (leadScore, powerHigh, newest, callSign), and cap.
  • includeRawFields (default false) — attach the complete raw FCC field array so no source data is ever lost.
  • monitorMode / monitorKey — return only new/changed records across runs (see below).
  • proxyConfiguration — optional; the FCC feeds work with no proxy.

Output

By default you get one clean table of broadcast stations — every column applies to every row. Set outputMode to owners for grouped owner portfolios.

A station record (recordType: "broadcastStation"):

{
"recordType": "broadcastStation",
"callSign": "WHJY",
"facilityId": "25444",
"band": "FM",
"serviceCode": "FM",
"serviceLabel": "FM Radio (Full Power)",
"frequency": 94.1,
"frequencyUnit": "MHz",
"frequencyDisplay": "94.1 MHz",
"channel": "231",
"stationClass": "B",
"antennaMode": "Non-Directional",
"licenseStatus": "LIC",
"licenseStatusLabel": "Licensed",
"isLicensed": true,
"isConstructionPermit": false,
"community": "Providence",
"state": "RI",
"market": "Providence, RI",
"fileNumber": "BLH-20120118ABC",
"authDate": "2012-01-18",
"erpKw": 50,
"haatMeters": 199,
"latitude": 41.83,
"longitude": -71.47,
"licenseeName": "Ihm Licenses, LLC",
"sourceUrl": "https://enterpriseefiling.fcc.gov/dataentry/public/tv/publicFacilityDetails.html?facilityId=25444",
"leadScore": 72,
"leadSignals": ["Active licensed station", "Full-power station", "High-power transmitter (≥50 kW)", "Licensee: Ihm Licenses, LLC"]
}

A station-owner record (recordType: "stationOwnerProfile") carries licenseeName, stationCount, amStations / fmStations / tvStations, fullPowerStations, constructionPermits, stateCount, states, markets, callSigns, maxErpKw, and a leadScore.

What to expect (field coverage)

This is official FCC engineering data, so contact fields beyond the licensee name aren't part of the public feed, and a few records (notably new TV construction permits) leave the applicant name blank at the source.

FieldCoverage
Call sign, band, service, community, state, facility ID, status~100%
Frequency / channel, power (ERP), coordinates~100% (engineering data)
Licensee (owner) nameAM ~98%, FM ~99%, TV ~80% (licensed TV; many new-CP rows are blank at source)
Station classAM/FM ~100%; TV conveyed via service (Class A / full power / LPTV)
authDateradio file numbers carry a date; some TV LMS file numbers do not

A blank field means the FCC didn't publish it for that record — nothing is dropped, so you always get the richest dataset available. Turn on includeRawFields to keep every raw source value.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it daily/weekly with monitor mode on to capture new stations, fresh construction permits, and ownership changes automatically.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/fcc-broadcast-scraper').call({
bands: ['FM', 'TV'],
states: ['CA'],
outputMode: 'stations',
monitorMode: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} broadcast records`);

Monitor mode vs. Apify Schedules — they are independent and work together. Monitor mode remembers what previous runs returned (per monitorKey) and emits only new/changed records; Schedules decide when the actor runs. Combine them for a hands-off feed of new stations and construction permits.

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new station/owner leads straight into your CRM.
  • Slack — get notified when a monitored market adds a station or construction permit.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "list every FM station in Texas with its owner and power" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete government-data B2B lead-gen stack from official, public registries:

Tips

  • Pick a single output mode (stations or owners) for a clean, fully-populated table that's perfect for direct export. Use the Broadcast stations / Station owners dataset views to switch focus.
  • Hunt new builds: turn activeOnly off and filter licenseStatuses to ["CP","NCECP"] (or sort by newest) to catch stations being built or upgraded — the best leads for equipment and engineering vendors.
  • Target big stations: set minErpKw (e.g. 50) and sortBy: "powerHigh" for the largest, highest-budget signals.
  • Find a group's footprint: use outputMode: "owners" with a licenseeQuery (e.g. "Townsquare") to see a broadcaster's full portfolio.
  • Recurring monitoring: pair monitorMode with a daily/weekly Schedule for an always-fresh feed of new stations, permits, and ownership changes.

FAQ

Where does the data come from? The official FCC AM, FM, and TV query databases (the same public broadcast records the FCC publishes), normalized into one schema and enriched with a lead score and owner grouping.

Does it need an FCC API or a key? No. There's no login, key, or browser — the actor reads the FCC's public broadcast feeds directly.

Does every station include the owner's phone or email? No — the FCC broadcast feed publishes the licensee (owner) name, market, and facility ID, but not a phone/email per station. Each record links to the FCC facility page, and you can combine this with our other actors for outreach contacts.

Can I get TV station owners? Yes for licensed stations (~80%). Brand-new TV construction permits sometimes leave the applicant name blank at the FCC source; the record is still returned with its facility ID and FCC link.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor a market for new stations or permits? Turn on monitorMode, set a monitorKey, and create a Schedule; optionally add a webhook or Zapier zap to push new records into your CRM.

Is scraping this data legal? This actor collects publicly available U.S. government data only. You're responsible for using it in compliance with applicable laws and the FCC's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.