US Law Enforcement, Corrections & Public Safety Leads Scraper
Pricing
$5.00 / 1,000 public-safety agency lead records
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
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.
| Data | Generic crawlers | This actor |
|---|---|---|
| Agency name, full address | partial | ✅ ~100% |
| Phone number | partial | ✅ ~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 | ❌ | ✅ |
| Website | partial | ✅ 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
- Sign up for Apify — the free plan is enough to try this actor.
- 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. - 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
{"categories": ["lawEnforcement", "corrections"],"states": ["TX"],"agencyTypes": ["Sheriff", "Local"],"minSwornOfficers": 25,"hasPhone": true,"maxResults": 1000,"sortBy": "leadScore"}
- categories (default
lawEnforcement+corrections) — any oflawEnforcement,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, orsource. - 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:
| Category | Always present | Usually present | Present when reported |
|---|---|---|---|
| Law enforcement | name, address, state, type | phone ~90%, county/FIPS, NAICS | sworn-officer counts, website |
| Corrections | name, address, state, type | phone, capacity | security level, website |
| EMS | name, address, state | phone, type | personnel, fleet, service level, owner |
| 911 / EOC | name, address, state | phone | email, 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:
- US Fire Department Leads Scraper — fire & rescue departments from the USFA registry (the public-safety sibling to this actor).
- US Healthcare Facility Leads Scraper — hospitals, ASCs, dialysis, SNFs, home health & hospice from CMS.
- US Schools Scraper — K-12 schools, districts & colleges from NCES + IPEDS.
- US Property Records Scraper — parcels, owners & mailing addresses from county assessors.
- US Business Formation Scraper — newly registered LLCs & corporations from Secretary of State filings.
- FMCSA Trucking Scraper — motor carriers, fleets & safety data.
- US Contractor License Scraper — licensed contractors across states.
- NPI Registry Scraper — US healthcare provider NPI directory.
- SAM.gov Scraper — federal contract opportunities.
- Website Contact Scraper — enrich any agency website with emails, phones & socials.
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) orminInmateCapacity(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
websitefield to enrich the rest. - Recurring monitoring: combine Schedules with
monitorModeto 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.