US Fire Department Leads Scraper - Fire & Rescue Contacts avatar

US Fire Department Leads Scraper - Fire & Rescue Contacts

Pricing

$6.00 / 1,000 fire department records

Go to Apify Store
US Fire Department Leads Scraper - Fire & Rescue Contacts

US Fire Department Leads Scraper - Fire & Rescue Contacts

Scrape every US fire department from the official USFA Registry (FEMA): name, phone, fax, address, website, type (career/volunteer/combination), stations, firefighter staffing, org type & lead score. Filter by state, type & size; monitor only-new. Keyless, no browser.

Pricing

$6.00 / 1,000 fire department records

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

US Fire Department Leads Scraper — Fire & Rescue Contacts (Phone, Address, Staffing)

Extract every US fire department from the official USFA National Fire Department Registry (FEMA / U.S. Fire Administration) as clean, structured B2B leads — department name, phone, fax, website, headquarters & mailing address, county, department type (career / volunteer / combination), organization type, number of stations, firefighter staffing, total personnel, and a 0–100 lead score.

~27,000 registered fire departments. No login, no cookies, no browser — fast extraction straight from the authoritative federal registry, with a monitor mode for an only-new feed.

Why this fire department scraper?

The US fire & rescue service is a multi-billion-dollar procurement market — apparatus (engines, ladders, tankers), turnout gear and PPE, SCBA, station-alerting, records-management / CAD / ePCR software, training, communications, and federal grant programs (AFG / SAFER). But there is no clean, national, contact-bearing fire-department list on the market — only scattered Google-Maps scrapes and station-only point files with no phone or staffing.

This actor ships the richest dataset in the category, sourced directly from FEMA's official registry:

DataTypical listsThis actor
Department headquarters phone❌ rarely✅ ~90%+
Website✅ opt-in field
Department type (career / volunteer / combination)
Organization type (local / county / state / federal / tribal / airport / contract)
Number of stations
Active firefighters (career / volunteer / paid-per-call)
Civilian & non-firefighting staff, total personnel
Department size tier + lead score (0–100)
Per-station names & addresses✅ opt-in
Primary-emergency-management-agency flag
Mailing vs HQ address (distinct)
Only-new / changed monitor feed

Use cases

  • Lead generation — fire departments are active buyers of apparatus, PPE/turnout gear, SCBA, hoses, hydrants, station-alerting, vehicles, uniforms, radios/comms, and software. Score and segment by size (totalActiveFirefighters, numberOfStations), type (career departments = bigger budgets; volunteer = grant prospects) and contactability (phone, website).
  • Grant & funding outreach — target eligible departments for AFG / SAFER and state programs; volunteer and small/rural departments (departmentSizeTier, isVolunteer) are the classic grant-writing clientele.
  • Software / SaaS sales — CAD, RMS, ePCR, scheduling, asset & SCBA tracking vendors can target by department type and station count.
  • Market & territory analysis — map career vs. volunteer coverage, department density, and personnel by state, county, and Census region.
  • Recruiting & staffing — reach departments by staffing model and size.
  • Monitoring — schedule recurring runs with monitor mode to capture newly-registered or updated departments (new phone, website, staffing or station count) as a fresh feed.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the US Fire Department Leads Scraper, choose your states / filters (or leave empty for the whole country), and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or HTML — or pull results programmatically via the Apify API.

Input

{
"states": ["CA", "TX"],
"departmentTypes": ["career", "combination"],
"minFirefighters": 25,
"hasPhoneOnly": true,
"includeStations": false,
"sortBy": "leadScore",
"maxResults": 1000
}
  • states — 2-letter postal codes (CA, TX, NY). Empty = whole country (~27k departments).
  • cities / counties / zipCodes — narrow by headquarters location (ZIP accepts prefixes).
  • departmentTypescareer, volunteer, combination, mostlyCareer, mostlyVolunteer.
  • organizationTypeslocal, tribal, state, airport, federal, military, private, contract, other.
  • minStations / maxStations / minFirefighters / maxFirefighters / minCareerFirefighters — size targeting.
  • departmentNameQuery — name contains text (e.g. rural, township, airport).
  • hasWebsiteOnly / hasPhoneOnly / primaryEmergencyMgmtOnly — contactability & role filters.
  • fdids — look up specific departments by USFA Fire Department ID.
  • includeStations (default false) — add a stations[] array of individual station names & addresses.
  • minLeadScore / sortBy / maxResults — ranking and limit.
  • monitorMode / monitorKey — emit only newly-registered or changed departments per saved search.

