---
type: "firecrawl-provider"
description: "Discover and query datasets on any public Socrata (Tyler Data & Insights) open-data portal: city, county and state portals such as data.cityofchicago.org, data.ny.gov, data.austintexas.gov, data.wa.gov and hundreds more. Search the cross-portal catalog (Socrata Discovery API), read a dataset's columns, row count, license and update details, and query rows with SoQL (select/where/order/group/full text). Portals are verified as Socrata domains before they are contacted. Keyless; no app token."
use_when: "Discover and query datasets on any public Socrata (Tyler Data & Insights) open-data portal: city, county and state portals such as data.cityofchicago.org, data.ny.gov, data.austintexas.gov, data.wa.gov and hundreds more. Search the cross-portal catalog (Socrata Discovery API), read a dataset's columns, row count, license and update details, and query rows with SoQL (select/where/order/group/full text). Portals are verified as Socrata domains before they are contacted. Keyless; no app token."
categories: "Public records"
capabilities: 3
credits_per_call: 5
---
# Socrata open-data portals on Firecrawl Alexandria

Discover and query datasets on any public Socrata (Tyler Data & Insights) open-data portal: city, county and state portals such as data.cityofchicago.org, data.ny.gov, data.austintexas.gov, data.wa.gov and hundreds more. Search the cross-portal catalog (Socrata Discovery API), read a dataset's columns, row count, license and update details, and query rows with SoQL (select/where/order/group/full text). Portals are verified as Socrata domains before they are contacted. Keyless; no app token.

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `socrata-com`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/socrata-com)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/socrata-com/openapi.json)

## Capabilities

