NYC DOB NOW Permit Watch
Pricing
$1.00 / 1,000 permit records
NYC DOB NOW Permit Watch
Export issued NYC DOB NOW Build permits by borough, ZIP and work type. Get dates, status, estimated cost and parcel IDs as structured rows. No people or contact fields. $1 per 1,000 successful records.
Pricing
$1.00 / 1,000 permit records
Rating
0.0
(0)
Developer
Althor Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Export dated permit rows from the official NYC Department of Buildings DOB NOW Build dataset. Each run is a bounded snapshot over issued_date, filtered by borough, ZIP code, work type, filing number, or sequence number.
Default run
With no input, the Actor reads Manhattan records issued during the 14 days before the run date and writes up to 25 validated rows.
{"queries": [{"borough": "Manhattan"},{"zipCode": "10001", "workType": "General Construction"}],"issuedAfter": "2026-10-18","issuedBefore": "2026-11-01","maxItems": 1000}
The date window defaults to the most recent 14 days and cannot exceed 90 days. Results are limited snapshots, ordered by newest issue date within each filter. They do not enumerate every matching permit or page beyond the limit. Queries run sequentially, share one global row cap, and are rate-limited to at least 1.5 seconds apart. A run accepts 1 to 100 query objects. Each object must contain at least one typed filter. It accepts no URL, free-form SoQL, or extra input fields.
Output
Each row has a stable permit_id derived from the source filing, work permit, sequence, and work type. NYC can publish multiple work types under the same filing, work permit, and sequence identifiers. It includes issue and expiry dates, work type, borough, ZIP code, permit status, BBL, estimated cost when numeric, the official dataset URL, and observation time.
Estimated cost is the source's estimated_job_costs; it is not a bid, fee, valuation, or verified final cost. Missing or invalid values are null. The Actor does not assign a commercial or residential classification.
Only these source fields are selected: job_filing_number, work_permit, sequence_number, borough, zip_code, work_type, issued_date, expired_date, estimated_job_costs, permit_status, and bbl. The Actor does not request owner, applicant, person, contact, description, or address fields and ignores unexpected response keys.
Scope is DOB NOW Build permit filings in the linked dataset. It excludes Electrical, Elevator, and LAA records. The source is a dated feed; repeated scheduled windows may return the same permits. The Actor keeps no seen-ID baseline and does not report new, changed, deleted, or revoked permits. Missing rows do not establish revocation or deletion. Source freshness and completeness are controlled by the City dataset.
The Actor makes one request per filter. It does not follow redirects or retry a failed query. HTTP 401, 403, 429, source login/CAPTCHA responses, or a redirect stop the run. HTTP 5xx responses receive a five-second backoff and then stop without retry. Requests use Apify's configured US Residential proxy; no source cookies or credentials are sent. Successful rows are written to the default dataset. Invalid rows, duplicate rows, and failed queries are counted in OUTPUT and are not dataset-item billing events.
Run summary
Successful query example:
{"status": "ok","records_written": 1,"planned_inputs": 1,"attempted_inputs": 1,"unattempted_inputs": 0,"health": {"attempted": 1, "succeeded": 1, "blocked": 0},"results": [{"query_index": 1, "status": "ok", "http_status": 200, "records_seen": 1, "rows_written": 1, "rows_skipped": 0, "duplicates_skipped": 0}],"errors": [],"stop_reason": null,"issued_after": "2026-10-18","issued_before": "2026-11-01","billing_event": "apify-default-dataset-item","source": "NYC DOB NOW Build Permits","mode": "dated_snapshot"}
Blocked query example:
{"status": "blocked","records_written": 0,"planned_inputs": 1,"attempted_inputs": 1,"unattempted_inputs": 0,"health": {"attempted": 1, "succeeded": 0, "blocked": 1},"results": [{"query_index": 1, "status": "blocked", "http_status": 403, "records_seen": 0, "rows_written": 0, "rows_skipped": 0, "duplicates_skipped": 0, "reason": "source_access_blocked"}],"errors": [{"code": "source_access_blocked"}],"stop_reason": "source_access_blocked","issued_after": "2026-10-18","issued_before": "2026-11-01","billing_event": "apify-default-dataset-item","source": "NYC DOB NOW Build Permits","mode": "dated_snapshot"}
Pricing
$0.001 per successfully written permit record, or $1 per 1,000 records. Residential proxy and platform usage are included. Failed, invalid, duplicate and empty results have no result charge. The billing event is one successfully written default-dataset row. There is no start charge or manual charge call. The Actor writes permit rows to the Apify default dataset and query diagnostics to OUTPUT; it creates no custom baseline storage. Apify retains run inputs and output under its configured platform retention.
Source
NYC DOB NOW Build Permits, official NYC Open Data API. Observed schema and source access were validated with a dated 20-query Residential probe on 2026-11-01. A probe does not prove ongoing availability, complete coverage, a commercial classification, or customer demand.