City Crime & Safety Watch Scraper - 311, EPA, NHTSA, NOAA, USGS avatar

City Crime & Safety Watch Scraper - 311, EPA, NHTSA, NOAA, USGS

Pricing

from $19.00 / 1,000 result items

Go to Apify Store
City Crime & Safety Watch Scraper - 311, EPA, NHTSA, NOAA, USGS

City Crime & Safety Watch Scraper - 311, EPA, NHTSA, NOAA, USGS

Scrape Boston 311 requests, EPA ECHO compliance, USGS stream gauges, NHTSA vehicle complaints and NOAA storm events in one run. Export to CSV, JSON, Excel or XML.

Pricing

from $19.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ParseForge Banner

๐Ÿšจ City Crime & Safety Watch Scraper

๐Ÿš€ Export Boston 311 requests, EPA ECHO facility compliance, USGS stream gauge readings, NHTSA vehicle complaints and NOAA storm events in seconds. One run, five public agencies, one 23-field row layout.

Pick a state, a year and a vehicle, and the Actor queries five U.S. public safety sources in parallel: the City of Boston 311 system, the EPA Enforcement and Compliance History Online (ECHO) facility search, the USGS Water Services instantaneous values feed, the NHTSA vehicle complaints API and the NOAA Storm Events database. Every record lands in the same flat row with a title, category, status, severity, date, agency, address, coordinates and a details object carrying the source's own fields, ready for CSV, JSON, Excel or XML.

The live coverage is large: 50,862 requests in the current Boston 311 system plus yearly archives back to 2017 (276,093 requests in 2025 alone), 359 EPA-regulated facilities in Boston's 02127 ZIP code, 142 active USGS gauges in Massachusetts, 222 NHTSA complaints on file for the 2020 Honda Civic and 28,842 NOAA storm events recorded so far in 2026 (72,361 in 2025).

๐ŸŽฏ Target Audience๐Ÿ’ก Primary Use Cases
Insurance and property risk analystsScore a ZIP code on open 311 requests, EPA compliance flags and recent storm damage
Data journalists and civic researchersCross-reference municipal complaints, environmental enforcement and severe weather in one table
Emergency management and public works teamsWatch gauge heights, storm reports and overdue service requests in a daily feed
Fleet, dealership and automotive safety teamsTrack NHTSA complaint volume, crashes, fires and injuries for the models you operate or sell

๐Ÿ“‹ What the City Crime & Safety Watch Scraper does

๐Ÿ’ก Why it matters: each of these agencies publishes its data behind a different API, file format and query syntax. Building the same watch by hand means five integrations and a spreadsheet to stitch them together. This Actor sends one set of filters to every selected source, collects records round-robin so Max Items 10 really means 10 rows, and never bills for a row it did not deliver.

  • ๐Ÿ™๏ธ Boston 311 requests: case ID, topic, service, status, on-time flag, open, target and close dates, closure reason and comments, assigned department and team, full address, neighborhood, districts, ward, precinct, coordinates and photo links. Full-text search and a status filter, on the live system or any yearly archive since 2017.
  • ๐Ÿญ EPA ECHO facilities: registry ID, programs (Clean Air Act, Clean Water Act, RCRA, Safe Drinking Water Act, TRI), compliance status per program, significant noncompliance flag, quarters in noncompliance, inspections, formal actions and penalties over the last five years, permit IDs, SIC and NAICS codes, address and coordinates.
  • ๐ŸŒŠ USGS stream gauges: every active site in the state with the latest discharge (ft3/s), gauge height (ft), observation time, site type, HUC and county FIPS.
  • ๐Ÿš— NHTSA vehicle complaints: ODI number, manufacturer, affected components, crash and fire flags, injuries, deaths, incident and filing dates, VIN prefix, full complaint text and the products it covers.
  • ๐ŸŒช๏ธ NOAA storm events: event type, county or forecast zone, weather office, begin and end times, magnitude, tornado scale, flood cause, property and crop damage, direct and indirect deaths and injuries, coordinates and the event and episode narratives.
  • ๐Ÿ” One schema for all five: identical column order in every row; values a source cannot provide are marked N/A (not applicable) or Not Disclosed (missing for that record), never left blank.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