- [Describe dataset](https://firecrawl.dev/alexandria/agents/providers/socrata-com/open-data/describe_dataset): Describe one dataset on a Socrata portal: every column (field name used in SoQL, display name, Socrata type, description), exact row count (count(*)), category, tags, attribution, license, provenance, creation/publication/last-update timestamps and portal-defined metadata such as update frequency or owning department. The portal must be a Socrata domain (else invalid_input not_socrata_portal); an unknown or private dataset id is not_found.
- [Query dataset](https://firecrawl.dev/alexandria/agents/providers/socrata-com/open-data/query_dataset): Query rows of a dataset on any Socrata portal through its SODA 2.1 endpoint with SoQL: select (columns, aliases, aggregates), where (comparisons, like, between, in, date and spatial functions), order, group and full-text q, paged with limit (1-1000) and offset. Rows come back as published (numbers and dates as strings, geometry as GeoJSON) with the returned field names and types; pages are cut at about 1 MB of row data with next_offset to continue. The portal must be a Socrata domain (else invalid_input not_socrata_portal); an unknown dataset is not_found; SoQL the portal rejects (unknown column, syntax) is invalid_input at the offending field; an empty page is a successful result.
- [Search datasets](https://firecrawl.dev/alexandria/agents/providers/socrata-com/open-data/search_datasets): Search the Socrata catalog for datasets, across every public Socrata portal in a region or limited to one portal (`domain`), by free text, category and tags, paged with limit/offset (up to 100 per page). Each dataset has its 4x4 id, name, owning portal domain, plain-text description, category, tags, attribution, license, created/updated dates, the column field names and types, popularity, permalink and SODA API URL. A domain that no Socrata region serves fails with invalid_input not_socrata_portal; a search with no matches is a successful empty result.

## 1. Choose this provider when

Discover and query datasets on any public Socrata (Tyler Data & Insights) open-data portal: city, county and state portals such as data.cityofchicago.org, data.ny.gov, data.austintexas.gov, data.wa.gov and hundreds more. Search the cross-portal catalog (Socrata Discovery API), read a dataset's columns, row count, license and update details, and query rows with SoQL (select/where/order/group/full text). Portals are verified as Socrata domains before they are contacted. Keyless; no app token.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "socrata-com",
  "capability": "open-data/describe_dataset",
  "options": {
    "dataset_id": "ydr8-5enu",
    "portal": "data.cityofchicago.org"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `dataset_id` (string, required): The dataset's Socrata 4x4 id (for example ydr8-5enu, from search_datasets) or a dataset URL on the same portal: /d/<id>, /<Category>/<Name>/<id>, /resource/<id>.json. Example: `<dataset_id>`
- `portal` (string, required): The portal: its hostname (data.cityofchicago.org, data.ny.gov, www.dallasopendata.com) or any URL on it. Must be a Socrata domain served by the Socrata Discovery API (US or EU region); anything else fails with invalid_input not_socrata_portal before the host is contacted. Example: `<portal>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "socrata-com",
    capability: "open-data/describe_dataset",
    options: {
      dataset_id: "ydr8-5enu",
      portal: "data.cityofchicago.org",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "socrata-com",
  "capability": "open-data/describe_dataset",
  "options": {
    "dataset_id": "ydr8-5enu",
    "portal": "data.cityofchicago.org"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "socrata-com",
    "capability": "open-data/describe_dataset",
    "options": {
      "dataset_id": "ydr8-5enu",
      "portal": "data.cityofchicago.org"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'socrata-com/open-data/describe_dataset' \
  --options '{"dataset_id":"ydr8-5enu","portal":"data.cityofchicago.org"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "socrata-com",
  "capability": "open-data/describe_dataset",
  "options": {
    "dataset_id": "ydr8-5enu",
    "portal": "data.cityofchicago.org"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "socrata-com",
  "capability": "open-data/describe_dataset",
  "options": {
    "dataset_id": "ydr8-5enu",
    "portal": "data.cityofchicago.org"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "api_url": "https://data.cityofchicago.org/resource/ydr8-5enu.json",
  "asset_type": "dataset",
  "attribution": "City of Chicago",
  "attribution_link": "http://www.cityofchicago.org",
  "category": "Buildings",
  "column_count": 122,
  "columns": [
    {
      "datatype": "text",
      "description": "Unique database record identifier",
      "field_name": "id",
      "name": "ID"
    },
    {
      "datatype": "text",
      "description": "Tracking number assigned at beginning of permit application process",
      "field_name": "permit_",
      "name": "PERMIT#"
    },
    {
      "datatype": "text",
      "description": "Current status of permit (not available for all permit types).",
      "field_name": "permit_status",
      "name": "PERMIT_STATUS"
    },
    {
      "datatype": "text",
      "description": "Current milestone of permit (not available for all permit types).",
      "field_name": "permit_milestone",
      "name": "PERMIT_MILESTONE"
    },
    {
      "datatype": "text",
      "description": "Type of permit",
      "field_name": "permit_type",
      "name": "PERMIT_TYPE"
    },
    {
      "datatype": "text",
      "description": "Process used to review permit application",
      "field_name": "review_type",
      "name": "REVIEW_TYPE"
    },
    {
      "datatype": "calendar_date",
      "description": "Date when City began reviewing permit application",
      "field_name": "application_start_date",
      "name": "APPLICATION_START_DATE"
    },
    {
      "datatype": "calendar_date",
      "description": "For most permit types, date when City determined permit was ready to issue, subject to payment of permit fees; For Express Permit Program, date when permit issued based on full payment of applicable permit fee",
      "field_name": "issue_date",
      "name": "ISSUE_DATE"
    },
    {
      "datatype": "number",
      "description": "Number of days between APPLICATION_START_DATE and ISSUE_DATE",
      "field_name": "processing_time",
      "name": "PROCESSING_TIME"
    },
    {
      "datatype": "number",
      "description": "Address number - for buildings with address ranges, primary address is used",
      "field_name": "street_number",
      "name": "STREET_NUMBER"
    },
    {
      "datatype": "text",
      "description": "Street direction",
      "field_name": "street_direction",
      "name": "STREET_DIRECTION"
    },
    {
      "datatype": "text",
      "description": "Street name",
      "field_name": "street_name",
      "name": "STREET_NAME"
    },
    {
      "datatype": "text",
      "description": "Classification of activity authorized by permit (not available for all permit types).",
      "field_name": "work_type",
      "name": "WORK_TYPE"
    },
    {
      "datatype": "text",
      "description": "Description of work authorized by the permit",
      "field_name": "work_description",
      "name": "WORK_DESCRIPTION"
    },
    {
      "datatype": "text",
      "description": "Conditions or comments added by reviewing department(s)",
      "field_name": "permit_condition",
      "name": "PERMIT_CONDITION"
    },
    {
      "datatype": "number",
      "description": "Amount of building permit fees received",
      "field_name": "building_fee_paid",
      "name": "BUILDING_FEE_PAID"
    },
    {
      "datatype": "number",
      "description": "Amount of zoning review fees received",
      "field_name": "zoning_fee_paid",
      "name": "ZONING_FEE_PAID"
    },
    {
      "datatype": "number",
      "description": "Amount of other permit-related fees received",
      "field_name": "other_fee_paid",
      "name": "OTHER_FEE_PAID"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_PAID, ZONING_FEE_PAID and OTHER_FEE_PAID",
      "field_name": "subtotal_paid",
      "name": "SUBTOTAL_PAID"
    },
    {
      "datatype": "number",
      "description": "Amount of building permit fees due",
      "field_name": "building_fee_unpaid",
      "name": "BUILDING_FEE_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Amount of zoning review fees due",
      "field_name": "zoning_fee_unpaid",
      "name": "ZONING_FEE_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Amount of other permit-related fees due",
      "field_name": "other_fee_unpaid",
      "name": "OTHER_FEE_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_UNPAID, ZONING_FEE_UNPAID and OTHER_FEE_UNPAID",
      "field_name": "subtotal_unpaid",
      "name": "SUBTOTAL_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Amount of building permit fees waived",
      "field_name": "building_fee_waived",
      "name": "BUILDING_FEE_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_PAID, BUILDING_FEE_UNPAID and BUILDING_FEE_WAIVED",
      "field_name": "building_fee_subtotal",
      "name": "BUILDING_FEE_SUBTOTAL"
    },
    {
      "datatype": "number",
      "description": "Sum of ZONING_FEE_PAID, ZONING _FEE_UNPAID and ZONING _FEE_WAIVED",
      "field_name": "zoning_fee_subtotal",
      "name": "ZONING_FEE_SUBTOTAL"
    },
    {
      "datatype": "number",
      "description": "Sum of OTHER_FEE_PAID, OTHER _FEE_UNPAID and OTHER _FEE_WAIVED",
      "field_name": "other_fee_subtotal",
      "name": "OTHER_FEE_SUBTOTAL"
    },
    {
      "datatype": "number",
      "description": "Amount of zoning review fees waived",
      "field_name": "zoning_fee_waived",
      "name": "ZONING_FEE_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Amount of other permit-related fees waived",
      "field_name": "other_fee_waived",
      "name": "OTHER_FEE_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_WAIVED, ZONING_FEE_WAIVED and OTHER_FEE_WAIVED",
      "field_name": "subtotal_waived",
      "name": "SUBTOTAL_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Sum of SUBTOTAL_PAID, SUBTOTAL_UNPAID and SUBTOTAL_WAIVED",
      "field_name": "total_fee",
      "name": "TOTAL_FEE"
    },
    {
      "datatype": "text",
      "description": "Contact 1's relationship to permit",
      "field_name": "contact_1_type",
      "name": "CONTACT_1_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 1's full name",
      "field_name": "contact_1_name",
      "name": "CONTACT_1_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 1's primary address city",
      "field_name": "contact_1_city",
      "name": "CONTACT_1_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 1's primary address state",
      "field_name": "contact_1_state",
      "name": "CONTACT_1_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 1's primary address ZIP code",
      "field_name": "contact_1_zipcode",
      "name": "CONTACT_1_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 2's relationship to permit",
      "field_name": "contact_2_type",
      "name": "CONTACT_2_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 2's full name",
      "field_name": "contact_2_name",
      "name": "CONTACT_2_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 2's primary address city",
      "field_name": "contact_2_city",
      "name": "CONTACT_2_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 2's primary address state",
      "field_name": "contact_2_state",
      "name": "CONTACT_2_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 2's primary address ZIP code",
      "field_name": "contact_2_zipcode",
      "name": "CONTACT_2_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 3's relationship to permit",
      "field_name": "contact_3_type",
      "name": "CONTACT_3_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 3's full name",
      "field_name": "contact_3_name",
      "name": "CONTACT_3_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 3's primary address city",
      "field_name": "contact_3_city",
      "name": "CONTACT_3_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 3's primary address state",
      "field_name": "contact_3_state",
      "name": "CONTACT_3_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 3's primary address ZIP code",
      "field_name": "contact_3_zipcode",
      "name": "CONTACT_3_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 4's relationship to permit",
      "field_name": "contact_4_type",
      "name": "CONTACT_4_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 4's full name",
      "field_name": "contact_4_name",
      "name": "CONTACT_4_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 4's primary address city",
      "field_name": "contact_4_city",
      "name": "CONTACT_4_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 4's primary address state",
      "field_name": "contact_4_state",
      "name": "CONTACT_4_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 4's primary address ZIP code",
      "field_name": "contact_4_zipcode",
      "name": "CONTACT_4_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 5's relationship to permit",
      "field_name": "contact_5_type",
      "name": "CONTACT_5_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 5's full name",
      "field_name": "contact_5_name",
      "name": "CONTACT_5_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 5's primary address city",
      "field_name": "contact_5_city",
      "name": "CONTACT_5_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 5's primary address state",
      "field_name": "contact_5_state",
      "name": "CONTACT_5_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 5's primary address ZIP code",
      "field_name": "contact_5_zipcode",
      "name": "CONTACT_5_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 6's relationship to permit",
      "field_name": "contact_6_type",
      "name": "CONTACT_6_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 6's full name",
      "field_name": "contact_6_name",
      "name": "CONTACT_6_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 6's primary address city",
      "field_name": "contact_6_city",
      "name": "CONTACT_6_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 6's primary address state",
      "field_name": "contact_6_state",
      "name": "CONTACT_6_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 6's primary address ZIP code",
      "field_name": "contact_6_zipcode",
      "name": "CONTACT_6_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 7's relationship to permit",
      "field_name": "contact_7_type",
      "name": "CONTACT_7_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 7's full name",
      "field_name": "contact_7_name",
      "name": "CONTACT_7_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 7's primary address city",
      "field_name": "contact_7_city",
      "name": "CONTACT_7_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 7's primary address state",
      "field_name": "contact_7_state",
      "name": "CONTACT_7_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 7's primary address ZIP code",
      "field_name": "contact_7_zipcode",
      "name": "CONTACT_7_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 8's relationship to permit",
      "field_name": "contact_8_type",
      "name": "CONTACT_8_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 8's full name",
      "field_name": "contact_8_name",
      "name": "CONTACT_8_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 8's primary address city",
      "field_name": "contact_8_city",
      "name": "CONTACT_8_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 8's primary address state",
      "field_name": "contact_8_state",
      "name": "CONTACT_8_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 8's primary address ZIP code",
      "field_name": "contact_8_zipcode",
      "name": "CONTACT_8_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 9's relationship to permit",
      "field_name": "contact_9_type",
      "name": "CONTACT_9_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 9's full name",
      "field_name": "contact_9_name",
      "name": "CONTACT_9_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 9's primary address city",
      "field_name": "contact_9_city",
      "name": "CONTACT_9_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 9's primary address state",
      "field_name": "contact_9_state",
      "name": "CONTACT_9_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 9's primary address ZIP code",
      "field_name": "contact_9_zipcode",
      "name": "CONTACT_9_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 10's relationship to permit",
      "field_name": "contact_10_type",
      "name": "CONTACT_10_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 10's full name",
      "field_name": "contact_10_name",
      "name": "CONTACT_10_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 10's primary address city",
      "field_name": "contact_10_city",
      "name": "CONTACT_10_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 10's primary address state",
      "field_name": "contact_10_state",
      "name": "CONTACT_10_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 10's primary address ZIP code",
      "field_name": "contact_10_zipcode",
      "name": "CONTACT_10_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 11's relationship to permit",
      "field_name": "contact_11_type",
      "name": "CONTACT_11_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 11's full name",
      "field_name": "contact_11_name",
      "name": "CONTACT_11_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 11's primary address city",
      "field_name": "contact_11_city",
      "name": "CONTACT_11_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 11's primary address state",
      "field_name": "contact_11_state",
      "name": "CONTACT_11_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 11's primary address ZIP code",
      "field_name": "contact_11_zipcode",
      "name": "CONTACT_11_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 12's relationship to permit",
      "field_name": "contact_12_type",
      "name": "CONTACT_12_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 12's full name",
      "field_name": "contact_12_name",
      "name": "CONTACT_12_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 12's primary address city",
      "field_name": "contact_12_city",
      "name": "CONTACT_12_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 12's primary address state",
      "field_name": "contact_12_state",
      "name": "CONTACT_12_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 12's primary address ZIP code",
      "field_name": "contact_12_zipcode",
      "name": "CONTACT_12_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 13's relationship to permit",
      "field_name": "contact_13_type",
      "name": "CONTACT_13_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 13's full name",
      "field_name": "contact_13_name",
      "name": "CONTACT_13_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 13's primary address city",
      "field_name": "contact_13_city",
      "name": "CONTACT_13_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 13's primary address state",
      "field_name": "contact_13_state",
      "name": "CONTACT_13_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 13's primary address ZIP code",
      "field_name": "contact_13_zipcode",
      "name": "CONTACT_13_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 14's relationship to permit",
      "field_name": "contact_14_type",
      "name": "CONTACT_14_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 14's full name",
      "field_name": "contact_14_name",
      "name": "CONTACT_14_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 14's primary address city",
      "field_name": "contact_14_city",
      "name": "CONTACT_14_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 14's primary address state",
      "field_name": "contact_14_state",
      "name": "CONTACT_14_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 14's primary address ZIP code",
      "field_name": "contact_14_zipcode",
      "name": "CONTACT_14_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 15's relationship to permit",
      "field_name": "contact_15_type",
      "name": "CONTACT_15_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 15's full name",
      "field_name": "contact_15_name",
      "name": "CONTACT_15_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 15's primary address city",
      "field_name": "contact_15_city",
      "name": "CONTACT_15_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 15's primary address state",
      "field_name": "contact_15_state",
      "name": "CONTACT_15_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 15's primary address ZIP code",
      "field_name": "contact_15_zipcode",
      "name": "CONTACT_15_ZIPCODE"
    },
    {
      "datatype": "number",
      "description": "Estimated cost of work provided by applicant (not available for all permits)",
      "field_name": "reported_cost",
      "name": "REPORTED_COST"
    },
    {
      "datatype": "text",
      "description": "Property index number(s) (PINs) disclosed by applicant and verified by city staff as part of permit application review (not available for all permits); PINs are assigned to parcels of land for property tax purposes. This column replaces columns PIN1 through PIN10, which will be removed soon, no earlier than 6/1/2024.",
      "field_name": "pin_list",
      "name": "PIN_LIST"
    },
    {
      "datatype": "number",
      "description": "The Chicago community area of the property's primary address. The community area map is available in a separate dataset.",
      "field_name": "community_area",
      "name": "COMMUNITY_AREA"
    },
    {
      "datatype": "number",
      "description": "The census tract of the property's primary address. The census tract map is available in a separate dataset.",
      "field_name": "census_tract",
      "name": "CENSUS_TRACT"
    },
    {
      "datatype": "number",
      "description": "The ward (city council district) of the property's primary address at the time of permit issuance. The ward map is available in a separate dataset.",
      "field_name": "ward",
      "name": "WARD"
    },
    {
      "datatype": "number",
      "description": "The east-west coordinate of the property's primary address, defined in feet, based on NAD 83 - State Plane Eastern IL",
      "field_name": "xcoordinate",
      "name": "XCOORDINATE"
    },
    {
      "datatype": "number",
      "description": "The north-south coordinate of the property's primary address, defined in feet, based on NAD 83 - State Plane Eastern IL",
      "field_name": "ycoordinate",
      "name": "YCOORDINATE"
    },
    {
      "datatype": "number",
      "description": "The latitude of the property's primary address",
      "field_name": "latitude",
      "name": "LATITUDE"
    },
    {
      "datatype": "number",
      "description": "The longitude of the property's primary address",
      "field_name": "longitude",
      "name": "LONGITUDE"
    },
    {
      "datatype": "point",
      "description": "The location of the property's primary address in a format that allows for creation of maps and other geographic operations on this data portal",
      "field_name": "location",
      "name": "LOCATION"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_rpca_8um6",
      "name": "Boundaries - ZIP Codes"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_vrxf_vc4k",
      "name": "Community Areas"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_6mkv_f3dw",
      "name": "Zip Codes"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_bdys_3d7i",
      "name": "Census Tracts"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_43wa_7qmu",
      "name": "Wards"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_awaf_s7ux",
      "name": "Historical Wards 2003-2015"
    }
  ],
  "created_at": "2011-09-30T12:00:08Z",
  "custom_fields": [
    {
      "field": "Changes and Other Historical Information Useful to Understanding This Dataset",
      "section": "Metadata",
      "value": "https://www.google.com/search?q=site:data.cityofchicago.org/stories+\"Related+dataset+ID+s\"+\"ydr8-5enu\""
    },
    {
      "field": "Data Owner",
      "section": "Metadata",
      "value": "Department of Buildings"
    },
    {
      "field": "Frequency",
      "section": "Metadata",
      "value": "Data are updated daily"
    },
    {
      "field": "Time Period",
      "section": "Metadata",
      "value": "2006 to present"
    }
  ],
  "description": "This dataset includes information about building permits issued by the City of Chicago from 2006 to the present, excluding permits that have been voided or revoked after issuance. Most types of permits are issued subject to payment of the applicable permit fee. Work under a permit may not begin until the applicable permit fee is paid. For more information about building permits, see http://www.chicago.gov/permit.",
  "id": "ydr8-5enu",
  "license": {
    "id": "SEE_TERMS_OF_USE",
    "name": "See Terms of Use",
    "terms_link": null
  },
  "metadata_url": "https://data.cityofchicago.org/api/views/ydr8-5enu.json",
  "name": "Building Permits",
  "observed_at_ms": 1791566243621,
  "permalink": "https://data.cityofchicago.org/d/ydr8-5enu",
  "portal": "data.cityofchicago.org",
  "provenance": "official",
  "publication_date": "2025-10-14T22:14:12Z",
  "row_count": 849932,
  "rows_updated_at": "2026-10-09T12:06:53Z",
  "tags": [
    "permits",
    "buildings"
  ],
  "view_last_modified": "2026-05-29T18:56:10Z",
  "view_type": "tabular"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Describe dataset

- Capability: `open-data/describe_dataset`
- Description: Describe one dataset on a Socrata portal: every column (field name used in SoQL, display name, Socrata type, description), exact row count (count(*)), category, tags, attribution, license, provenance, creation/publication/last-update timestamps and portal-defined metadata such as update frequency or owning department. The portal must be a Socrata domain (else invalid_input not_socrata_portal); an unknown or private dataset id is not_found.
- Instructions: Before query_dataset, to learn the exact field names and types for select/where/order, and to size a dataset. Also answers 'how current is this data' and 'who publishes it'.
- Cost: 5 credits per call
- Capability file: [Describe dataset](https://firecrawl.dev/alexandria/agents/providers/socrata-com/open-data/describe_dataset)

Accepted options:
- `dataset_id` (string, required): The dataset's Socrata 4x4 id (for example ydr8-5enu, from search_datasets) or a dataset URL on the same portal: /d/<id>, /<Category>/<Name>/<id>, /resource/<id>.json. Example: `<dataset_id>`
- `portal` (string, required): The portal: its hostname (data.cityofchicago.org, data.ny.gov, www.dallasopendata.com) or any URL on it. Must be a Socrata domain served by the Socrata Discovery API (US or EU region); anything else fails with invalid_input not_socrata_portal before the host is contacted. Example: `<portal>`

Response schema example:
```json
{
  "api_url": "https://data.cityofchicago.org/resource/ydr8-5enu.json",
  "asset_type": "dataset",
  "attribution": "City of Chicago",
  "attribution_link": "http://www.cityofchicago.org",
  "category": "Buildings",
  "column_count": 122,
  "columns": [
    {
      "datatype": "text",
      "description": "Unique database record identifier",
      "field_name": "id",
      "name": "ID"
    },
    {
      "datatype": "text",
      "description": "Tracking number assigned at beginning of permit application process",
      "field_name": "permit_",
      "name": "PERMIT#"
    },
    {
      "datatype": "text",
      "description": "Current status of permit (not available for all permit types).",
      "field_name": "permit_status",
      "name": "PERMIT_STATUS"
    },
    {
      "datatype": "text",
      "description": "Current milestone of permit (not available for all permit types).",
      "field_name": "permit_milestone",
      "name": "PERMIT_MILESTONE"
    },
    {
      "datatype": "text",
      "description": "Type of permit",
      "field_name": "permit_type",
      "name": "PERMIT_TYPE"
    },
    {
      "datatype": "text",
      "description": "Process used to review permit application",
      "field_name": "review_type",
      "name": "REVIEW_TYPE"
    },
    {
      "datatype": "calendar_date",
      "description": "Date when City began reviewing permit application",
      "field_name": "application_start_date",
      "name": "APPLICATION_START_DATE"
    },
    {
      "datatype": "calendar_date",
      "description": "For most permit types, date when City determined permit was ready to issue, subject to payment of permit fees; For Express Permit Program, date when permit issued based on full payment of applicable permit fee",
      "field_name": "issue_date",
      "name": "ISSUE_DATE"
    },
    {
      "datatype": "number",
      "description": "Number of days between APPLICATION_START_DATE and ISSUE_DATE",
      "field_name": "processing_time",
      "name": "PROCESSING_TIME"
    },
    {
      "datatype": "number",
      "description": "Address number - for buildings with address ranges, primary address is used",
      "field_name": "street_number",
      "name": "STREET_NUMBER"
    },
    {
      "datatype": "text",
      "description": "Street direction",
      "field_name": "street_direction",
      "name": "STREET_DIRECTION"
    },
    {
      "datatype": "text",
      "description": "Street name",
      "field_name": "street_name",
      "name": "STREET_NAME"
    },
    {
      "datatype": "text",
      "description": "Classification of activity authorized by permit (not available for all permit types).",
      "field_name": "work_type",
      "name": "WORK_TYPE"
    },
    {
      "datatype": "text",
      "description": "Description of work authorized by the permit",
      "field_name": "work_description",
      "name": "WORK_DESCRIPTION"
    },
    {
      "datatype": "text",
      "description": "Conditions or comments added by reviewing department(s)",
      "field_name": "permit_condition",
      "name": "PERMIT_CONDITION"
    },
    {
      "datatype": "number",
      "description": "Amount of building permit fees received",
      "field_name": "building_fee_paid",
      "name": "BUILDING_FEE_PAID"
    },
    {
      "datatype": "number",
      "description": "Amount of zoning review fees received",
      "field_name": "zoning_fee_paid",
      "name": "ZONING_FEE_PAID"
    },
    {
      "datatype": "number",
      "description": "Amount of other permit-related fees received",
      "field_name": "other_fee_paid",
      "name": "OTHER_FEE_PAID"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_PAID, ZONING_FEE_PAID and OTHER_FEE_PAID",
      "field_name": "subtotal_paid",
      "name": "SUBTOTAL_PAID"
    },
    {
      "datatype": "number",
      "description": "Amount of building permit fees due",
      "field_name": "building_fee_unpaid",
      "name": "BUILDING_FEE_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Amount of zoning review fees due",
      "field_name": "zoning_fee_unpaid",
      "name": "ZONING_FEE_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Amount of other permit-related fees due",
      "field_name": "other_fee_unpaid",
      "name": "OTHER_FEE_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_UNPAID, ZONING_FEE_UNPAID and OTHER_FEE_UNPAID",
      "field_name": "subtotal_unpaid",
      "name": "SUBTOTAL_UNPAID"
    },
    {
      "datatype": "number",
      "description": "Amount of building permit fees waived",
      "field_name": "building_fee_waived",
      "name": "BUILDING_FEE_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_PAID, BUILDING_FEE_UNPAID and BUILDING_FEE_WAIVED",
      "field_name": "building_fee_subtotal",
      "name": "BUILDING_FEE_SUBTOTAL"
    },
    {
      "datatype": "number",
      "description": "Sum of ZONING_FEE_PAID, ZONING _FEE_UNPAID and ZONING _FEE_WAIVED",
      "field_name": "zoning_fee_subtotal",
      "name": "ZONING_FEE_SUBTOTAL"
    },
    {
      "datatype": "number",
      "description": "Sum of OTHER_FEE_PAID, OTHER _FEE_UNPAID and OTHER _FEE_WAIVED",
      "field_name": "other_fee_subtotal",
      "name": "OTHER_FEE_SUBTOTAL"
    },
    {
      "datatype": "number",
      "description": "Amount of zoning review fees waived",
      "field_name": "zoning_fee_waived",
      "name": "ZONING_FEE_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Amount of other permit-related fees waived",
      "field_name": "other_fee_waived",
      "name": "OTHER_FEE_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Sum of BUILDING_FEE_WAIVED, ZONING_FEE_WAIVED and OTHER_FEE_WAIVED",
      "field_name": "subtotal_waived",
      "name": "SUBTOTAL_WAIVED"
    },
    {
      "datatype": "number",
      "description": "Sum of SUBTOTAL_PAID, SUBTOTAL_UNPAID and SUBTOTAL_WAIVED",
      "field_name": "total_fee",
      "name": "TOTAL_FEE"
    },
    {
      "datatype": "text",
      "description": "Contact 1's relationship to permit",
      "field_name": "contact_1_type",
      "name": "CONTACT_1_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 1's full name",
      "field_name": "contact_1_name",
      "name": "CONTACT_1_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 1's primary address city",
      "field_name": "contact_1_city",
      "name": "CONTACT_1_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 1's primary address state",
      "field_name": "contact_1_state",
      "name": "CONTACT_1_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 1's primary address ZIP code",
      "field_name": "contact_1_zipcode",
      "name": "CONTACT_1_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 2's relationship to permit",
      "field_name": "contact_2_type",
      "name": "CONTACT_2_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 2's full name",
      "field_name": "contact_2_name",
      "name": "CONTACT_2_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 2's primary address city",
      "field_name": "contact_2_city",
      "name": "CONTACT_2_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 2's primary address state",
      "field_name": "contact_2_state",
      "name": "CONTACT_2_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 2's primary address ZIP code",
      "field_name": "contact_2_zipcode",
      "name": "CONTACT_2_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 3's relationship to permit",
      "field_name": "contact_3_type",
      "name": "CONTACT_3_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 3's full name",
      "field_name": "contact_3_name",
      "name": "CONTACT_3_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 3's primary address city",
      "field_name": "contact_3_city",
      "name": "CONTACT_3_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 3's primary address state",
      "field_name": "contact_3_state",
      "name": "CONTACT_3_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 3's primary address ZIP code",
      "field_name": "contact_3_zipcode",
      "name": "CONTACT_3_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 4's relationship to permit",
      "field_name": "contact_4_type",
      "name": "CONTACT_4_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 4's full name",
      "field_name": "contact_4_name",
      "name": "CONTACT_4_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 4's primary address city",
      "field_name": "contact_4_city",
      "name": "CONTACT_4_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 4's primary address state",
      "field_name": "contact_4_state",
      "name": "CONTACT_4_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 4's primary address ZIP code",
      "field_name": "contact_4_zipcode",
      "name": "CONTACT_4_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 5's relationship to permit",
      "field_name": "contact_5_type",
      "name": "CONTACT_5_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 5's full name",
      "field_name": "contact_5_name",
      "name": "CONTACT_5_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 5's primary address city",
      "field_name": "contact_5_city",
      "name": "CONTACT_5_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 5's primary address state",
      "field_name": "contact_5_state",
      "name": "CONTACT_5_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 5's primary address ZIP code",
      "field_name": "contact_5_zipcode",
      "name": "CONTACT_5_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 6's relationship to permit",
      "field_name": "contact_6_type",
      "name": "CONTACT_6_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 6's full name",
      "field_name": "contact_6_name",
      "name": "CONTACT_6_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 6's primary address city",
      "field_name": "contact_6_city",
      "name": "CONTACT_6_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 6's primary address state",
      "field_name": "contact_6_state",
      "name": "CONTACT_6_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 6's primary address ZIP code",
      "field_name": "contact_6_zipcode",
      "name": "CONTACT_6_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 7's relationship to permit",
      "field_name": "contact_7_type",
      "name": "CONTACT_7_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 7's full name",
      "field_name": "contact_7_name",
      "name": "CONTACT_7_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 7's primary address city",
      "field_name": "contact_7_city",
      "name": "CONTACT_7_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 7's primary address state",
      "field_name": "contact_7_state",
      "name": "CONTACT_7_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 7's primary address ZIP code",
      "field_name": "contact_7_zipcode",
      "name": "CONTACT_7_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 8's relationship to permit",
      "field_name": "contact_8_type",
      "name": "CONTACT_8_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 8's full name",
      "field_name": "contact_8_name",
      "name": "CONTACT_8_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 8's primary address city",
      "field_name": "contact_8_city",
      "name": "CONTACT_8_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 8's primary address state",
      "field_name": "contact_8_state",
      "name": "CONTACT_8_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 8's primary address ZIP code",
      "field_name": "contact_8_zipcode",
      "name": "CONTACT_8_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 9's relationship to permit",
      "field_name": "contact_9_type",
      "name": "CONTACT_9_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 9's full name",
      "field_name": "contact_9_name",
      "name": "CONTACT_9_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 9's primary address city",
      "field_name": "contact_9_city",
      "name": "CONTACT_9_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 9's primary address state",
      "field_name": "contact_9_state",
      "name": "CONTACT_9_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 9's primary address ZIP code",
      "field_name": "contact_9_zipcode",
      "name": "CONTACT_9_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 10's relationship to permit",
      "field_name": "contact_10_type",
      "name": "CONTACT_10_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 10's full name",
      "field_name": "contact_10_name",
      "name": "CONTACT_10_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 10's primary address city",
      "field_name": "contact_10_city",
      "name": "CONTACT_10_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 10's primary address state",
      "field_name": "contact_10_state",
      "name": "CONTACT_10_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 10's primary address ZIP code",
      "field_name": "contact_10_zipcode",
      "name": "CONTACT_10_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 11's relationship to permit",
      "field_name": "contact_11_type",
      "name": "CONTACT_11_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 11's full name",
      "field_name": "contact_11_name",
      "name": "CONTACT_11_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 11's primary address city",
      "field_name": "contact_11_city",
      "name": "CONTACT_11_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 11's primary address state",
      "field_name": "contact_11_state",
      "name": "CONTACT_11_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 11's primary address ZIP code",
      "field_name": "contact_11_zipcode",
      "name": "CONTACT_11_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 12's relationship to permit",
      "field_name": "contact_12_type",
      "name": "CONTACT_12_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 12's full name",
      "field_name": "contact_12_name",
      "name": "CONTACT_12_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 12's primary address city",
      "field_name": "contact_12_city",
      "name": "CONTACT_12_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 12's primary address state",
      "field_name": "contact_12_state",
      "name": "CONTACT_12_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 12's primary address ZIP code",
      "field_name": "contact_12_zipcode",
      "name": "CONTACT_12_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 13's relationship to permit",
      "field_name": "contact_13_type",
      "name": "CONTACT_13_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 13's full name",
      "field_name": "contact_13_name",
      "name": "CONTACT_13_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 13's primary address city",
      "field_name": "contact_13_city",
      "name": "CONTACT_13_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 13's primary address state",
      "field_name": "contact_13_state",
      "name": "CONTACT_13_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 13's primary address ZIP code",
      "field_name": "contact_13_zipcode",
      "name": "CONTACT_13_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 14's relationship to permit",
      "field_name": "contact_14_type",
      "name": "CONTACT_14_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 14's full name",
      "field_name": "contact_14_name",
      "name": "CONTACT_14_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 14's primary address city",
      "field_name": "contact_14_city",
      "name": "CONTACT_14_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 14's primary address state",
      "field_name": "contact_14_state",
      "name": "CONTACT_14_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 14's primary address ZIP code",
      "field_name": "contact_14_zipcode",
      "name": "CONTACT_14_ZIPCODE"
    },
    {
      "datatype": "text",
      "description": "Contact 15's relationship to permit",
      "field_name": "contact_15_type",
      "name": "CONTACT_15_TYPE"
    },
    {
      "datatype": "text",
      "description": "Contact 15's full name",
      "field_name": "contact_15_name",
      "name": "CONTACT_15_NAME"
    },
    {
      "datatype": "text",
      "description": "Contact 15's primary address city",
      "field_name": "contact_15_city",
      "name": "CONTACT_15_CITY"
    },
    {
      "datatype": "text",
      "description": "Contact 15's primary address state",
      "field_name": "contact_15_state",
      "name": "CONTACT_15_STATE"
    },
    {
      "datatype": "text",
      "description": "Contact 15's primary address ZIP code",
      "field_name": "contact_15_zipcode",
      "name": "CONTACT_15_ZIPCODE"
    },
    {
      "datatype": "number",
      "description": "Estimated cost of work provided by applicant (not available for all permits)",
      "field_name": "reported_cost",
      "name": "REPORTED_COST"
    },
    {
      "datatype": "text",
      "description": "Property index number(s) (PINs) disclosed by applicant and verified by city staff as part of permit application review (not available for all permits); PINs are assigned to parcels of land for property tax purposes. This column replaces columns PIN1 through PIN10, which will be removed soon, no earlier than 6/1/2024.",
      "field_name": "pin_list",
      "name": "PIN_LIST"
    },
    {
      "datatype": "number",
      "description": "The Chicago community area of the property's primary address. The community area map is available in a separate dataset.",
      "field_name": "community_area",
      "name": "COMMUNITY_AREA"
    },
    {
      "datatype": "number",
      "description": "The census tract of the property's primary address. The census tract map is available in a separate dataset.",
      "field_name": "census_tract",
      "name": "CENSUS_TRACT"
    },
    {
      "datatype": "number",
      "description": "The ward (city council district) of the property's primary address at the time of permit issuance. The ward map is available in a separate dataset.",
      "field_name": "ward",
      "name": "WARD"
    },
    {
      "datatype": "number",
      "description": "The east-west coordinate of the property's primary address, defined in feet, based on NAD 83 - State Plane Eastern IL",
      "field_name": "xcoordinate",
      "name": "XCOORDINATE"
    },
    {
      "datatype": "number",
      "description": "The north-south coordinate of the property's primary address, defined in feet, based on NAD 83 - State Plane Eastern IL",
      "field_name": "ycoordinate",
      "name": "YCOORDINATE"
    },
    {
      "datatype": "number",
      "description": "The latitude of the property's primary address",
      "field_name": "latitude",
      "name": "LATITUDE"
    },
    {
      "datatype": "number",
      "description": "The longitude of the property's primary address",
      "field_name": "longitude",
      "name": "LONGITUDE"
    },
    {
      "datatype": "point",
      "description": "The location of the property's primary address in a format that allows for creation of maps and other geographic operations on this data portal",
      "field_name": "location",
      "name": "LOCATION"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_rpca_8um6",
      "name": "Boundaries - ZIP Codes"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_vrxf_vc4k",
      "name": "Community Areas"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_6mkv_f3dw",
      "name": "Zip Codes"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_bdys_3d7i",
      "name": "Census Tracts"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_43wa_7qmu",
      "name": "Wards"
    },
    {
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_awaf_s7ux",
      "name": "Historical Wards 2003-2015"
    }
  ],
  "created_at": "2011-09-30T12:00:08Z",
  "custom_fields": [
    {
      "field": "Changes and Other Historical Information Useful to Understanding This Dataset",
      "section": "Metadata",
      "value": "https://www.google.com/search?q=site:data.cityofchicago.org/stories+\"Related+dataset+ID+s\"+\"ydr8-5enu\""
    },
    {
      "field": "Data Owner",
      "section": "Metadata",
      "value": "Department of Buildings"
    },
    {
      "field": "Frequency",
      "section": "Metadata",
      "value": "Data are updated daily"
    },
    {
      "field": "Time Period",
      "section": "Metadata",
      "value": "2006 to present"
    }
  ],
  "description": "This dataset includes information about building permits issued by the City of Chicago from 2006 to the present, excluding permits that have been voided or revoked after issuance. Most types of permits are issued subject to payment of the applicable permit fee. Work under a permit may not begin until the applicable permit fee is paid. For more information about building permits, see http://www.chicago.gov/permit.",
  "id": "ydr8-5enu",
  "license": {
    "id": "SEE_TERMS_OF_USE",
    "name": "See Terms of Use",
    "terms_link": null
  },
  "metadata_url": "https://data.cityofchicago.org/api/views/ydr8-5enu.json",
  "name": "Building Permits",
  "observed_at_ms": 1791566243621,
  "permalink": "https://data.cityofchicago.org/d/ydr8-5enu",
  "portal": "data.cityofchicago.org",
  "provenance": "official",
  "publication_date": "2025-10-14T22:14:12Z",
  "row_count": 849932,
  "rows_updated_at": "2026-10-09T12:06:53Z",
  "tags": [
    "permits",
    "buildings"
  ],
  "view_last_modified": "2026-05-29T18:56:10Z",
  "view_type": "tabular"
}
```

### Query dataset

- Capability: `open-data/query_dataset`
- Description: Query rows of a dataset on any Socrata portal through its SODA 2.1 endpoint with SoQL: select (columns, aliases, aggregates), where (comparisons, like, between, in, date and spatial functions), order, group and full-text q, paged with limit (1-1000) and offset. Rows come back as published (numbers and dates as strings, geometry as GeoJSON) with the returned field names and types; pages are cut at about 1 MB of row data with next_offset to continue. The portal must be a Socrata domain (else invalid_input not_socrata_portal); an unknown dataset is not_found; SoQL the portal rejects (unknown column, syntax) is invalid_input at the offending field; an empty page is a successful result.
- Instructions: Any question that needs actual records or aggregates from an open-data dataset (permit lookups by address or number, inspection results, 311 requests by type, counts by category). Get the portal and 4x4 from search_datasets and field names from describe_dataset first.
- Cost: 5 credits per call
- Capability file: [Query dataset](https://firecrawl.dev/alexandria/agents/providers/socrata-com/open-data/query_dataset)

Accepted options:
- `dataset_id` (string, required): The dataset's Socrata 4x4 id (for example ydr8-5enu, from search_datasets) or a dataset URL on the same portal: /d/<id>, /<Category>/<Name>/<id>, /resource/<id>.json. Example: `<dataset_id>`
- `group` (string): SoQL $group, e.g. `permit_type` (with an aggregate in select). Example: `permit_type`
- `limit` (number): Rows per page (1-1000). A page is also cut at about 1 MB of row data; continue from next_offset. Example: `100`
- `offset` (number): Row offset (next_offset of the previous page). Example: `0`
- `order` (string): SoQL $order, e.g. `issue_date DESC`. Defaults to the row id `:id` for stable paging (none for aggregates). Example: `issue_date DESC`
- `portal` (string, required): The portal: its hostname (data.cityofchicago.org, data.ny.gov, www.dallasopendata.com) or any URL on it. Must be a Socrata domain served by the Socrata Discovery API (US or EU region); anything else fails with invalid_input not_socrata_portal before the host is contacted. Example: `<portal>`
- `q` (string): Full-text search across the dataset's text columns. Example: `<q>`
- `select` (string): SoQL $select without the keyword: columns, aliases, aggregates. E.g. `permit_, permit_type, issue_date` or `permit_type, count(*) AS n`. Example: `permit_, permit_type, issue_date`
- `where` (string): SoQL $where without the keyword. String literals in single quotes ('O''Hare' escapes a quote). E.g. `issue_date >= '2024-01-01' AND permit_type = 'PERMIT - NEW CONSTRUCTION'`, `within_circle(location, 41.88, -87.63, 500)`. Example: `issue_date >= '2024-01-01' AND permit_type = 'PERMIT - NEW CONSTRUCTION'`

Response schema example:
```json
{
  "columns": [
    {
      "datatype": "text",
      "field_name": "id"
    },
    {
      "datatype": "text",
      "field_name": "permit_"
    },
    {
      "datatype": "text",
      "field_name": "permit_type"
    },
    {
      "datatype": "floating_timestamp",
      "field_name": "issue_date"
    },
    {
      "datatype": "number",
      "field_name": "street_number"
    },
    {
      "datatype": "text",
      "field_name": "street_direction"
    },
    {
      "datatype": "text",
      "field_name": "street_name"
    }
  ],
  "count": 1,
  "data_last_modified": "Fri, 09 Oct 2026 12:07:11 GMT",
  "dataset_id": "ydr8-5enu",
  "limit": 5,
  "next_offset": null,
  "observed_at_ms": 1791566245239,
  "offset": 0,
  "portal": "data.cityofchicago.org",
  "rows": [
    {
      "id": "1634695",
      "issue_date": "2006-01-03T00:00:00.000",
      "permit_": "100084789",
      "permit_type": "PERMIT - SIGNS",
      "street_direction": "N",
      "street_name": "MILWAUKEE AVE",
      "street_number": "1576"
    }
  ],
  "source_url": "https://data.cityofchicago.org/resource/ydr8-5enu.json?%24select=id%2C+permit_%2C+permit_type%2C+issue_date%2C+street_number%2C+street_direction%2C+street_name&%24where=permit_+%3D+%27100084789%27&%24order=%3Aid&%24limit=5"
}
```

### Search datasets

- Capability: `open-data/search_datasets`
- Description: Search the Socrata catalog for datasets, across every public Socrata portal in a region or limited to one portal (`domain`), by free text, category and tags, paged with limit/offset (up to 100 per page). Each dataset has its 4x4 id, name, owning portal domain, plain-text description, category, tags, attribution, license, created/updated dates, the column field names and types, popularity, permalink and SODA API URL. A domain that no Socrata region serves fails with invalid_input not_socrata_portal; a search with no matches is a successful empty result.
- Instructions: Start here for city, county or state open data (permits, inspections, 311, code violations, business licenses, crime, property) when the dataset id is unknown. Then describe_dataset for the full column list and row count, and query_dataset for rows.
- Cost: 5 credits per call
- Capability file: [Search datasets](https://firecrawl.dev/alexandria/agents/providers/socrata-com/open-data/search_datasets)

Accepted options:
- `category` (string): Category filter. With `domain`: the portal's own category name (e.g. `Buildings`). Without: Socrata's global lowercase categories (e.g. `public safety`). Example: `<category>`
- `domain` (string): Limit to one portal: hostname or URL (data.cityofchicago.org). Verified as a Socrata domain (US region first, then EU). Omit to search every public Socrata portal in `region`. Example: `<domain>`
- `limit` (number): limit Example: `10`
- `offset` (number): Result offset (next_offset of the previous page). The Discovery API stops at 10000 results. Example: `0`
- `query` (string): Free-text search over dataset names, descriptions, columns and tags, e.g. `building permits`, `restaurant inspections`, `311`. Example: `building permits`
- `region` (string): Discovery API region for an all-portal search (us: US/Canada/most portals; eu: European portals such as opendata.rdw.nl). With `domain` it is only the first region tried. Example: `us`
- `tags` (string[]): Portal tags; with `domain` these are the portal's own tags (e.g. `permits`). Example: `[]`

Response schema example:
```json
{
  "count": 3,
  "datasets": [
    {
      "api_url": "https://data.cityofchicago.org/resource/ydr8-5enu.json",
      "attribution": "City of Chicago",
      "category": "Buildings",
      "column_count": 122,
      "columns": [
        {
          "datatype": "Text",
          "field_name": "contact_12_name",
          "name": "CONTACT_12_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_12_state",
          "name": "CONTACT_12_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_11_type",
          "name": "CONTACT_11_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_6_city",
          "name": "CONTACT_6_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_4_state",
          "name": "CONTACT_4_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_6_zipcode",
          "name": "CONTACT_6_ZIPCODE"
        },
        {
          "datatype": "Number",
          "field_name": "xcoordinate",
          "name": "XCOORDINATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_11_zipcode",
          "name": "CONTACT_11_ZIPCODE"
        },
        {
          "datatype": "Calendar date",
          "field_name": "application_start_date",
          "name": "APPLICATION_START_DATE"
        },
        {
          "datatype": "Text",
          "field_name": "street_name",
          "name": "STREET_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "review_type",
          "name": "REVIEW_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_8_zipcode",
          "name": "CONTACT_8_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_5_city",
          "name": "CONTACT_5_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_11_name",
          "name": "CONTACT_11_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_4_city",
          "name": "CONTACT_4_CITY"
        },
        {
          "datatype": "Number",
          "field_name": "other_fee_subtotal",
          "name": "OTHER_FEE_SUBTOTAL"
        },
        {
          "datatype": "Text",
          "field_name": "contact_14_zipcode",
          "name": "CONTACT_14_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_3_name",
          "name": "CONTACT_3_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_2_type",
          "name": "CONTACT_2_TYPE"
        },
        {
          "datatype": "Number",
          "field_name": "building_fee_paid",
          "name": "BUILDING_FEE_PAID"
        },
        {
          "datatype": "Number",
          "field_name": "census_tract",
          "name": "CENSUS_TRACT"
        },
        {
          "datatype": "Text",
          "field_name": "contact_1_zipcode",
          "name": "CONTACT_1_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "id",
          "name": "ID"
        },
        {
          "datatype": "Text",
          "field_name": "permit_",
          "name": "PERMIT#"
        },
        {
          "datatype": "Text",
          "field_name": "contact_10_state",
          "name": "CONTACT_10_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_4_type",
          "name": "CONTACT_4_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_1_type",
          "name": "CONTACT_1_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "street_direction",
          "name": "STREET_DIRECTION"
        },
        {
          "datatype": "Text",
          "field_name": "permit_condition",
          "name": "PERMIT_CONDITION"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_awaf_s7ux",
          "name": "Historical Wards 2003-2015"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_43wa_7qmu",
          "name": "Wards"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_bdys_3d7i",
          "name": "Census Tracts"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_6mkv_f3dw",
          "name": "Zip Codes"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_vrxf_vc4k",
          "name": "Community Areas"
        },
        {
          "datatype": "Number",
          "field_name": "zoning_fee_paid",
          "name": "ZONING_FEE_PAID"
        },
        {
          "datatype": "Text",
          "field_name": "contact_15_name",
          "name": "CONTACT_15_NAME"
        },
        {
          "datatype": "Point",
          "field_name": "location",
          "name": "LOCATION"
        },
        {
          "datatype": "Text",
          "field_name": "contact_9_zipcode",
          "name": "CONTACT_9_ZIPCODE"
        },
        {
          "datatype": "Number",
          "field_name": "processing_time",
          "name": "PROCESSING_TIME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_12_type",
          "name": "CONTACT_12_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_13_zipcode",
          "name": "CONTACT_13_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_15_type",
          "name": "CONTACT_15_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_7_zipcode",
          "name": "CONTACT_7_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_4_zipcode",
          "name": "CONTACT_4_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_1_name",
          "name": "CONTACT_1_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_1_state",
          "name": "CONTACT_1_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_7_type",
          "name": "CONTACT_7_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_5_name",
          "name": "CONTACT_5_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_7_state",
          "name": "CONTACT_7_STATE"
        },
        {
          "datatype": "Number",
          "field_name": "building_fee_waived",
          "name": "BUILDING_FEE_WAIVED"
        },
        {
          "datatype": "Number",
          "field_name": "ycoordinate",
          "name": "YCOORDINATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_3_type",
          "name": "CONTACT_3_TYPE"
        },
        {
          "datatype": "Number",
          "field_name": "street_number",
          "name": "STREET_NUMBER"
        },
        {
          "datatype": "Text",
          "field_name": "contact_14_name",
          "name": "CONTACT_14_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "permit_type",
          "name": "PERMIT_TYPE"
        },
        {
          "datatype": "Number",
          "field_name": "other_fee_waived",
          "name": "OTHER_FEE_WAIVED"
        },
        {
          "datatype": "Text",
          "field_name": "contact_11_city",
          "name": "CONTACT_11_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_9_name",
          "name": "CONTACT_9_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_9_state",
          "name": "CONTACT_9_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "permit_milestone",
          "name": "PERMIT_MILESTONE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_8_state",
          "name": "CONTACT_8_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_9_city",
          "name": "CONTACT_9_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_15_state",
          "name": "CONTACT_15_STATE"
        },
        {
          "datatype": "Number",
          "field_name": "longitude",
          "name": "LONGITUDE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_2_city",
          "name": "CONTACT_2_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_4_name",
          "name": "CONTACT_4_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_8_name",
          "name": "CONTACT_8_NAME"
        },
        {
          "datatype": "Number",
          "field_name": "ward",
          "name": "WARD"
        },
        {
          "datatype": "Text",
          "field_name": "contact_10_name",
          "name": "CONTACT_10_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_10_type",
          "name": "CONTACT_10_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_10_zipcode",
          "name": "CONTACT_10_ZIPCODE"
        },
        {
          "datatype": "Number",
          "field_name": "other_fee_unpaid",
          "name": "OTHER_FEE_UNPAID"
        },
        {
          "datatype": "Number",
          "field_name": "building_fee_subtotal",
          "name": "BUILDING_FEE_SUBTOTAL"
        },
        {
          "datatype": "Text",
          "field_name": "contact_5_type",
          "name": "CONTACT_5_TYPE"
        },
        {
          "datatype": "Number",
          "field_name": "subtotal_paid",
          "name": "SUBTOTAL_PAID"
        },
        {
          "datatype": "Text",
          "field_name": "contact_3_zipcode",
          "name": "CONTACT_3_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_5_zipcode",
          "name": "CONTACT_5_ZIPCODE"
        },
        {
          "datatype": "Number",
          "field_name": "zoning_fee_unpaid",
          "name": "ZONING_FEE_UNPAID"
        },
        {
          "datatype": "Text",
          "field_name": "contact_2_name",
          "name": "CONTACT_2_NAME"
        },
        {
          "datatype": "Number",
          "field_name": "zoning_fee_subtotal",
          "name": "ZONING_FEE_SUBTOTAL"
        },
        {
          "datatype": "Text",
          "field_name": "contact_15_zipcode",
          "name": "CONTACT_15_ZIPCODE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_13_city",
          "name": "CONTACT_13_CITY"
        },
        {
          "datatype": "Number",
          "field_name": "community_area",
          "name": "COMMUNITY_AREA"
        },
        {
          "datatype": "Text",
          "field_name": "contact_5_state",
          "name": "CONTACT_5_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "work_description",
          "name": "WORK_DESCRIPTION"
        },
        {
          "datatype": "Text",
          "field_name": "permit_status",
          "name": "PERMIT_STATUS"
        },
        {
          "datatype": "Number",
          "field_name": "total_fee",
          "name": "TOTAL_FEE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_3_state",
          "name": "CONTACT_3_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_2_zipcode",
          "name": "CONTACT_2_ZIPCODE"
        },
        {
          "datatype": "Number",
          "field_name": "zoning_fee_waived",
          "name": "ZONING_FEE_WAIVED"
        },
        {
          "datatype": "Text",
          "field_name": "contact_11_state",
          "name": "CONTACT_11_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_7_city",
          "name": "CONTACT_7_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "work_type",
          "name": "WORK_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_2_state",
          "name": "CONTACT_2_STATE"
        },
        {
          "datatype": "Number",
          "field_name": "subtotal_waived",
          "name": "SUBTOTAL_WAIVED"
        },
        {
          "datatype": "Text",
          "field_name": "contact_6_name",
          "name": "CONTACT_6_NAME"
        },
        {
          "datatype": "Number",
          "field_name": "other_fee_paid",
          "name": "OTHER_FEE_PAID"
        },
        {
          "datatype": "Text",
          "field_name": "contact_12_city",
          "name": "CONTACT_12_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_14_city",
          "name": "CONTACT_14_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_3_city",
          "name": "CONTACT_3_CITY"
        },
        {
          "datatype": "Number",
          "field_name": "building_fee_unpaid",
          "name": "BUILDING_FEE_UNPAID"
        },
        {
          "datatype": "Text",
          "field_name": "contact_6_type",
          "name": "CONTACT_6_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_15_city",
          "name": "CONTACT_15_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_1_city",
          "name": "CONTACT_1_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "pin_list",
          "name": "PIN_LIST"
        },
        {
          "datatype": "Text",
          "field_name": "contact_8_city",
          "name": "CONTACT_8_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_14_state",
          "name": "CONTACT_14_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_10_city",
          "name": "CONTACT_10_CITY"
        },
        {
          "datatype": "Text",
          "field_name": "contact_8_type",
          "name": "CONTACT_8_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_13_state",
          "name": "CONTACT_13_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_12_zipcode",
          "name": "CONTACT_12_ZIPCODE"
        },
        {
          "datatype": "Number",
          "field_name": "latitude",
          "name": "LATITUDE"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_rpca_8um6",
          "name": "Boundaries - ZIP Codes"
        },
        {
          "datatype": "Text",
          "field_name": "contact_13_type",
          "name": "CONTACT_13_TYPE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_9_type",
          "name": "CONTACT_9_TYPE"
        },
        {
          "datatype": "Calendar date",
          "field_name": "issue_date",
          "name": "ISSUE_DATE"
        },
        {
          "datatype": "Number",
          "field_name": "subtotal_unpaid",
          "name": "SUBTOTAL_UNPAID"
        },
        {
          "datatype": "Number",
          "field_name": "reported_cost",
          "name": "REPORTED_COST"
        },
        {
          "datatype": "Text",
          "field_name": "contact_7_name",
          "name": "CONTACT_7_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_13_name",
          "name": "CONTACT_13_NAME"
        },
        {
          "datatype": "Text",
          "field_name": "contact_6_state",
          "name": "CONTACT_6_STATE"
        },
        {
          "datatype": "Text",
          "field_name": "contact_14_type",
          "name": "CONTACT_14_TYPE"
        }
      ],
      "created_at": "2011-09-30T12:00:08.000Z",
      "data_updated_at": "2026-10-09T12:06:53.000Z",
      "description": "This dataset includes information about building permits issued by the City of Chicago from 2006 to the present, excluding permits that have been voided or revoked after issuance. Most types of permits are issued subject to payment of the applicable permit fee. Work under a permit may not begin until the applicable permit fee is paid. For more information about building permits, see http://www.chicago.gov/permit.",
      "domain": "data.cityofchicago.org",
      "download_count": 169458,
      "id": "ydr8-5enu",
      "license": "See Terms of Use",
      "name": "Building Permits",
      "page_views_total": 5057250,
      "permalink": "https://data.cityofchicago.org/d/ydr8-5enu",
      "tags": [
        "permits",
        "buildings"
      ],
      "updated_at": "2026-10-09T12:06:53.000Z"
    },
    {
      "api_url": "https://data.cityofchicago.org/resource/icic-3jsa.json",
      "attribution": "City of Chicago",
      "category": "Administration & Finance",
      "column_count": 7,
      "columns": [
        {
          "datatype": "Text",
          "field_name": "corrections_denials",
          "name": "Corrections/Denials"
        },
        {
          "datatype": "Text",
          "field_name": "year",
          "name": "Year"
        },
        {
          "datatype": "Text",
          "field_name": "approvals",
          "name": "Approvals"
        },
        {
          "datatype": "Number",
          "field_name": "average_number_of_days_to_schedule_appointment",
          "name": "Average Number of Days to Schedule Appointment"
        },
        {
          "datatype": "Number",
          "field_name": "permit_plan_review",
          "name": "Permit Plan Review"
        },
        {
          "datatype": "Number",
          "field_name": "average_number_of_plan_reviews_to_approval",
          "name": "Average Number of Plan Reviews to Approval"
        },
        {
          "datatype": "Text",
          "field_name": "month",
          "name": "Month"
        }
      ],
      "created_at": "2011-08-16T14:55:27.000Z",
      "data_updated_at": "2013-02-01T18:08:58.000Z",
      "description": "Customers applying for a Building permit will create a web-based on-line Building permit application. As part of an initial review within the Building permit process, the zoning plan examination will be conducted to ensure compliance with the City of Chicago’s Zoning Ordinance which regulates land use. The applicant is able to schedule and be seen by a zoning plan examiner on average within two (2) business days from the date of the on-line application. An applicant may receive zoning approval w…",
      "domain": "data.cityofchicago.org",
      "download_count": 3352,
      "id": "icic-3jsa",
      "license": null,
      "name": "Performance Metrics - Housing & Economic Development - Zoning Permit Scheduling And Review",
      "page_views_total": 2645,
      "permalink": "https://data.cityofchicago.org/d/icic-3jsa",
      "tags": [
        "permits",
        "zoning",
        "performance metrics"
      ],
      "updated_at": "2013-02-01T18:09:05.000Z"
    },
    {
      "api_url": "https://data.cityofchicago.org/resource/4ygs-9x34.json",
      "attribution": "City of Chicago",
      "category": "Administration & Finance",
      "column_count": 4,
      "columns": [
        {
          "datatype": "Number",
          "field_name": "target",
          "name": "Target"
        },
        {
          "datatype": "Text",
          "field_name": "week_text",
          "name": "Week - Text"
        },
        {
          "datatype": "Calendar date",
          "field_name": "week",
          "name": "Week"
        },
        {
          "datatype": "Number",
          "field_name": "average_days_to_permit",
          "name": "Average Days to Permit"
        }
      ],
      "created_at": "2011-09-27T13:37:32.000Z",
      "data_updated_at": "2014-08-04T20:46:22.000Z",
      "description": "The Department of Building (DOB) issues building permits to give individuals, insurance companies, neighbors and the City assurance that specific minimum standards are met in constructing, repairing or altering buildings by complying with the Chicago Building Code. This metric tracks the average number of days DOB takes to process Standard Plan Review Program building permits, grouped by the week the permit was processed. The target process time is within 53 days. The Standard Plan Review Progra…",
      "domain": "data.cityofchicago.org",
      "download_count": 6504,
      "id": "4ygs-9x34",
      "license": null,
      "name": "Performance Metrics - Buildings - Time to Issue Standard Plan Review Program Permits",
      "page_views_total": 3042,
      "permalink": "https://data.cityofchicago.org/d/4ygs-9x34",
      "tags": [
        "buildings",
        "permits",
        "performance metrics",
        "service delivery"
      ],
      "updated_at": "2014-08-04T20:46:22.000Z"
    }
  ],
  "domain": "data.cityofchicago.org",
  "next_offset": 3,
  "observed_at_ms": 1791566238690,
  "offset": 0,
  "query": "building permits",
  "region": "us",
  "source_url": "https://api.us.socrata.com/api/catalog/v1?search_context=data.cityofchicago.org&domains=data.cityofchicago.org&only=dataset&q=building+permits&limit=3&offset=0",
  "total_count": 19
}
```
