NYC 311 Complaints Scraper avatar

NYC 311 Complaints Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
NYC 311 Complaints Scraper

NYC 311 Complaints Scraper

Property managers, researchers & local businesses: export NYC 311 complaints (noise, heat, rodents...) with status and resolution by area.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Levani Zurabiani

Levani Zurabiani

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Property managers, researchers & local businesses: export NYC 311 complaints (noise, heat, rodents...) with status and resolution by area.

Data comes from NYC Open Data (Socrata SODA API), dataset: 311 Service Requests from 2020 to Present (erm2-nwe9). Results are clean, normalized JSON you can export as CSV, Excel or JSON.

Who is it for?

Property managers, real-estate investors, urban researchers, journalists, local businesses and civic-tech teams who need neighborhood-level complaint data.

Use cases

  • Track noise, heat/hot water or rodent complaints near properties
  • Neighborhood quality-of-life scoring for real-estate analysis
  • Measure agency response and resolution times
  • Dashboards and journalism on city services

How to use

  1. Click Start and pick filters (the form is pre-filled with an example).
  2. Run the actor; results appear in the Output tab.
  3. Download as CSV/Excel/JSON, call the API, or schedule it.

Example input:

{
"borough": "QUEENS",
"status": "Closed",
"keywords": [
"noise"
],
"maxResults": 100
}

Input fields

FieldDescription
boroughFilter by borough. One of: MANHATTAN, BRONX, BROOKLYN, QUEENS, STATEN ISLAND.
zip5-digit NYC ZIP code.
dateFromInclusive start date (YYYY-MM-DD).
dateToInclusive end date (YYYY-MM-DD).
keywordsCase-insensitive; a record matches if any keyword appears in the searched text fields.
statusFilter by status. One of: ANY, Open, In Progress, Closed, Pending, Assigned, Started.
maxResultsHard cap 10000.
onlyNewReturn only records not returned by previous runs of this actor (for scheduled alerts).
appTokenRaises NYC Open Data rate limits. Can also be set with env SOCRATA_APP_TOKEN.

Sample output

A real record (personal data removed):

{
"id": "70714569",
"source": "erm2-nwe9",
"createdAt": "2026-10-11T01:34:32.000",
"createdDate": "2026-10-11",
"closedDate": "2026-10-11",
"agency": "NYPD",
"complaintType": "Noise - Commercial",
"descriptor": "Loud Music/Party",
"locationType": "Club/Bar/Restaurant",
"status": "Closed",
"resolution": "The New York City Police Department responded to the complaint and their investigation determined that no criminal violation existed. The condition was corrected without the need to issue a summons or effect an arrest. If the problem persists, please contact 311 to create another complaint. If possible, provide contact information so responding officers may reach out to you for more details. If necessary, your complaint may be referred to your local precinct's special operations units (Quality of Life, etc.). Thank you for your attention to this matter. We count on New Yorkers like yourself to maintain a safe City, so please let us know if you see other conditions that require our attention.",
"borough": "QUEENS",
"zip": "11435",
"streetName": "JAMAICA AVENUE",
"communityBoard": "12 QUEENS",
"channel": "PHONE",
"latitude": 40.702,
"longitude": -73.811
}

Every record has these normalized fields (any can be null): id, source, createdAt, createdDate, closedDate, agency, complaintType, descriptor, locationType, status, resolution, borough, zip, streetName, communityBoard, channel, latitude, longitude.

Free sample (100 rows)

Download a free 100-row sample produced by this actor (personal data removed), no account needed:

Pricing

Pay per result: $3.00 per 1,000 results. Platform compute is included.

ResultsCost
100$0.30
1,000$3.00
10,000$30.00

Use maxResults to cap spending. Charges are billed through the Apify platform only.

Integrations

Connect results to Zapier, Make, Google Sheets, Slack, or your own backend with Apify integrations and webhooks (e.g. trigger on "run succeeded" and fetch the dataset). You can also call the actor through the Apify API or schedule it in Apify Console.

FAQ

Does the output include the caller or exact incident address? No. Personal information and precise incident addresses are removed; you get street name, ZIP, community board and coordinates as published.

Which years are covered? The NYC Open Data 311 dataset from 2020 to present.

Is personal data included? No. Personal names, phone numbers, emails and residential/owner mailing addresses are removed and this cannot be switched off. Business names are kept only when they clearly look like a company (INC, LLC, CORP...).

How many results can I get per run? Up to 10000 per run (maxResults). Narrow by date, borough, ZIP or keywords for larger pulls.

Do I need an NYC Open Data token? No. An optional Socrata app token (appToken) only raises rate limits.

Is the data official? It is public NYC Open Data, passed through as published. Verify important decisions with the issuing agency.

Running locally

ACTOR_INPUT='{"maxResults":10}' npx tsx actors/service-requests-311/src/main.ts
# results -> ./storage/datasets/default/items.json

Disclaimer

This actor is not affiliated with, endorsed by, or sponsored by the City of New York or any of its agencies. Data is provided "as is" from NYC Open Data and may be incomplete, delayed or inaccurate. Check important information against official sources.