FCC Broadcast Station & Owner Leads Scraper
Pricing
from $4.00 / 1,000 broadcast station records
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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.
| Data | Generic FCC lookups | This actor |
|---|---|---|
| AM, FM and TV in one run | ❌ (single band/state) | ✅ |
| Call sign, frequency/channel, service, class | partial | ✅ |
| 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 coordinates | partial | ✅ |
| 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
- Sign up for Apify — the free plan is enough to try this actor.
- 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 mode —
stations(one row per station) orowners(grouped portfolios). - Click Start and watch results stream into the dataset table.
- 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) —stationsreturns one record per AM/FM/TV station;ownersaggregates 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) —
truereturns 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.
| Field | Coverage |
|---|---|
| Call sign, band, service, community, state, facility ID, status | ~100% |
| Frequency / channel, power (ERP), coordinates | ~100% (engineering data) |
| Licensee (owner) name | AM ~98%, FM ~99%, TV ~80% (licensed TV; many new-CP rows are blank at source) |
| Station class | AM/FM ~100%; TV conveyed via service (Class A / full power / LPTV) |
authDate | radio 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:
- FCC License & Antenna Tower Leads Scraper — wireless licensees and antenna-structure (tower) owners with phone, email, FRN, heights & GPS.
- FAA Aircraft Registry Scraper — registered aircraft and their owners.
- FMCSA Trucking Scraper — motor carriers and freight brokers with contact and safety data.
- US Business Formation Scraper — newly registered companies as fresh-business intent.
- SBA Loan Leads Scraper — financed small businesses (7(a) & 504).
- USASpending Scraper — federal contract and grant recipients.
- GSA eLibrary Scraper — GSA Schedule contractors and their contacts.
Tips
- Pick a single output mode (
stationsorowners) 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
activeOnlyoff and filterlicenseStatusesto["CP","NCECP"](or sort bynewest) to catch stations being built or upgraded — the best leads for equipment and engineering vendors. - Target big stations: set
minErpKw(e.g. 50) andsortBy: "powerHigh"for the largest, highest-budget signals. - Find a group's footprint: use
outputMode: "owners"with alicenseeQuery(e.g. "Townsquare") to see a broadcaster's full portfolio. - Recurring monitoring: pair
monitorModewith 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.