US Law Enforcement, Corrections & Public Safety Leads Scraper avatar

US Law Enforcement, Corrections & Public Safety Leads Scraper

Pricing

$5.00 / 1,000 public-safety agency lead records

Go to Apify Store
US Law Enforcement, Corrections & Public Safety Leads Scraper

US Law Enforcement, Corrections & Public Safety Leads Scraper

Scrape every US law enforcement agency (police, sheriff, state, federal, tribal & campus), correctional facility, EMS station & 911/EOC: name, address, phone, type, staffing, capacity, NAICS, website, geo + lead score. Filter by category, state & size. Official HIFLD gov data + monitor mode.

Pricing

$5.00 / 1,000 public-safety agency lead records

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Build the complete map of US public-safety agencies — every law enforcement agency (local & municipal police, sheriff's offices, state police & highway patrol, federal, tribal and campus police), every correctional facility (prisons, jails & detention centers), plus optional EMS / ambulance stations and 911 / emergency-operations centers — in one clean, structured dataset. Each record is a ready-to-use B2B lead: agency name, full address, phone, agency type, staffing & capacity, NAICS, website, geo coordinates and a 0-100 lead score.

Data comes straight from official US government open data (HIFLD — Homeland Infrastructure Foundation-Level Data). No login, no cookies, no browser, no API key — fast, reliable extraction of ~23,000 law enforcement agencies, ~6,500 correctional facilities, ~42,000 EMS stations and ~5,900 emergency-operations centers.

Why this scraper?

Generic "verified-email" lead scrapers grab a handful of agencies off Google Maps and miss the data that actually matters for selling to government. This actor reads the authoritative national registry directly and ships the richest public-safety dataset in the category — agency type, sworn-officer counts, inmate capacity & security level, EMS personnel & fleet, NAICS and geo — merged across four agency types into one unified schema.

DataGeneric crawlersThis actor
Agency name, full addresspartial✅ ~100%
Phone numberpartial✅ ~90%+
Agency type (police / sheriff / state / federal / tribal / campus)✅ normalized
Sworn-officer staffing (full/part-time, civilians)✅ law enforcement
Correctional capacity & security level✅ corrections
EMS personnel & fleet (ambulances, trucks)✅ EMS
NAICS, county FIPS, geo coordinates
Websitepartial✅ when published
Lead score + lead signals✅ 0-100
One unified dataset across 4 agency types
Only-new / changed monitoring✅ monitor mode

Who buys this data?

Public-safety and govtech vendors sell into a high-budget, hard-to-list market. This is the prospecting list:

  • Govtech & public-safety software — CAD / RMS / dispatch, records management, evidence, ALPR, body-worn cameras, drones, real-time crime centers.
  • Corrections vendors — inmate communications, commissary, correctional healthcare, food service, JMS / offender-management software, tablets.
  • EMS & fleet — ambulance manufacturers, EMS software / ePCR, medical supplies, vehicle upfitters, fuel & telematics.
  • Equipment & uniforms — duty gear, firearms & less-lethal, fleet vehicles, radios & communications.
  • Training, consulting & staffing — academies, policy/compliance (e.g. accreditation), recruiting, grant-writing.
  • Grants, GIS & analytics — anyone targeting agencies by size, type, jurisdiction or geography.

Use cases

  • Lead generation — export every agency in a state or county with type, size and phone, then load your CRM or outreach sequence.
  • Territory & TAM planning — size your market by agency type, sworn-officer count or inmate capacity.
  • Government RFP / bid targeting — build account lists by jurisdiction and agency category.
  • Competitive & market research — map the full universe of agencies in a region, not just the ones with a website.
  • Data enrichment — append agency type, NAICS, county FIPS and geo to your existing account list.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the US Law Enforcement, Corrections & Public Safety Leads Scraper, pick your categories (Law enforcement + Corrections by default) and add a state (e.g. TX) to target a market.
  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

{
"categories": ["lawEnforcement", "corrections"],
"states": ["TX"],
"agencyTypes": ["Sheriff", "Local"],
"minSwornOfficers": 25,
"hasPhone": true,
"maxResults": 1000,
"sortBy": "leadScore"
}
  • categories (default lawEnforcement + corrections) — any of lawEnforcement, corrections, ems, eoc. EMS and 911/EOC are optional add-ons (fire departments are in our separate US Fire Department Leads actor).
  • states / cities / counties / zipCodes — location filters (USPS state codes, case-insensitive city/county contains, ZIP prefix). All optional, combine with AND.
  • nameQuery — only agencies whose name contains this text.
  • agencyTypes — keep only matching types (e.g. Sheriff, State Police, Campus, Tribal, Federal, County Jail, State Prison).
  • tribalOnly — only tribal / Native American law enforcement.
  • minSwornOfficers / minInmateCapacity — size thresholds to target larger, higher-budget agencies.
  • hasPhone / hasWebsite / hasEmail — require a contact channel.
  • maxResults (default 1000) — top-N by your sort order.
  • sortBy (default leadScore)leadScore, agencySize, name, state, or source.
  • monitorMode / monitorKey — only return new / changed agencies across runs (see below).
  • proxyConfiguration — optional; HIFLD needs no proxy (default off is fastest).

Output

By default you get one clean, dense table of agencies — every column applies to every row. A law-enforcement record:

{
"category": "lawEnforcement",
"categoryLabel": "Law enforcement agency",
"name": "Travis County Sheriffs Office",
"agencyType": "Sheriff",
"rawAgencyType": "COUNTY SHERIFFS OFFICE",
"address1": "5555 AIRPORT BLVD",
"city": "Austin",
"county": "Travis",
"countyFips": "48453",
"state": "TX",
"zip": "78751",
"fullAddress": "5555 AIRPORT BLVD, Austin, TX, 78751",
"latitude": 30.31, "longitude": -97.71,
"phone": "(512) 854-9770",
"website": "http://www.tcsheriff.org",
"naicsCode": "922120",
"naicsDescription": "Police Protection",
"isTribal": false,
"totalSwornOfficers": 1480,
"staffing": { "fullTimeSwornOfficers": 1450, "partTimeSwornOfficers": 30, "fullTimeCivilians": 620 },
"bestPhone": "(512) 854-9770",
"leadScore": 88,
"leadSignals": ["Has phone number", "Has website", "Large agency (100+ sworn officers)", "Primary policing agency"],
"mapUrl": "https://www.google.com/maps/search/?api=1&query=30.31,-97.71",
"sourceDatasetUrl": "https://hifld-geoplatform.hub.arcgis.com/datasets/local-law-enforcement-locations",
"scrapedAt": "2026-06-21T12:00:00.000Z",
"sourceFields": { "...": "every original HIFLD attribute, untouched" }
}

Correctional facilities add inmateCapacity, securityLevel and inmatePopulation. EMS records add personnel, fleet (ambulances, trucks), serviceLevel and owner. 911/EOC records add email, fax, dispatchPhone, governmentLevel, totalStaff and capacity. Every record also carries a full sourceFields object with the complete, untouched original attributes, so nothing is ever lost.

What to expect (field coverage)

HIFLD is government-maintained, so a few fields are populated only when the source agency reported them. Typical coverage:

CategoryAlways presentUsually presentPresent when reported
Law enforcementname, address, state, typephone ~90%, county/FIPS, NAICSsworn-officer counts, website
Correctionsname, address, state, typephone, capacitysecurity level, website
EMSname, address, statephone, typepersonnel, fleet, service level, owner
911 / EOCname, address, statephoneemail, fax, staff, capacity, gov level

A blank field means the source didn't publish it for that record — not that scraping failed. Nothing is dropped.

Monitor mode — only new & changed agencies

Turn on monitorMode and the actor remembers every agency it has returned (in a per-key store). On later runs it emits only new or changed records, each tagged with a monitorEvent of new or updated — perfect for catching newly added agencies, facility openings, contact changes and capacity changes.

This complements Apify's built-in scheduler rather than conflicting with it: a Schedule decides when the actor runs; monitor mode decides what's new each time. Use a distinct monitorKey per saved search (e.g. tx-sheriffs) so each market tracks independently.

Automate & schedule

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

  • Apify API — start runs, fetch datasets, manage schedules over REST.
  • apify-client for JavaScript and Python — official SDKs.
  • Schedules — run it weekly/monthly with monitor mode to capture new agencies as the registry updates.
  • 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/us-law-enforcement-leads').call({
categories: ['lawEnforcement', 'corrections'],
states: ['TX'],
minSwornOfficers: 25,
maxResults: 1000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} agencies`);

Integrate with any app

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

  • Make — multi-step automation scenarios.
  • Zapier — push new agency leads straight into your CRM.
  • Slack — get notified when monitored markets add agencies.
  • 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 sheriff's office in Texas with 25+ sworn officers and a phone number" and let it run the scraper for you.

More US B2B lead scrapers from scrapesage

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

Tips

  • Always set a state (or city/county) — it filters server-side, so runs are faster and cheaper than scanning the whole country.
  • Target larger agencies with minSwornOfficers (law enforcement) or minInmateCapacity (corrections) — bigger agencies mean bigger budgets.
  • Need emails? Turn on the 911 / EOC category — emergency-operations centers frequently publish an email and fax. Then run the Website Contact Scraper over the website field to enrich the rest.
  • Recurring monitoring: combine Schedules with monitorMode to track a state and only pull new or changed agencies.

FAQ

Where does the data come from? Official US government HIFLD (Homeland Infrastructure Foundation-Level Data) open datasets, served as keyless ArcGIS feature services on the FEMA / HIFLD GeoPlatform. The underlying sources include the DOJ/BJS law-enforcement census and the HIFLD prison, EMS and EOC layers.

Does it need an API key or login? No. Everything is public, keyless and no-browser.

Does it include emails? Law-enforcement and corrections records are phone-and-website oriented (government agencies rarely publish a generic email in these registries). The 911 / EOC category often does include email — and you can enrich any record's website with our Website Contact Scraper.

Are fire departments included? Not in the default categories — fire & rescue departments have their own, richer source and live in our US Fire Department Leads Scraper. EMS stations (which overlap some fire-based EMS) are available here as an optional category.

How fresh is it? HIFLD layers update periodically (not daily). Agency names, addresses and phones are stable; use monitorMode on a schedule to capture changes as they land.

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.

A field is empty — why? The source agency didn't report it. Fields are blank only when the data isn't published — never because the scraper skipped it; the full original record is always in sourceFields.

Is this legal? The actor collects publicly available government data only. You're responsible for using it in compliance with applicable laws and the source 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.