A short walkthrough video is in production.

๐Ÿ“Š Output

Each row is one safety record. Fields, in dataset order:

FieldDescription
๐Ÿ›ฐ sourceboston-311-complaints, epa-echo-violations, usgs-streamflow, nhtsa-vehicle-complaints or noaa-storm-events
๐Ÿ› sourceNameHuman-readable source name
๐Ÿ†” idCase ID, EPA registry ID, USGS site number, NHTSA ODI number or NOAA event ID
๐Ÿ“Œ titleOne-line headline of the record
๐Ÿ”— urlLink to the record on the agency website
๐Ÿท category311 case topic, EPA programs, gauge type, NHTSA components or NOAA event type
๐Ÿ“ status311 case status, EPA compliance status, gauge status, NHTSA crash or fire summary (N/A for NOAA)
๐Ÿšจ severityOverdue / On time, Significant noncompliance / No violation identified, Fatal / Injury / Property damage / No reported impact and so on
๐Ÿ“ descriptionService summary, compliance summary, gauge reading, complaint text or event narrative
๐Ÿ“… dateISO 8601 open date, last inspection date, observation time, incident date or event begin time
๐Ÿข agencyCity department, EPA region, USGS, NHTSA or the NOAA weather office
๐Ÿ  addressStreet address or storm begin location
๐ŸŒ† city / ๐Ÿ—บ county / ๐Ÿ‡บ๐Ÿ‡ธ state / ๐Ÿ“ฎ zipCodeLocation fields where the source carries them
๐Ÿงญ latitude / ๐Ÿงญ longitudeDecimal degrees (N/A for NHTSA)
โšฐ deaths / ๐Ÿฉน injuriesCounts for NHTSA and NOAA records (N/A elsewhere)
๐Ÿ“‚ detailsThe source's own fields in camelCase (24 to 31 keys depending on the source)
๐Ÿ•’ scrapedAtISO timestamp of the collection
โŒ errornull on success; error rows carry only this field and are never charged

Three real records from the verification run (Massachusetts, Max Items 5):

