Sign inTry it

Search Chicago open datasets.

Searches the City of Chicago Data Portal catalog for datasets, like its catalog page: dataset name, dataset id, category, last update time and link. First page of results (up to 20 datasets, datasets only, from this portal). Returns an empty list when nothing matches.

No reports yetRead-only, no login
Site
City of Chicago Data Portal, United States
Version
v1
Runs, last 7 days
No reports yet
sha256
a1d38b01bb96…

Run it with your agent

after installing Wield

Ask in plain words. Your agent finds this recipe and calls it:

“Search Chicago open datasets.”

Read-only: it changes nothing on the site. No login needed.

{
  "tool": "run",
  "arguments": {
    "recipe_id": "data.cityofchicago.org/search-open-data",
    "params": {
      "query": "building permits"
    }
  }
}

Requests

sent from your browser, in order
  1. 1GET/api/catalog/v1?domains&limit&only&qSocrata catalog JSON API that the portal's catalog page uses; read-only GET with no key. Restricted to datasets on this domain.

Parameters

from your agent
querystringrequiredDataset keywords, e.g. 'building permits', 'food inspections', 'traffic crashes'

Returns

to your agent
datasetsobject[]category, dataset_id, title, updated_at, url
querystring
totalintegerNumber of matching datasets on the portal

Where it can send

  • data.cityofchicago.org

Anything else is blocked by the extension.

Reads from your session

Nothing. Your browser attaches the site's cookies by itself.

Used only in requests to the addresses on the left. Never sent to wield.run or your agent.

Checks

a run passes when
  • length(output.datasets) > `0`
  • length(output.datasets[?title != `null`]) == length(output.datasets)
  • length(output.datasets[?starts_with(url, 'https://data.cityofchicago.org/')]) == length(output.datasets)

Raw recipe

Served as canonical JSON from /api/v1/recipes/data.cityofchicago.org/search-open-data, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/data.cityofchicago.org/search-open-data | shasum -a 256
# a1d38b01bb9654a39fa821d19690ee648f0fadea9a934b0c95885263353f298c
data.cityofchicago.org/search-open-data.json, v1
{
  "description": "Searches the City of Chicago Data Portal catalog for datasets, like its catalog page: dataset name, dataset id, category, last update time and link. First page of results (up to 20 datasets, datasets only, from this portal). Returns an empty list when nothing matches.",
  "effect": "read",
  "id": "data.cityofchicago.org/search-open-data",
  "keywords": [
    "chicago",
    "data portal",
    "open data",
    "datasets",
    "city data",
    "building permits",
    "food inspections",
    "traffic crashes",
    "public data",
    "government data",
    "stadt daten",
    "data.cityofchicago.org",
    "socrata"
  ],
  "output": {
    "schema": {
      "properties": {
        "datasets": {
          "items": {
            "properties": {
              "category": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "dataset_id": {
                "description": "Socrata four-by-four id, e.g. ydr8-5enu",
                "type": [
                  "string",
                  "null"
                ]
              },
              "title": {
                "type": "string"
              },
              "updated_at": {
                "description": "ISO-8601 time of the last data update",
                "type": [
                  "string",
                  "null"
                ]
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "query": {
          "type": "string"
        },
        "total": {
          "description": "Number of matching datasets on the portal",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "query",
        "datasets"
      ],
      "type": "object"
    },
    "value": "{query: params.query, total: steps.search.total || `null`, datasets: steps.search.items[?title != `null` && url != `null`].{title: title, dataset_id: dataset_id || `null`, category: category || `null`, updated_at: updated_at || `null`, url: url}}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "query": {
        "description": "Dataset keywords, e.g. 'building permits', 'food inspections', 'traffic crashes'",
        "maxLength": 100,
        "minLength": 2,
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "har",
    "notes": "The /browse?q= page is a client-rendered shell with no results in the HTML. The portal's catalog data comes from the public Socrata catalog API GET /api/catalog/v1 (q, domains, only, limit), which needs no key. Results are under results[]: resource.name is the title, resource.id the dataset id, permalink the link, classification.domain_category the category. The description field is HTML, so it is not returned.",
    "recorded_at": "2026-11-08T16:21:53.000Z",
    "recorded_by": "wield-forge (claude-haiku agent)"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "US",
    "id": "data.cityofchicago.org",
    "language": "en",
    "name": "City of Chicago Data Portal",
    "origin": "https://data.cityofchicago.org",
    "origins": [
      "https://data.cityofchicago.org"
    ]
  },
  "steps": [
    {
      "description": "Socrata catalog JSON API that the portal's catalog page uses; read-only GET with no key. Restricted to datasets on this domain.",
      "expect": {
        "assert": "status == `200` && type(body.results) == 'array'",
        "content_type": "json",
        "status": [
          200
        ]
      },
      "extract": {
        "json": {
          "items": "results[].{title: resource.name, dataset_id: resource.id, url: permalink, category: classification.domain_category, updated_at: resource.updatedAt}",
          "total": "resultSetSize"
        }
      },
      "id": "search",
      "request": {
        "headers": {
          "Accept": "application/json"
        },
        "method": "GET",
        "query": {
          "domains": "data.cityofchicago.org",
          "limit": "20",
          "only": "datasets",
          "q": "{{params.query}}"
        },
        "url": "/api/catalog/v1"
      }
    }
  ],
  "task": "Search Chicago open datasets",
  "tos": {
    "notes": "Not reviewed. One catalog API call per search, the same data the portal's catalog page loads. The site's terms on automated access were not checked.",
    "reviewed": false
  },
  "verify": {
    "checks": [
      "length(output.datasets) > `0`",
      "length(output.datasets[?title != `null`]) == length(output.datasets)",
      "length(output.datasets[?starts_with(url, 'https://data.cityofchicago.org/')]) == length(output.datasets)"
    ],
    "example_params": {
      "query": "building permits"
    },
    "max_ms": 5000
  },
  "version": 1
}