Output

One record per fire department (recordType: "fireDepartment"):

{
"recordType": "fireDepartment",
"source": "usfa-registry",
"sourceLabel": "USFA National Fire Department Registry (FEMA)",
"fdid": "12345",
"departmentName": "Springfield Fire Department",
"departmentType": "Career",
"isCareer": true,
"isVolunteer": false,
"isCombination": false,
"organizationType": "Local (includes career, combination, and volunteer fire departments and fire districts)",
"organizationCategory": "Local",
"organizationKey": "local",
"hqStreet": "200 Main St",
"hqCity": "Springfield",
"hqState": "IL",
"hqZip": "62701",
"county": "Sangamon",
"hqFullAddress": "200 Main St, Springfield, IL, 62701",
"region": "Midwest",
"mailFullAddress": "PO Box 100, Springfield, IL, 62705",
"hasDistinctMailing": true,
"phone": "(217) 555-0100",
"fax": "(217) 555-0101",
"website": "https://springfieldfire.gov",
"hasPhone": true,
"hasWebsite": true,
"numberOfStations": 12,
"activeFirefightersCareer": 210,
"activeFirefightersVolunteer": 0,
"activeFirefightersPaidPerCall": 0,
"totalActiveFirefighters": 210,
"nonFirefightingCivilian": 18,
"nonFirefightingVolunteer": 0,
"totalPersonnel": 228,
"departmentSizeTier": "major",
"isPrimaryEmergencyMgmtAgency": true,
"stations": [],
"leadScore": 96,
"leadSignals": ["major_department", "career_department", "multi_station", "has_website", "has_phone", "primary_emergency_mgmt"],
"scrapedAt": "2026-06-20T12:00:00.000Z"
}

Every record also includes sourceFields — the full raw registry row — so no source data is ever lost.

Automate & schedule

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

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/us-fire-department-leads-scraper').call({
states: ['CA'],
departmentTypes: ['career', 'combination'],
minFirefighters: 25,
hasPhoneOnly: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} fire department leads`);

Integrate with any app

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

  • Make — multi-step automation scenarios.
  • Zapier — push new department leads straight into your CRM.
  • Slack — get notified when a monitored search finds new departments.
  • 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 career fire departments in California with 25+ firefighters and their phone numbers" and let it run this 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 US public-sector & B2B lead-gen stack from official registries:

Tips

  • Whole country: leave states empty to pull the full ~27k-department registry in one run.
  • Budget targeting: use minCareerFirefighters or departmentTypes: ["career"] to focus on departments with full-time staff and larger procurement budgets.
  • Grant prospects: filter departmentTypes: ["volunteer"] with a low maxFirefighters for small/rural grant-writing candidates.
  • Recurring feed: turn on monitorMode and run on a Schedule to receive only new or updated departments.
  • Cost control: the actor downloads one national file and filters in memory — a whole-country run is fast and inexpensive.

FAQ

Where does the data come from? The official USFA National Fire Department Registry, maintained by FEMA's U.S. Fire Administration — the authoritative national list of US fire departments. The actor downloads the registry's own public national export and structures it.

How current is it? The registry is continuously updated as departments register and update their information; each run downloads the latest export. Use monitorMode to capture changes over time.

Does it include phone numbers and websites? Yes — headquarters phone is present for the large majority of departments, and websites where the department published one. Fields are null only when the department didn't provide them.

Are emails included? No — the registry does not publish department email addresses, so this actor does not fabricate them. Use the website field to find a contact form or published address.

Can I get individual fire-station addresses? Yes — enable includeStations to attach a stations[] array of station names and addresses for departments that submitted station detail.

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.

Is this legal? This actor collects publicly available data from an official federal registry. You are responsible for using the data in compliance with applicable laws and the source'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.