[
{
"source": "boston-311-complaints",
"sourceName": "Boston 311",
"id": "BCS-00311435",
"title": "Other at 96 Hancock St, Boston, MA 02125",
"url": "https://311.boston.gov/tickets/BCS-00311435",
"category": "Other",
"status": "Create",
"severity": "On time",
"description": "Service: Other. Assigned to Boston 311 (311 Supervisors). Reported via BOS311.",
"date": "2026-09-05T00:11:04.801Z",
"agency": "City of Boston, Boston 311",
"address": "96 Hancock St, Boston, MA 02125",
"city": "Boston",
"county": "Suffolk",
"state": "MA",
"zipCode": "02125",
"latitude": 42.312645,
"longitude": -71.0641305,
"deaths": "N/A",
"injuries": "N/A",
"details": {
"caseId": "BCS-00311435",
"caseTopic": "Other",
"serviceName": "Other",
"subject": "Other",
"caseStatus": "Create",
"onTime": "ONTIME",
"openDate": "2026-09-05T00:11:04.801Z",
"closeDate": "Not Disclosed",
"targetCloseDate": "2026-09-06T00:11:04.801Z",
"closureReason": "Not Disclosed",
"closureComments": "Not Disclosed",
"assignedDepartment": "Boston 311",
"assignedTeam": "311 Supervisors",
"departmentCode": "Not Disclosed",
"reportSource": "BOS311",
"fullAddress": "96 Hancock St, Boston, MA 02125",
"streetNumber": "96",
"streetName": "Hancock St",
"zipCode": "02125",
"neighborhood": "Dorchester",
"publicWorksDistrict": "3",
"cityCouncilDistrict": "3",
"fireDistrict": "7",
"policeDistrict": "C11",
"ward": "13",
"precinct": "06",
"latitude": 42.312645,
"longitude": -71.0641305,
"submittedPhoto": "Not Disclosed",
"closedPhoto": "Not Disclosed"
},
"scrapedAt": "2026-09-08T03:41:51.788Z",
"error": null
},
{
"source": "usgs-streamflow",
"sourceName": "USGS Water Services",
"id": "01094400",
"title": "NORTH NASHUA RIVER AT FITCHBURG, MA",
"url": "https://waterdata.usgs.gov/monitoring-location/01094400/",
"category": "Streamflow gauge",
"status": "Active",
"severity": "N/A",
"description": "Discharge 15.2 ft3/s, gauge height 2.24 ft observed 2026-09-07T22:30:00.000-04:00",
"date": "2026-09-07T22:30:00.000-04:00",
"agency": "USGS",
"address": "N/A",
"city": "N/A",
"county": "N/A",
"state": "MA",
"zipCode": "N/A",
"latitude": 42.57620079,
"longitude": -71.7881285,
"deaths": "N/A",
"injuries": "N/A",
"details": {
"siteNumber": "01094400",
"siteName": "NORTH NASHUA RIVER AT FITCHBURG, MA",
"siteType": "ST",
"hucCode": "01070004",
"countyFips": "25027",
"dischargeCfs": 15.2,
"dischargeObservedAt": "2026-09-07T22:30:00.000-04:00",
"gaugeHeightFt": 2.24,
"gaugeHeightObservedAt": "2026-09-07T22:30:00.000-04:00",
"qualifiers": [
"P"
]
},
"scrapedAt": "2026-09-08T03:41:52.191Z",
"error": null
},
{
"source": "noaa-storm-events",
"sourceName": "NOAA Storm Events",
"id": "1318063",
"title": "Thunderstorm Wind in Worcester, Massachusetts",
"url": "https://www.ncdc.noaa.gov/stormevents/eventdetails.jsp?id=1318063",
"category": "Thunderstorm Wind",
"status": "N/A",
"severity": "Property damage",
"description": "In Princeton, there were downed trees and wires near Ball Hill Rd.",
"date": "2026-04-14T19:00:00",
"agency": "NOAA NWS BOX",
"address": ".69 N Brooks",
"city": "N/A",
"county": "Worcester",
"state": "MA",
"zipCode": "N/A",
"latitude": 42.43,
"longitude": -71.9,
"deaths": 0,
"injuries": 0,
"details": {
"eventId": "1318063",
"episodeId": "210980",
"eventType": "Thunderstorm Wind",
"zoneType": "County",
"zoneName": "Worcester",
"weatherOffice": "BOX",
"beginDateTime": "2026-04-14T19:00:00",
"endDateTime": "2026-04-14T19:00:00",
"timezone": "EST-5",
"magnitude": 51,
"magnitudeType": "EG",
"floodCause": "Not Disclosed",
"tornadoScale": "Not Disclosed",
"damageProperty": "1.00K",
"damageCrops": "0.00K",
"reportSource": "Law Enforcement",
"deathsDirect": 0,
"deathsIndirect": 0,
"injuriesDirect": 0,
"injuriesIndirect": 0,
"endLocation": ".69 N Brooks",
"endLatitude": 42.43,
"endLongitude": -71.9,
"episodeNarrative": "A front moving through brought a squall line through western Massachusetts and into central Massachusetts producing pockets of damaging winds which downed several trees.",
"eventNarrative": "In Princeton, there were downed trees and wires near Ball Hill Rd."
},
"scrapedAt": "2026-09-08T03:41:52.471Z",
"error": null
}
]

โœจ Why choose this Actor

