{
  "openapi": "3.0.1",
  "info": {
    "title": "US Building Permit Leads: Chicago, LA, Austin, Seattle",
    "description": "New building, electrical, HVAC and plumbing permits from Chicago, Los Angeles, Austin, Seattle and Charlotte in one schema, from each city's official open-data feed. Flags projects that don't have an electrical, HVAC or plumbing permit yet, so trade contractors see open jobs first.",
    "version": "0.1",
    "x-build-id": "yHKfCe4PTqlcd0TlI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/flecked_coffee~us-permit-leads/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-flecked_coffee-us-permit-leads",
        "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/flecked_coffee~us-permit-leads/runs": {
      "post": {
        "operationId": "runs-sync-flecked_coffee-us-permit-leads",
        "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/flecked_coffee~us-permit-leads/run-sync": {
      "post": {
        "operationId": "run-sync-flecked_coffee-us-permit-leads",
        "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",
        "required": [
          "city"
        ],
        "properties": {
          "city": {
            "title": "City",
            "enum": [
              "chicago",
              "los-angeles",
              "austin",
              "seattle",
              "charlotte"
            ],
            "type": "string",
            "description": "Which city's permits to return. Each run reads one city; schedule one run per city to cover several.",
            "default": "chicago"
          },
          "daysBack": {
            "title": "Days back",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "How many days of issued permits to return, ending on the newest day the city has published (usually yesterday; Los Angeles publishes once a week). Ignored if you set a start date.",
            "default": 7
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "Optional. First issue date to include (YYYY-MM-DD)."
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Optional. Last issue date to include (YYYY-MM-DD). Defaults to the newest day the city has published."
          },
          "onlyProjectsMissingTrade": {
            "title": "Only projects still missing this trade",
            "enum": [
              "none",
              "Electrical",
              "Mechanical",
              "Plumbing"
            ],
            "type": "string",
            "description": "Return only project permits (new buildings, additions, remodels, tenant improvements, pools...) with no permit or listed contractor for this trade yet. Seattle's feeds cover electrical and mechanical only, so the plumbing option returns nothing there.",
            "default": "none"
          },
          "workTypes": {
            "title": "Work types",
            "type": "array",
            "description": "Leave empty for all. Every city uses New, Electrical, Mechanical and Plumbing. Others by city: Chicago Renovation/Alteration, Express Permit Program, Wrecking/Demolition, Signs; Los Angeles Addition, Alteration/Repair, Pool/Spa, Demolition, Fire Sprinkler; Austin Remodel, Addition and Remodel, Shell, Repair, Demolition; Seattle Addition/Alteration, Tenant Improvement, Demolition, Roof; Charlotte Addition, Alteration, Upfit, PoolSpa, SolarPV.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Residential or commercial",
            "enum": [
              "any",
              "Residential",
              "Commercial"
            ],
            "type": "string",
            "description": "Keep only residential or commercial permits, or both. Chicago doesn't publish this, so leave it on Both for Chicago.",
            "default": "any"
          },
          "jurisdictions": {
            "title": "Towns or neighborhoods",
            "type": "array",
            "description": "Leave empty for the whole city. Chicago: community areas such as Lincoln Park, Logan Square, Near West Side. Los Angeles: community plan areas such as Venice, Hollywood, Brentwood - Pacific Palisades. Austin: Austin, Buda, Bee Cave, Lakeway, Del Valle. Charlotte: Charlotte, Huntersville, Cornelius, Davidson, Matthews, Mint Hill, Pineville.",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "title": "ZIP codes",
            "type": "array",
            "description": "Leave empty for all ZIP codes. Chicago's feed has no ZIP codes, so use neighborhoods there.",
            "items": {
              "type": "string"
            }
          },
          "minProjectValue": {
            "title": "Minimum project value ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip permits with a declared construction cost below this. Many trade permits have no value and are skipped when this is set."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Keep permits whose description or building use contains any of these words, e.g. generator, EV charger, panel, ADU, restaurant.",
            "items": {
              "type": "string"
            }
          },
          "includeClosed": {
            "title": "Include cancelled and withdrawn permits",
            "type": "boolean",
            "description": "Also return permits the city marked cancelled, withdrawn, void, revoked or expired.",
            "default": false
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many permits. 0 means no limit.",
            "default": 0
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}