{
  "openapi": "3.0.1",
  "info": {
    "title": "NYC DOB Building Permits Scraper: Contractors & Owners",
    "description": "Scrape NYC Department of Buildings permits from DOB NOW across all five boroughs. Extract address, BIN, BBL, work type, job cost, contractor license, filing rep and property owner contacts. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "gmlDIzf0khq2vLnyh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~nyc-dob-permits-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-nyc-dob-permits-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapers_lat~nyc-dob-permits-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-nyc-dob-permits-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapers_lat~nyc-dob-permits-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-nyc-dob-permits-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of permit records to collect. Optional. Results are returned newest issued first."
          },
          "borough": {
            "title": "Borough",
            "enum": [
              "",
              "MANHATTAN",
              "BRONX",
              "BROOKLYN",
              "QUEENS",
              "STATEN ISLAND"
            ],
            "type": "string",
            "description": "Restrict to one NYC borough. Leave as Any to include all five boroughs.",
            "default": ""
          },
          "workType": {
            "title": "Work Type",
            "enum": [
              "",
              "General Construction",
              "Plumbing",
              "Sidewalk Shed",
              "Mechanical Systems",
              "Construction Fence",
              "Structural",
              "Sprinklers",
              "Supported Scaffold",
              "Sign",
              "Foundation",
              "Solar",
              "Protection and Mechanical Methods",
              "Earth Work",
              "Suspended Scaffold",
              "Standpipe",
              "Boiler Equipment",
              "Curb Cut",
              "Antenna",
              "Support of Excavation",
              "Full Demolition",
              "Green Roof"
            ],
            "type": "string",
            "description": "Type of work covered by the permit.",
            "default": ""
          },
          "filingReason": {
            "title": "Filing Reason",
            "enum": [
              "",
              "Initial Permit",
              "Renewal Permit Without Changes",
              "Renewal Permit with Changes",
              "No Work Permit"
            ],
            "type": "string",
            "description": "Why the permit was filed.",
            "default": ""
          },
          "licenseType": {
            "title": "Permittee License Type",
            "enum": [
              "",
              "GC",
              "P",
              "F",
              "S",
              "R",
              "PE",
              "RA",
              "O",
              "PR"
            ],
            "type": "string",
            "description": "License class of the permittee (contractor) who pulled the permit.",
            "default": ""
          },
          "permitStatus": {
            "title": "Permit Status",
            "enum": [
              "",
              "Permit Issued",
              "Signed-off"
            ],
            "type": "string",
            "description": "Filter by permit status. By default only permits that have actually been issued are returned (newest first).",
            "default": ""
          },
          "issuedFrom": {
            "title": "Issued From",
            "type": "string",
            "description": "Only permits issued on or after this date. Format YYYY-MM-DD, for example 2026-01-01."
          },
          "issuedTo": {
            "title": "Issued To",
            "type": "string",
            "description": "Only permits issued on or before this date. Format YYYY-MM-DD, for example 2026-06-25."
          },
          "bin": {
            "title": "Building Identification Number (BIN)",
            "type": "string",
            "description": "Look up all permits for a specific 7-digit NYC Building Identification Number (BIN)."
          },
          "street": {
            "title": "Street Name",
            "type": "string",
            "description": "Match permits on a street name, for example BROADWAY or PARK AVENUE."
          },
          "zip": {
            "title": "ZIP Code",
            "type": "string",
            "description": "Match permits by 5-digit property ZIP code, for example 10022."
          },
          "contractorName": {
            "title": "Contractor / Permittee Business Name",
            "type": "string",
            "description": "Match the permittee (contractor) business name, for example ADVANCED PLUMBING."
          },
          "ownerName": {
            "title": "Owner Name",
            "type": "string",
            "description": "Match the property owner name or owner business name, for example SL GREEN REALTY."
          },
          "searchText": {
            "title": "Free Text Search",
            "type": "string",
            "description": "Full-text search across the whole permit record (address, names, business names, job description)."
          },
          "appToken": {
            "title": "Socrata App Token",
            "type": "string",
            "description": "Optional. The NYC Open Data API is keyless, but a free Socrata app token raises the rate limit for very large pulls. Leave empty unless you have one."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}