What you get
Five agencies, one runBoston 311, EPA ECHO, USGS, NHTSA and NOAA answered from one input form.
Exact item countsRecords are collected round-robin across the selected sources, so Max Items 10 means 10 rows, not 6 rows plus error rows.
Severity you can filter onOverdue, Significant noncompliance, Fatal, Injury, Property damage and similar values are computed for every row.
Source fidelityThe details object keeps every native field, from Boston ward and precinct to NOAA tornado scale and EPA penalty totals.
No API keysAll five endpoints are public; nothing to register, no proxy needed by default.
Honest blanksN/A and Not Disclosed instead of empty cells, so filters in Excel behave.

๐Ÿ“ˆ How it compares to alternatives

Single-agency scrapers on the Store return one dataset in one shape. This Actor joins five and states its ceilings up front.

FeatureThis ActorSingle-agency scrapersBy hand
Sources per run5 (any subset)11 at a time
Common row layout across agenciesYes, 23 fieldsNoNo
Computed severity columnYesRareNo
Boston 311 coverageLive system plus yearly archives 2017-2026VariesCSV downloads
EPA ECHO scopeOne state and ZIP code per run (ECHO rejects state-only queries)VariesFacility by facility
NHTSA scopeOne make, model and model year per runSameSame
NOAA scopeOne calendar year per run, any state, any event typeVaries12 MB CSV per year
SetupZero, run it nowZeroHours per pull

๐Ÿš€ How to use

  1. Create a free Apify account with $5 in credit.
  2. Open the City Crime & Safety Watch Scraper.
  3. Pick the sources, set the state, year, vehicle and any Boston or NOAA filters, choose Max Items and click Start.
  4. Download the dataset as CSV, Excel, JSON or XML from the Storage tab, or read it through the API.

A first run:

{
"sources": ["boston-311-complaints", "epa-echo-violations", "usgs-streamflow", "nhtsa-vehicle-complaints", "noaa-storm-events"],
"maxItems": 10,
"state": "MA",
"year": "current",
"vehicleMake": "Honda",
"vehicleModel": "Civic",
"vehicleModelYear": 2020,
"eventType": "All"
}

Free-plan runs return up to 10 records as a preview. Upgrade your Apify plan to collect up to 1,000,000 records per run.

๐Ÿ’ผ Business use cases

๐Ÿ  Property and casualty underwriting. An insurer runs Boston 311 with caseStatus: In progress, EPA ECHO for the ZIP code of a portfolio and NOAA events for the state, then scores each address on overdue requests, noncompliant facilities nearby and storm damage in the last year.

๐Ÿ“ฐ Investigative reporting. A newsroom pulls a year of Boston 311 requests for "rodent" or "needle", joins them with EPA facilities in the same neighborhoods and publishes a block-by-block map of where the city responds late.

๐Ÿš— Automotive safety monitoring. A dealership group schedules a weekly NHTSA run for every model year it sells, watches the severity column for Fatal and Injury complaints and reviews new components before a recall lands.

๐ŸŒŠ Flood and storm readiness. A public works team combines USGS gauge heights with NOAA Flash Flood and Flood events for the state to see which rivers rose during past storms and which gauges to watch this week.

๐Ÿ”Œ Automating City Crime & Safety Watch Scraper

  • Make and Zapier: run the Actor on a schedule and append new rows to Google Sheets or Airtable.
  • Slack: post a message when a run returns a NOAA event with severity: Fatal or a 311 request marked Overdue.
  • Airbyte: sync the dataset into BigQuery, Snowflake or Postgres for dashboards.
  • GitHub Actions: rebuild a public safety data file on every deployment of your app.
  • Google Drive: save each run as CSV or Excel for a shared folder.

Every integration starts from the Apify API or the ApifyClient for JavaScript and Python.

๐ŸŒŸ Beyond business use cases

  • Research: collect a year of storm events, gauge readings and 311 requests for a thesis on urban climate resilience.
  • Personal: check the EPA facilities, open service requests and recent storms around a home you plan to buy.
  • Non-profit: neighborhood associations can track how quickly the city closes requests on their streets.
  • Experimentation: feed complaint narratives and storm narratives into an LLM to prototype a local hazard summarizer.

๐Ÿค– Ask an AI assistant about this scraper

Give an AI agent live access to the five sources through the Model Context Protocol:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/city-crime-safety-watch-scraper"

Then ask in plain language, for example "List the overdue Boston 311 requests in Dorchester and the NOAA storm events in Massachusetts this year".

โ“ Frequently Asked Questions

๐Ÿ›๏ธ Which agencies does this Actor query?

The City of Boston 311 system (data.boston.gov), the EPA ECHO facility search, USGS Water Services, the NHTSA complaints API and the NOAA Storm Events database. Select any subset in the Sources field.

๐Ÿ—บ๏ธ Does it cover cities other than Boston?

The 311 source is Boston only. EPA ECHO, USGS and NOAA accept any U.S. state, and NHTSA complaints are national. Other city 311 systems can be added on request through the contact form below.

๐Ÿ”‘ Do I need an API key?

No. All five endpoints are public and the Actor sends no credentials.

๐Ÿ“ฆ How many records can I collect?

Free users get 10 records as a preview. Paid Apify users can set Max Items up to 1,000,000 per run, subject to what each source holds for your filters.

๐ŸŽฏ Why do I get exactly Max Items rows?

Each source fills its own pool a little above its fair share, then rows are delivered round-robin until the limit is reached. With five sources and Max Items 10 you get 2 rows from each.

๐Ÿญ Why does EPA ECHO need a ZIP code?

ECHO rejects a state-wide facility query with HTTP 500 because it exceeds the service's row limit. The Actor sends the selected state plus your ZIP code, or a large-city ZIP of that state when you leave the field empty.

๐Ÿš— How do I look up a different vehicle?

Set Vehicle make, Vehicle model and Model year, for example Ford, Focus, 2016 (1,191 complaints on file). NHTSA lists complaints per model year, so run once per year you care about.

๐ŸŒช๏ธ Which NOAA years and event types are available?

Any year from 2017 to the current year through the Year field, and 48 event types from Thunderstorm Wind to Tsunami. The Actor downloads the yearly file NOAA publishes and filters it by state and type.

๐Ÿ“… What does "current" mean in the Year field?

For Boston 311 it reads the live system launched in 2026; for NOAA it uses the most recent yearly file. Pick a year to read the Boston archive and the NOAA file for that year instead.

โš ๏ธ What do N/A and Not Disclosed mean?

N/A means the field does not exist for that source (a gauge reading has no ZIP code). Not Disclosed means the source carries the field but this record has no value (an open 311 request has no close date yet).

โŒ What happens if a source is down?

The other sources keep going and fill the item limit between them. The failed source adds one row containing only an error field, which is never charged, and the run status message says so.

๐Ÿ›ก๏ธ Do I need a proxy?

Not by default. All five sources answer direct requests from the Apify platform. The proxy input is there if your own runs start seeing HTTP 403 or 429.

โฐ Can I run this on a schedule?

Yes. Create an Apify schedule to run the Actor hourly, daily or weekly and connect the dataset to your pipeline.

๐Ÿ“„ What output formats are supported?

CSV, JSON, Excel and XML from the Apify Console or API. The details object is flattened into details.fieldName columns in CSV and Excel.

๐Ÿ”Œ Integrate with any app

The dataset is available through the Apify API the moment the run finishes. Use the run-sync-get-dataset-items endpoint for one-shot calls, webhooks to trigger downstream jobs, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.


๐Ÿ’ก Pro Tip: browse the complete ParseForge collection.

๐Ÿ†˜ Need Help? Open our contact form with your run ID, your input and what you expected.

โš ๏ธ Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the City of Boston, the U.S. Environmental Protection Agency, the U.S. Geological Survey, the National Highway Traffic Safety Administration or the National Oceanic and Atmospheric Administration. It collects only publicly available data. You are responsible for using the data in compliance with each source's terms of use and applicable data-protection laws.