---
type: "firecrawl-provider"
description: "The City of Edmonton's open data portal (data.edmonton.ca, a Socrata site, Open Government Licence - Edmonton): search the dataset catalog, read a dataset's metadata and columns, query and count rows of any dataset with SoQL ($select/$where/$order/$group/$q and bare field filters, including spatial functions), list the portal's category and tag facets, and typed lookups for building permits, property assessments (with zoning, lot size and year built) and business licences."
use_when: "The City of Edmonton's open data portal (data.edmonton.ca, a Socrata site, Open Government Licence - Edmonton): search the dataset catalog, read a dataset's metadata and columns, query and count rows of any dataset with SoQL ($select/$where/$order/$group/$q and bare field filters, including spatial functions), list the portal's category and tag facets, and typed lookups for building permits, property assessments (with zoning, lot size and year built) and business licences."
categories: "Public records"
capabilities: 8
credits_per_call: 5
---
# City of Edmonton Open Data on Firecrawl Alexandria

The City of Edmonton's open data portal (data.edmonton.ca, a Socrata site, Open Government Licence - Edmonton): search the dataset catalog, read a dataset's metadata and columns, query and count rows of any dataset with SoQL ($select/$where/$order/$group/$q and bare field filters, including spatial functions), list the portal's category and tag facets, and typed lookups for building permits, property assessments (with zoning, lot size and year built) and business licences.

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

## More

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

## Capabilities

- [Building permits](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/building_permits): Building permits issued by the City of Edmonton since 2009, from the General Building Permits dataset (24uj-dj8v), newest first. Filter by address substring, neighbourhood, job category (for example Commercial Final), work type, building type, description words, minimum construction value and an issue-date window; every filter is quoted into SoQL by the program. Values are typed (numbers, YYYY-MM-DD dates). The dataset publishes no permit number or applicant. An empty page is a successful result with count 0.
- [Business licences](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/business_licences): Active City of Edmonton business licences (City of Edmonton - Business Licences, qhi4-bdpu), most recently issued first. Look up a licence number, or filter by business name substring, category substring, licence type, neighbourhood, address substring and an issued-since date. An unknown licence number is not_found; a search with no match is an empty result.
- [Dataset](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/dataset): Metadata and the column list of one Edmonton Open Data asset from /api/views/<4x4>.json: name, description, category, tags, attribution, license, provenance, creation/update timestamps, publishing department and frequency, custom metadata fields, and every column with its SoQL field_name (which can differ from the display name and may be truncated to 10 characters on legacy imports), datatype (text, number, calendar_date, point, multipolygon ...), description and cached value statistics (counts and top values). Also returns the landing source_url and the SODA api_url. Unknown ids are not_found.
- [Datasets](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/datasets): Search the Edmonton catalog through the Socrata Discovery API (search_context and domains=data.edmonton.ca): free-text query, asset type, category, tags and sort order, or look up one asset by its 4x4 id. Each result carries the 4x4 dataset id, name, type (dataset, map, filter, href, chart, story ...), description, category, tags, timestamps, column field names and datatypes, download and view counts, the landing link, permalink and, for tabular datasets, the SODA api_url to pass to `rows`. Paged by `limit` and an opaque `cursor`. An unknown `dataset_id` is not_found; a query with no match is a successful empty result.
- [Facets](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/facets): The Edmonton portal's category or tag facets with asset counts, from the Discovery API domain_categories / domain_tags endpoints scoped to data.edmonton.ca. Use the values as `category` / `tags` inputs to `datasets`.
- [Property](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/property): City of Edmonton property tax assessments for the current year (Property Assessment Data, q7d6-ambg) joined with Property Information (dkk9-cj3x) by account number: address, neighbourhood, ward, assessed value, tax class and assessment classes, garage, legal description, zoning, lot size, gross area and year built. Look up an account number, or search by street name (with an optional house number) or neighbourhood. An unknown account number is not_found; an address search with no match is an empty result. No owner names are published.
- [Row count](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/row_count): Number of rows of a Edmonton Open Data dataset matching optional `where`, `q` and `filters`, from `$select=count(*)` on the SODA endpoint. The count column is read whatever SODA names it (count, or count_1 when the dataset has its own count column). Returns the integer count and the exact request URL. An unknown dataset id is not_found; a SoQL error is invalid_input.
- [Rows](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/rows): Query rows of any Edmonton Open Data dataset through the SODA 2.1 endpoint https://data.edmonton.ca/resource/<4x4>.json with SoQL: `select` (columns, aggregates such as count(*)), `where` (SoQL predicates incl. like, between, intersects(geometry,'POINT(lon lat)'), within_circle(point, lat, lon, meters), within_box), `order`, `group`, `q` (full text) and `filters` (bare field=value equality parameters), paged with `limit` (1-50000, default 100) and `cursor` (row offset). Without `order` (and without `group`) the program orders by the row id `:id` so pages are stable. Numbers stay strings as published. Rows come back exactly as published: numbers and dates are strings, geometry is GeoJSON; `columns` lists the returned field names and Socrata types from the X-SODA2-Fields/Types headers. An unknown dataset id is not_found; a SoQL error (unknown column, bad syntax) is invalid_input carrying the portal's message; an empty page is a successful result with count 0.

## 1. Choose this provider when

The City of Edmonton's open data portal (data.edmonton.ca, a Socrata site, Open Government Licence - Edmonton): search the dataset catalog, read a dataset's metadata and columns, query and count rows of any dataset with SoQL ($select/$where/$order/$group/$q and bare field filters, including spatial functions), list the portal's category and tag facets, and typed lookups for building permits, property assessments (with zoning, lot size and year built) and business licences.

## 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": "data-edmonton-ca",
  "capability": "open-data/building_permits",
  "options": {
    "address": "4503 - 86 STREET NW",
    "issued_since": "2023-06-27",
    "issued_until": "2023-06-27"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `address` (string): Case-insensitive substring of the permit address, for example 86 STREET NW or 4503 - 86 STREET NW. Example: `<address>`
- `building_type` (string): Case-insensitive substring of the building type, for example Apartment or Row Houses. Example: `<building_type>`
- `cursor` (string): Record offset to start from: the next_cursor of the previous page. Pattern: ^[0-9]{1,12}$. Example: `<cursor>`
- `description` (string): Case-insensitive substring of the job description. Example: `<description>`
- `issued_since` (string): First issue date, inclusive. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_since>`
- `issued_until` (string): Last issue date, inclusive. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_until>`
- `job_category` (string): Job category, case-insensitive exact match, for example Commercial Final or Home Improvement. Example: `<job_category>`
- `limit` (number): Records per page. Example: `25`
- `min_construction_value` (number): Only permits with a construction value at or above this amount (CAD). Example: `10`
- `neighbourhood` (string): Neighbourhood name, case-insensitive exact match, for example DOWNTOWN. Example: `<neighbourhood>`
- `work_type` (string): Case-insensitive substring of the work type, for example Demolition or New. Example: `<work_type>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "data-edmonton-ca",
    capability: "open-data/building_permits",
    options: {
      address: "4503 - 86 STREET NW",
      issued_since: "2023-06-27",
      issued_until: "2023-06-27",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "data-edmonton-ca",
  "capability": "open-data/building_permits",
  "options": {
    "address": "4503 - 86 STREET NW",
    "issued_since": "2023-06-27",
    "issued_until": "2023-06-27"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "data-edmonton-ca",
    "capability": "open-data/building_permits",
    "options": {
      "address": "4503 - 86 STREET NW",
      "issued_since": "2023-06-27",
      "issued_until": "2023-06-27"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'data-edmonton-ca/open-data/building_permits' \
  --options '{"address":"4503 - 86 STREET NW","issued_since":"2023-06-27","issued_until":"2023-06-27"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "data-edmonton-ca",
  "capability": "open-data/building_permits",
  "options": {
    "address": "4503 - 86 STREET NW",
    "issued_since": "2023-06-27",
    "issued_until": "2023-06-27"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "data-edmonton-ca",
  "capability": "open-data/building_permits",
  "options": {
    "address": "4503 - 86 STREET NW",
    "issued_since": "2023-06-27",
    "issued_until": "2023-06-27"
  }
}
```

## 6. Response data

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

```json
{
  "count": 1,
  "data_last_modified": "Sun, 25 Oct 2026 10:43:01 GMT",
  "dataset_id": "24uj-dj8v",
  "dataset_url": "https://data.edmonton.ca/d/24uj-dj8v",
  "limit": 25,
  "next_cursor": null,
  "observed_at_ms": 1792968770447,
  "offset": 0,
  "permits": [
    {
      "address": "4503 - 86 STREET NW",
      "building_type": "Transportation Terminals (440)",
      "business_improvement_area": null,
      "construction_value": 58131,
      "floor_area": null,
      "issue_date": "2023-06-27",
      "job_category": "Commercial Final",
      "job_description": "To demolish the Millgate Transit Centre",
      "latitude": null,
      "legal_description": null,
      "longitude": null,
      "neighbourhood": "MCINTYRE INDUSTRIAL",
      "neighbourhood_number": "6430",
      "occupancy_granted_date": null,
      "permit_date": "2023-06-27",
      "row_id": "2-472013926",
      "units_added": 0,
      "work_type": "(99) Demolition",
      "zoning": null
    }
  ],
  "source_url": "https://data.edmonton.ca/resource/24uj-dj8v.json?%24where=upper%28address%29+like+%27%254503+-+86+STREET+NW%25%27+AND+issue_date+%3E%3D+%272023-06-27T00%3A00%3A00%27+AND+issue_date+%3C%3D+%272023-06-27T23%3A59%3A59%27&%24order=issue_date+DESC%2C+%3Aid&%24limit=25"
}
```

## API reference-derived contract

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

### Building permits

- Capability: `open-data/building_permits`
- Description: Building permits issued by the City of Edmonton since 2009, from the General Building Permits dataset (24uj-dj8v), newest first. Filter by address substring, neighbourhood, job category (for example Commercial Final), work type, building type, description words, minimum construction value and an issue-date window; every filter is quoted into SoQL by the program. Values are typed (numbers, YYYY-MM-DD dates). The dataset publishes no permit number or applicant. An empty page is a successful result with count 0.
- Instructions: Permit activity at an address or in a neighbourhood, large commercial permits above a value, or permits issued in a period. For other permit datasets (development permits, trade permits) use datasets and rows.
- Cost: 5 credits per call
- Capability file: [Building permits](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/building_permits)

Accepted options:
- `address` (string): Case-insensitive substring of the permit address, for example 86 STREET NW or 4503 - 86 STREET NW. Example: `<address>`
- `building_type` (string): Case-insensitive substring of the building type, for example Apartment or Row Houses. Example: `<building_type>`
- `cursor` (string): Record offset to start from: the next_cursor of the previous page. Pattern: ^[0-9]{1,12}$. Example: `<cursor>`
- `description` (string): Case-insensitive substring of the job description. Example: `<description>`
- `issued_since` (string): First issue date, inclusive. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_since>`
- `issued_until` (string): Last issue date, inclusive. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_until>`
- `job_category` (string): Job category, case-insensitive exact match, for example Commercial Final or Home Improvement. Example: `<job_category>`
- `limit` (number): Records per page. Example: `25`
- `min_construction_value` (number): Only permits with a construction value at or above this amount (CAD). Example: `10`
- `neighbourhood` (string): Neighbourhood name, case-insensitive exact match, for example DOWNTOWN. Example: `<neighbourhood>`
- `work_type` (string): Case-insensitive substring of the work type, for example Demolition or New. Example: `<work_type>`

Response schema example:
```json
{
  "count": 1,
  "data_last_modified": "Sun, 25 Oct 2026 10:43:01 GMT",
  "dataset_id": "24uj-dj8v",
  "dataset_url": "https://data.edmonton.ca/d/24uj-dj8v",
  "limit": 25,
  "next_cursor": null,
  "observed_at_ms": 1792968770447,
  "offset": 0,
  "permits": [
    {
      "address": "4503 - 86 STREET NW",
      "building_type": "Transportation Terminals (440)",
      "business_improvement_area": null,
      "construction_value": 58131,
      "floor_area": null,
      "issue_date": "2023-06-27",
      "job_category": "Commercial Final",
      "job_description": "To demolish the Millgate Transit Centre",
      "latitude": null,
      "legal_description": null,
      "longitude": null,
      "neighbourhood": "MCINTYRE INDUSTRIAL",
      "neighbourhood_number": "6430",
      "occupancy_granted_date": null,
      "permit_date": "2023-06-27",
      "row_id": "2-472013926",
      "units_added": 0,
      "work_type": "(99) Demolition",
      "zoning": null
    }
  ],
  "source_url": "https://data.edmonton.ca/resource/24uj-dj8v.json?%24where=upper%28address%29+like+%27%254503+-+86+STREET+NW%25%27+AND+issue_date+%3E%3D+%272023-06-27T00%3A00%3A00%27+AND+issue_date+%3C%3D+%272023-06-27T23%3A59%3A59%27&%24order=issue_date+DESC%2C+%3Aid&%24limit=25"
}
```

### Business licences

- Capability: `open-data/business_licences`
- Description: Active City of Edmonton business licences (City of Edmonton - Business Licences, qhi4-bdpu), most recently issued first. Look up a licence number, or filter by business name substring, category substring, licence type, neighbourhood, address substring and an issued-since date. An unknown licence number is not_found; a search with no match is an empty result.
- Instructions: Is a business licensed in Edmonton, where, since when and until when; new licences in a category or neighbourhood.
- Cost: 5 credits per call
- Capability file: [Business licences](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/business_licences)

Accepted options:
- `address` (string): Case-insensitive substring of the business address. Example: `<address>`
- `category` (string): Case-insensitive substring of the licence category, for example Restaurant. Example: `<category>`
- `cursor` (string): Record offset to start from: the next_cursor of the previous page. Pattern: ^[0-9]{1,12}$. Example: `<cursor>`
- `issued_since` (string): Only licences most recently issued on or after this date. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_since>`
- `licence_number` (string): Licence identifier, for example 159773667-001. Example: `<licence_number>`
- `licence_type` (string): Licence type, case-insensitive exact match: Commercial, Home Based, Non-Resident, Adult Services or Massage Practitioner. Example: `<licence_type>`
- `limit` (number): Records per page. Example: `25`
- `name` (string): Case-insensitive substring of the business name, for example TIM HORTONS. Example: `<name>`
- `neighbourhood` (string): Neighbourhood name, case-insensitive exact match. Example: `<neighbourhood>`

Response schema example:
```json
{
  "count": 5,
  "data_last_modified": "Sun, 25 Oct 2026 10:37:21 GMT",
  "dataset_id": "qhi4-bdpu",
  "dataset_url": "https://data.edmonton.ca/d/qhi4-bdpu",
  "licences": [
    {
      "address": "12820 - 82 STREET NW",
      "business_improvement_area": null,
      "business_name": "TIM HORTONS",
      "category": "Restaurant or Food Service",
      "expiry_date": "2028-11-05",
      "latitude": 53.587642347974146,
      "licence_duration": "2 Year",
      "licence_number": "159773667-001",
      "licence_type": "Commercial",
      "longitude": -113.4677943441271,
      "most_recent_issue_date": "2026-10-20",
      "neighbourhood": "Killarney",
      "neighbourhood_id": "2420",
      "original_issue_date": "2014-11-06",
      "ward": "tastawiyiniwak"
    },
    {
      "address": "7535 - 38 AVENUE NW",
      "business_improvement_area": null,
      "business_name": "TIM HORTONS",
      "category": "Retail Sales (Minor);Restaurant or Food Service",
      "expiry_date": "2027-11-30",
      "latitude": 53.4723207293446,
      "licence_duration": "1 Year",
      "licence_number": "491365971-001",
      "licence_type": "Commercial",
      "longitude": -113.45028784542113,
      "most_recent_issue_date": "2026-10-19",
      "neighbourhood": "Lee Ridge",
      "neighbourhood_id": "6400",
      "original_issue_date": "2023-12-01",
      "ward": "Karhiio"
    },
    {
      "address": "17211 - 100 AVENUE NW",
      "business_improvement_area": null,
      "business_name": "TIM HORTONS 122029",
      "category": "Restaurant or Food Service",
      "expiry_date": "2027-10-18",
      "latitude": 53.538474382555655,
      "licence_duration": "1 Year",
      "licence_number": "684762766-001",
      "licence_type": "Commercial",
      "longitude": -113.61897334517869,
      "most_recent_issue_date": "2026-10-19",
      "neighbourhood": "Place LaRue",
      "neighbourhood_id": "4400",
      "original_issue_date": "2026-10-19",
      "ward": "Nakota Isga"
    },
    {
      "address": "10519 - 82 AVENUE NW",
      "business_improvement_area": "Old Strathcona",
      "business_name": "TIM HORTONS",
      "category": "Restaurant or Food Service",
      "expiry_date": "2028-11-06",
      "latitude": 53.51776408152955,
      "licence_duration": "2 Year",
      "licence_number": "447080100-002",
      "licence_type": "Commercial",
      "longitude": -113.50150698395659,
      "most_recent_issue_date": "2026-09-25",
      "neighbourhood": "Queen Alexandra",
      "neighbourhood_id": "5330",
      "original_issue_date": "2022-11-07",
      "ward": "papastew"
    },
    {
      "address": "10240 - KINGSWAY NW",
      "business_improvement_area": "Kingsway",
      "business_name": "WHITE SPOT / TIM HORTONS / COFFEE BAR / HEALTHY TRENDZ / HEALTHY TRENDZ EXPRESS/PIZZA PIZZA",
      "category": "Restaurant or Food Service",
      "expiry_date": "2027-10-31",
      "latitude": 53.557202534809065,
      "licence_duration": "1 Year",
      "licence_number": "463349536-002",
      "licence_type": "Commercial",
      "longitude": -113.4984153905887,
      "most_recent_issue_date": "2026-09-21",
      "neighbourhood": "Central McDougall",
      "neighbourhood_id": "1030",
      "original_issue_date": "2023-11-01",
      "ward": "O-day'min"
    }
  ],
  "limit": 5,
  "next_cursor": "5",
  "observed_at_ms": 1792968770769,
  "offset": 0,
  "source_url": "https://data.edmonton.ca/resource/qhi4-bdpu.json?%24where=upper%28business_name%29+like+%27%25TIM+HORTONS%25%27&%24order=most_recent_issue_date+DESC%2C+%3Aid&%24limit=5"
}
```

### Dataset

- Capability: `open-data/dataset`
- Description: Metadata and the column list of one Edmonton Open Data asset from /api/views/<4x4>.json: name, description, category, tags, attribution, license, provenance, creation/update timestamps, publishing department and frequency, custom metadata fields, and every column with its SoQL field_name (which can differ from the display name and may be truncated to 10 characters on legacy imports), datatype (text, number, calendar_date, point, multipolygon ...), description and cached value statistics (counts and top values). Also returns the landing source_url and the SODA api_url. Unknown ids are not_found.
- Instructions: Before `rows`: column field names and datatypes must come from here, not be guessed. Accepts a 4x4 id or any data.edmonton.ca dataset URL.
- Cost: 5 credits per call
- Capability file: [Dataset](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/dataset)

Accepted options:
- `dataset_id` (string, required): 4x4 id (for example `24uj-dj8v`) or a portal URL containing it: https://data.edmonton.ca/d/<id>, .../<Category>/<Name>/<id>, .../resource/<id>.json. Example: `24uj-dj8v`

Response schema example:
```json
{
  "api_url": "https://data.edmonton.ca/resource/24uj-dj8v.json",
  "asset_type": "dataset",
  "attribution": "City of Edmonton",
  "attribution_link": null,
  "category": "Urban Planning & Economy",
  "column_count": 34,
  "columns": [
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248117,
        "null_count": 0,
        "top": [
          {
            "count": 1,
            "value": "0-100001670"
          },
          {
            "count": 1,
            "value": "0-100017893"
          },
          {
            "count": 1,
            "value": "0-100019759"
          },
          {
            "count": 1,
            "value": "0-100020719"
          },
          {
            "count": 1,
            "value": "0-100022141"
          },
          {
            "count": 1,
            "value": "0-100025020"
          },
          {
            "count": 1,
            "value": "0-100025215"
          },
          {
            "count": 1,
            "value": "0-100028012"
          },
          {
            "count": 1,
            "value": "0-100028928"
          },
          {
            "count": 1,
            "value": "0-100035724"
          },
          {
            "count": 1,
            "value": "0-100036362"
          },
          {
            "count": 1,
            "value": "0-100038789"
          },
          {
            "count": 1,
            "value": "0-100039829"
          },
          {
            "count": 1,
            "value": "0-100050922"
          },
          {
            "count": 1,
            "value": "0-100052566"
          },
          {
            "count": 1,
            "value": "0-100053867"
          },
          {
            "count": 1,
            "value": "0-100054368"
          },
          {
            "count": 1,
            "value": "0-100054757"
          },
          {
            "count": 1,
            "value": "0-100063959"
          },
          {
            "count": 1,
            "value": "0-100001232"
          }
        ]
      },
      "datatype": "text",
      "description": "I system generated ID used to identify a particular row of data.",
      "field_name": "row_id",
      "name": "Row ID",
      "position": 1,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248117,
        "null_count": 0,
        "top": [
          {
            "count": 166,
            "value": "2019-12-05T00:00:00.000"
          },
          {
            "count": 131,
            "value": "2019-11-27T00:00:00.000"
          },
          {
            "count": 127,
            "value": "2021-04-20T00:00:00.000"
          },
          {
            "count": 126,
            "value": "2023-08-31T00:00:00.000"
          },
          {
            "count": 121,
            "value": "2012-09-20T00:00:00.000"
          },
          {
            "count": 120,
            "value": "2022-05-25T00:00:00.000"
          },
          {
            "count": 120,
            "value": "2024-05-16T00:00:00.000"
          },
          {
            "count": 120,
            "value": "2024-09-24T00:00:00.000"
          },
          {
            "count": 119,
            "value": "2014-06-17T00:00:00.000"
          },
          {
            "count": 118,
            "value": "2024-06-11T00:00:00.000"
          },
          {
            "count": 118,
            "value": "2024-06-27T00:00:00.000"
          },
          {
            "count": 117,
            "value": "2022-06-21T00:00:00.000"
          },
          {
            "count": 116,
            "value": "2022-05-26T00:00:00.000"
          },
          {
            "count": 116,
            "value": "2024-06-14T00:00:00.000"
          },
          {
            "count": 116,
            "value": "2014-08-13T00:00:00.000"
          },
          {
            "count": 115,
            "value": "2020-08-25T00:00:00.000"
          },
          {
            "count": 114,
            "value": "2022-08-23T00:00:00.000"
          },
          {
            "count": 113,
            "value": "2014-06-11T00:00:00.000"
          },
          {
            "count": 113,
            "value": "2024-08-21T00:00:00.000"
          },
          {
            "count": 113,
            "value": "2026-05-21T00:00:00.000"
          }
        ]
      },
      "datatype": "calendar_date",
      "description": "The date when Building Permit has been issued.",
      "field_name": "issue_date",
      "name": "PERMIT_DATE",
      "position": 2,
      "render_type": "calendar_date"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 0,
        "null_count": 248117,
        "top": []
      },
      "datatype": "text",
      "description": "The unique City-issued permit number.  This column of data has been blanked due to FOIP reasons.",
      "field_name": "permit_number",
      "name": "PERMIT_NUMBER",
      "position": 3,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248117,
        "null_count": 0,
        "top": [
          {
            "count": 166,
            "value": "2019-12-05T00:00:00.000"
          },
          {
            "count": 131,
            "value": "2019-11-27T00:00:00.000"
          },
          {
            "count": 127,
            "value": "2021-04-20T00:00:00.000"
          },
          {
            "count": 126,
            "value": "2023-08-31T00:00:00.000"
          },
          {
            "count": 121,
            "value": "2012-09-20T00:00:00.000"
          },
          {
            "count": 120,
            "value": "2022-05-25T00:00:00.000"
          },
          {
            "count": 120,
            "value": "2024-05-16T00:00:00.000"
          },
          {
            "count": 120,
            "value": "2024-09-24T00:00:00.000"
          },
          {
            "count": 119,
            "value": "2014-06-17T00:00:00.000"
          },
          {
            "count": 118,
            "value": "2024-06-11T00:00:00.000"
          },
          {
            "count": 118,
            "value": "2024-06-27T00:00:00.000"
          },
          {
            "count": 117,
            "value": "2022-06-21T00:00:00.000"
          },
          {
            "count": 116,
            "value": "2022-05-26T00:00:00.000"
          },
          {
            "count": 116,
            "value": "2024-06-14T00:00:00.000"
          },
          {
            "count": 116,
            "value": "2014-08-13T00:00:00.000"
          },
          {
            "count": 115,
            "value": "2020-08-25T00:00:00.000"
          },
          {
            "count": 114,
            "value": "2022-08-23T00:00:00.000"
          },
          {
            "count": 113,
            "value": "2014-06-11T00:00:00.000"
          },
          {
            "count": 113,
            "value": "2024-08-21T00:00:00.000"
          },
          {
            "count": 113,
            "value": "2026-05-21T00:00:00.000"
          }
        ]
      },
      "datatype": "calendar_date",
      "description": "Report label",
      "field_name": "permit_date",
      "name": "REPORT_PERMIT_DATE",
      "position": 4,
      "render_type": "calendar_date"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248117,
        "null_count": 0,
        "top": [
          {
            "count": 17470,
            "value": "2024"
          },
          {
            "count": 16287,
            "value": "2025"
          },
          {
            "count": 15962,
            "value": "2014"
          },
          {
            "count": 15437,
            "value": "2015"
          },
          {
            "count": 15167,
            "value": "2021"
          },
          {
            "count": 14977,
            "value": "2022"
          },
          {
            "count": 14417,
            "value": "2017"
          },
          {
            "count": 14362,
            "value": "2016"
          },
          {
            "count": 14090,
            "value": "2023"
          },
          {
            "count": 13925,
            "value": "2018"
          },
          {
            "count": 13456,
            "value": "2019"
          },
          {
            "count": 13413,
            "value": "2013"
          },
          {
            "count": 13248,
            "value": "2026"
          },
          {
            "count": 13090,
            "value": "2020"
          },
          {
            "count": 12492,
            "value": "2012"
          },
          {
            "count": 10642,
            "value": "2011"
          },
          {
            "count": 10211,
            "value": "2010"
          },
          {
            "count": 9471,
            "value": "2009"
          }
        ]
      },
      "datatype": "number",
      "description": "Year when permit was issued.",
      "field_name": "year",
      "name": "YEAR",
      "position": 5,
      "render_type": "number"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248117,
        "null_count": 0,
        "top": [
          {
            "count": 24624,
            "value": "6"
          },
          {
            "count": 23805,
            "value": "5"
          },
          {
            "count": 23557,
            "value": "8"
          },
          {
            "count": 23442,
            "value": "7"
          },
          {
            "count": 23222,
            "value": "9"
          },
          {
            "count": 22894,
            "value": "10"
          },
          {
            "count": 20650,
            "value": "4"
          },
          {
            "count": 19356,
            "value": "3"
          },
          {
            "count": 18948,
            "value": "11"
          },
          {
            "count": 16877,
            "value": "1"
          },
          {
            "count": 16039,
            "value": "2"
          },
          {
            "count": 14703,
            "value": "12"
          }
        ]
      },
      "datatype": "number",
      "description": "Month number of when permit was issued",
      "field_name": "month_number",
      "name": "MONTH_NUMBER",
      "position": 6,
      "render_type": "number"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248117,
        "null_count": 0,
        "top": [
          {
            "count": 63365,
            "value": "Home Improvement"
          },
          {
            "count": 47119,
            "value": "Single, Semi-detached & Rowhousing"
          },
          {
            "count": 37706,
            "value": "Commercial Final"
          },
          {
            "count": 36702,
            "value": "Other Miscellaneous Building"
          },
          {
            "count": 33742,
            "value": "House Combination"
          },
          {
            "count": 14992,
            "value": "Accessory Building Combination"
          },
          {
            "count": 12473,
            "value": "Uncovered Deck Combination"
          },
          {
            "count": 987,
            "value": "Commercial Footing / Foundation"
          },
          {
            "count": 419,
            "value": "Commercial Demolition"
          },
          {
            "count": 411,
            "value": "Commercial Structural Framing"
          },
          {
            "count": 183,
            "value": "Mobile Home Move On"
          },
          {
            "count": 18,
            "value": "Commercial Excavation"
          }
        ]
      },
      "datatype": "text",
      "description": "Type of Building Permit",
      "field_name": "job_category",
      "name": "JOB_CATEGORY",
      "position": 7,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248075,
        "null_count": 42,
        "top": [
          {
            "count": 1691,
            "value": "To construct a Residential Use building in the form of a Single Detached House with a front attached Garage and unenclosed front porch."
          },
          {
            "count": 1574,
            "value": "To construct a Single Detached House with front attached Garage and Unenclosed Front Porch."
          },
          {
            "count": 1477,
            "value": "To demolish a Single Detached House."
          },
          {
            "count": 1404,
            "value": "To construct a single detached house with attached garage, veranda and fireplace."
          },
          {
            "count": 1305,
            "value": "To construct interior alterations to a Single Detached House (Basement development, NOT to be used as an additional Dwelling)."
          },
          {
            "count": 1252,
            "value": "** To construct an Accessory building (detached Garage, 6.1m x 6.1m)."
          },
          {
            "count": 1011,
            "value": "To construct a Residential Use building in the form of a Single Detached House with an unenclosed front porch."
          },
          {
            "count": 968,
            "value": "To demolish a Single Detached House and detached Garage."
          },
          {
            "count": 966,
            "value": "To construct a single detached house with attached garage, front veranda and fireplace."
          },
          {
            "count": 871,
            "value": "To demolish a Residential Use building (Single Detached House) and an Accessory building (detached Garage)."
          },
          {
            "count": 859,
            "value": "To construct a Single Detached House with Unenclosed Front Porch."
          },
          {
            "count": 816,
            "value": "To construct a Single Detached House with front attached Garage, Unenclosed Front Porch and fireplace."
          },
          {
            "count": 796,
            "value": "To construct a Single Detached House with front attached Garage and veranda."
          },
          {
            "count": 722,
            "value": "To construct a single detached house with attached garage and fireplace."
          },
          {
            "count": 713,
            "value": "To construct a Single Detached House with veranda."
          },
          {
            "count": 709,
            "value": "To construct a Single Detached House with a veranda."
          },
          {
            "count": 696,
            "value": "To demolish an Accessory building (detached Garage)."
          },
          {
            "count": 648,
            "value": "To demolish an existing Single Detached House."
          },
          {
            "count": 648,
            "value": "To construct a Single Detached House with attached Garage, veranda and fireplace."
          },
          {
            "count": 613,
            "value": "To construct a Single Detached House with front attached Garage, fireplace and veranda."
          }
        ]
      },
      "datatype": "text",
      "description": "Description of the building permit issued.",
      "field_name": "job_description",
      "name": "JOB_DESCRIPTION",
      "position": 8,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 245612,
        "null_count": 2505,
        "top": [
          {
            "count": 151411,
            "value": "Single Detached House (110)"
          },
          {
            "count": 21187,
            "value": "Detached Garage (010)"
          },
          {
            "count": 19950,
            "value": "Semi-Detached House (210)"
          },
          {
            "count": 7424,
            "value": "Row House (330)"
          },
          {
            "count": 6724,
            "value": "Office Buildings (520)"
          },
          {
            "count": 6614,
            "value": "Retail and Shops (510)"
          },
          {
            "count": 4900,
            "value": "Storage Buildings, Warehouses (460)"
          },
          {
            "count": 3153,
            "value": "Restaurants and Bars (540)"
          },
          {
            "count": 1952,
            "value": "Apartments (310)"
          },
          {
            "count": 1638,
            "value": "Malls, Office/Retail (512)"
          },
          {
            "count": 1523,
            "value": "Apartment Condos (315)"
          },
          {
            "count": 1342,
            "value": "Backyard House (110)"
          },
          {
            "count": 1314,
            "value": "Row House Condo (335)"
          },
          {
            "count": 1287,
            "value": "Temporary Structures (999)"
          },
          {
            "count": 1212,
            "value": "Detached Misc. Structure (090)"
          },
          {
            "count": 1157,
            "value": "Day Cares, Nursing Homes (650)"
          },
          {
            "count": 1104,
            "value": "Indoor Recreational Buildings (560)"
          },
          {
            "count": 1088,
            "value": "Elementary Schools (620)"
          },
          {
            "count": 748,
            "value": "Shed (040)"
          },
          {
            "count": 742,
            "value": "Service Stations, Repair Garages (572)"
          }
        ]
      },
      "datatype": "text",
      "description": "Type of Building Structure",
      "field_name": "building_type",
      "name": "BUILDING_TYPE",
      "position": 9,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 184564,
        "null_count": 63553,
        "top": [
          {
            "count": 54269,
            "value": "(01) New"
          },
          {
            "count": 47698,
            "value": "(01) Building - New"
          },
          {
            "count": 40827,
            "value": "(03) Interior Alterations"
          },
          {
            "count": 12746,
            "value": "(03) Deck Attached"
          },
          {
            "count": 9774,
            "value": "(99) Demolition"
          },
          {
            "count": 6496,
            "value": "(03) Exterior Alterations"
          },
          {
            "count": 4706,
            "value": "(02) Addition"
          },
          {
            "count": 3064,
            "value": "(07) Add Suites to Single Dwelling"
          },
          {
            "count": 1248,
            "value": "(14) Hot Tub"
          },
          {
            "count": 1074,
            "value": "(04) Foundation"
          },
          {
            "count": 602,
            "value": "(04) Footing & Foundation"
          },
          {
            "count": 565,
            "value": "(12) Move Building OnSite"
          },
          {
            "count": 411,
            "value": "(05) Structure"
          },
          {
            "count": 331,
            "value": "(10) Convert Residential to Non-Res"
          },
          {
            "count": 195,
            "value": "(08) Add Suites to Multi-Dwelling"
          },
          {
            "count": 147,
            "value": "(05) Structural Frame"
          },
          {
            "count": 106,
            "value": "(04) Excavation"
          },
          {
            "count": 67,
            "value": "(11) Remove Suites"
          },
          {
            "count": 54,
            "value": "(14) Swimming Pool"
          },
          {
            "count": 46,
            "value": "(09) Convert Non-Res to Residential"
          }
        ]
      },
      "datatype": "text",
      "description": "Type of work to be done.",
      "field_name": "work_type",
      "name": "WORK_TYPE",
      "position": 10,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 211615,
        "null_count": 36502,
        "top": [
          {
            "count": 9206,
            "value": "5000"
          },
          {
            "count": 6780,
            "value": "10000"
          },
          {
            "count": 4626,
            "value": "20000"
          },
          {
            "count": 4467,
            "value": "1000"
          },
          {
            "count": 4052,
            "value": "15000"
          },
          {
            "count": 3711,
            "value": "25000"
          },
          {
            "count": 3467,
            "value": "4600"
          },
          {
            "count": 3351,
            "value": "2000"
          },
          {
            "count": 2938,
            "value": "30000"
          },
          {
            "count": 2690,
            "value": "3000"
          },
          {
            "count": 2499,
            "value": "40000"
          },
          {
            "count": 2434,
            "value": "50000"
          },
          {
            "count": 2121,
            "value": "4000"
          },
          {
            "count": 2049,
            "value": "0"
          },
          {
            "count": 1826,
            "value": "2500"
          },
          {
            "count": 1739,
            "value": "8000"
          },
          {
            "count": 1694,
            "value": "5060"
          },
          {
            "count": 1558,
            "value": "35000"
          },
          {
            "count": 1445,
            "value": "1500"
          },
          {
            "count": 1432,
            "value": "100000"
          }
        ]
      },
      "datatype": "number",
      "description": "Estimated value of construction  work ",
      "field_name": "construction_value",
      "name": "CONSTRUCTION_VALUE",
      "position": 11,
      "render_type": "number"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 146264,
        "null_count": 101853,
        "top": [
          {
            "count": 4158,
            "value": "0"
          },
          {
            "count": 2241,
            "value": "1000"
          },
          {
            "count": 1331,
            "value": "500"
          },
          {
            "count": 1324,
            "value": "800"
          },
          {
            "count": 1135,
            "value": "400"
          },
          {
            "count": 1054,
            "value": "600"
          },
          {
            "count": 1015,
            "value": "900"
          },
          {
            "count": 901,
            "value": "1200"
          },
          {
            "count": 879,
            "value": "700"
          },
          {
            "count": 573,
            "value": "2000"
          },
          {
            "count": 561,
            "value": "1100"
          },
          {
            "count": 523,
            "value": "1500"
          },
          {
            "count": 502,
            "value": "100"
          },
          {
            "count": 493,
            "value": "200"
          },
          {
            "count": 465,
            "value": "1600"
          },
          {
            "count": 435,
            "value": "300"
          },
          {
            "count": 433,
            "value": "750"
          },
          {
            "count": 381,
            "value": "1707"
          },
          {
            "count": 371,
            "value": "650"
          },
          {
            "count": 344,
            "value": "123"
          }
        ]
      },
      "datatype": "number",
      "description": "Square footage of floor area",
      "field_name": "floor_area",
      "name": "FLOOR_AREA",
      "position": 12,
      "render_type": "number"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 184752,
        "null_count": 63365,
        "top": [
          {
            "count": 94826,
            "value": "0"
          },
          {
            "count": 64681,
            "value": "1"
          },
          {
            "count": 13363,
            "value": "2"
          },
          {
            "count": 4338,
            "value": "-1"
          },
          {
            "count": 2793,
            "value": "4"
          },
          {
            "count": 1086,
            "value": "3"
          },
          {
            "count": 1047,
            "value": "8"
          },
          {
            "count": 639,
            "value": "6"
          },
          {
            "count": 368,
            "value": "5"
          },
          {
            "count": 296,
            "value": "7"
          },
          {
            "count": 165,
            "value": "9"
          },
          {
            "count": 121,
            "value": "10"
          },
          {
            "count": 88,
            "value": "12"
          },
          {
            "count": 52,
            "value": "-2"
          },
          {
            "count": 27,
            "value": "16"
          },
          {
            "count": 25,
            "value": "14"
          },
          {
            "count": 22,
            "value": "71"
          },
          {
            "count": 21,
            "value": "18"
          },
          {
            "count": 17,
            "value": "15"
          },
          {
            "count": 17,
            "value": "63"
          }
        ]
      },
      "datatype": "number",
      "description": "Change in dwelling unit",
      "field_name": "units_added",
      "name": "UNITS_ADDED",
      "position": 13,
      "render_type": "number"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248049,
        "null_count": 68,
        "top": [
          {
            "count": 350,
            "value": "8882 - 170 STREET NW"
          },
          {
            "count": 110,
            "value": "5015 - 111 STREET NW"
          },
          {
            "count": 110,
            "value": "1 - KINGSWAY GARDEN MALL NW"
          },
          {
            "count": 87,
            "value": "8440 - 112 STREET NW"
          },
          {
            "count": 86,
            "value": "10180 - 101 STREET NW"
          },
          {
            "count": 73,
            "value": "1 - LONDONDERRY MALL NW"
          },
          {
            "count": 65,
            "value": "1 - SIR WINSTON CHURCHILL SQUARE NW"
          },
          {
            "count": 62,
            "value": "10700 - 104 AVENUE NW"
          },
          {
            "count": 56,
            "value": "10025 - 102A AVENUE NW"
          },
          {
            "count": 55,
            "value": "11762 - 106 STREET NW"
          },
          {
            "count": 54,
            "value": "10060 - JASPER AVENUE NW"
          },
          {
            "count": 50,
            "value": "7000 - 143 STREET NW"
          },
          {
            "count": 49,
            "value": "3000, 8882 - 170 STREET NW"
          },
          {
            "count": 49,
            "value": "10104 - 103 AVENUE NW"
          },
          {
            "count": 49,
            "value": "10303 - JASPER AVENUE NW"
          },
          {
            "count": 47,
            "value": "9330 - GROAT ROAD NW"
          },
          {
            "count": 46,
            "value": "1 - EDMONTON CITY CENTRE NW"
          },
          {
            "count": 44,
            "value": "11000 - STADIUM ROAD NW"
          },
          {
            "count": 43,
            "value": "10123 - 99 STREET NW"
          },
          {
            "count": 43,
            "value": "10035 - 105 STREET NW"
          }
        ]
      },
      "datatype": "text",
      "description": "Address that the Building Permit was issued for",
      "field_name": "address",
      "name": "ADDRESS",
      "position": 14,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 247876,
        "null_count": 241,
        "top": [
          {
            "count": 842,
            "value": "Plan 8421891 Blk 28 Lot 5"
          },
          {
            "count": 292,
            "value": "Plan 0725320 Blk D Lot 4A"
          },
          {
            "count": 288,
            "value": "Plan 1620578 Blk 7 Lot 277"
          },
          {
            "count": 241,
            "value": "Plan 1194TR Lot A"
          },
          {
            "count": 173,
            "value": "Plan 8121364 Blk 1 Lot A"
          },
          {
            "count": 163,
            "value": "Plan 5119RS Blk 1 Lots 50,53"
          },
          {
            "count": 158,
            "value": "Plan 0725377 Blk 2 Lot 30"
          },
          {
            "count": 138,
            "value": "Plan 8021480 Blk 1 Lot B"
          },
          {
            "count": 137,
            "value": "Plan 0627961 Blk 1 Lot 7"
          },
          {
            "count": 124,
            "value": "Plan 2121375 Blk 20 Lot 102"
          },
          {
            "count": 108,
            "value": "SE-23-52-24-4"
          },
          {
            "count": 107,
            "value": "Plan 0822223 Blk 14 Lot 2"
          },
          {
            "count": 98,
            "value": "Plan 0022000 Blk 6 Lot 3"
          },
          {
            "count": 93,
            "value": "Plan 9826528 Lot 6"
          },
          {
            "count": 84,
            "value": "Plan 7621821 Lot 1"
          },
          {
            "count": 83,
            "value": "Plan 384TR Lot 12A"
          },
          {
            "count": 83,
            "value": "Plan NB Blk 3 Lots 76-79"
          },
          {
            "count": 83,
            "value": "Plan 8221723 Lot C"
          },
          {
            "count": 80,
            "value": "Plan 0022666 Blk 1 Lot F"
          },
          {
            "count": 80,
            "value": "Plan 2020006 Unit 513"
          }
        ]
      },
      "datatype": "text",
      "description": "Legal description for address where building permit was issued for.",
      "field_name": "legal_description",
      "name": "LEGAL_DESCRIPTION",
      "position": 15,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 233901,
        "null_count": 14216,
        "top": [
          {
            "count": 59582,
            "value": "RSF"
          },
          {
            "count": 39468,
            "value": "RS"
          },
          {
            "count": 21446,
            "value": "RSL"
          },
          {
            "count": 16863,
            "value": "RF1"
          },
          {
            "count": 12666,
            "value": "RPL"
          },
          {
            "count": 8659,
            "value": "RF3"
          },
          {
            "count": 6783,
            "value": "DC1"
          },
          {
            "count": 4899,
            "value": "DC2"
          },
          {
            "count": 4596,
            "value": "RMD"
          },
          {
            "count": 3819,
            "value": "RSM"
          },
          {
            "count": 3804,
            "value": "BE"
          },
          {
            "count": 3716,
            "value": "RM"
          },
          {
            "count": 3401,
            "value": "RF4"
          },
          {
            "count": 3096,
            "value": "MU"
          },
          {
            "count": 2785,
            "value": "CG"
          },
          {
            "count": 2645,
            "value": "IM"
          },
          {
            "count": 1937,
            "value": "CCA"
          },
          {
            "count": 1588,
            "value": "RSF, RSF"
          },
          {
            "count": 1531,
            "value": "PS"
          },
          {
            "count": 1458,
            "value": "RF5"
          }
        ]
      },
      "datatype": "text",
      "description": "Land use zone",
      "field_name": "zoning",
      "name": "ZONING",
      "position": 16,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248068,
        "null_count": 49,
        "top": [
          {
            "count": 6307,
            "value": "6213"
          },
          {
            "count": 5721,
            "value": "6444"
          },
          {
            "count": 5459,
            "value": "6216"
          },
          {
            "count": 5399,
            "value": "6662"
          },
          {
            "count": 5388,
            "value": "4487"
          },
          {
            "count": 5317,
            "value": "2522"
          },
          {
            "count": 5292,
            "value": "5570"
          },
          {
            "count": 5006,
            "value": "5574"
          },
          {
            "count": 4714,
            "value": "4462"
          },
          {
            "count": 4712,
            "value": "5471"
          },
          {
            "count": 4299,
            "value": "1090"
          },
          {
            "count": 3771,
            "value": "4750"
          },
          {
            "count": 3212,
            "value": "6661"
          },
          {
            "count": 3131,
            "value": "4461"
          },
          {
            "count": 3104,
            "value": "5458"
          },
          {
            "count": 2905,
            "value": "3111"
          },
          {
            "count": 2863,
            "value": "5462"
          },
          {
            "count": 2849,
            "value": "5505"
          },
          {
            "count": 2536,
            "value": "5579"
          },
          {
            "count": 2455,
            "value": "3440"
          }
        ]
      },
      "datatype": "text",
      "description": "",
      "field_name": "neighbourhood_numberr",
      "name": "NEIGHBOURHOOD_NUMBER",
      "position": 17,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248068,
        "null_count": 49,
        "top": [
          {
            "count": 6307,
            "value": "SUMMERSIDE"
          },
          {
            "count": 5721,
            "value": "LAUREL"
          },
          {
            "count": 5459,
            "value": "THE ORCHARDS AT ELLERSLIE"
          },
          {
            "count": 5399,
            "value": "WALKER"
          },
          {
            "count": 5388,
            "value": "SECORD"
          },
          {
            "count": 5317,
            "value": "MCCONACHIE"
          },
          {
            "count": 5292,
            "value": "WINDERMERE"
          },
          {
            "count": 5006,
            "value": "KESWICK"
          },
          {
            "count": 4714,
            "value": "EDGEMONT"
          },
          {
            "count": 4712,
            "value": "CHAPPELLE"
          },
          {
            "count": 4299,
            "value": "DOWNTOWN"
          },
          {
            "count": 3771,
            "value": "ROSENTHAL"
          },
          {
            "count": 3212,
            "value": "CHARLESWORTH"
          },
          {
            "count": 3131,
            "value": "THE HAMPTONS"
          },
          {
            "count": 3104,
            "value": "ALLARD"
          },
          {
            "count": 2905,
            "value": "GRIESBACH"
          },
          {
            "count": 2863,
            "value": "CHAPPELLE AREA"
          },
          {
            "count": 2849,
            "value": "AMBLESIDE"
          },
          {
            "count": 2536,
            "value": "GLENRIDDING RAVINE"
          },
          {
            "count": 2455,
            "value": "WESTMOUNT"
          }
        ]
      },
      "datatype": "text",
      "description": "City Neighbourhood name.",
      "field_name": "neighbourhood",
      "name": "NEIGHBOURHOOD",
      "position": 18,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 10353,
        "null_count": 237764,
        "top": [
          {
            "count": 4328,
            "value": "Downtown"
          },
          {
            "count": 1175,
            "value": "Kingsway"
          },
          {
            "count": 891,
            "value": "Old Strathcona"
          },
          {
            "count": 703,
            "value": "124 Street and Area"
          },
          {
            "count": 701,
            "value": "Stony Plain Road and Area"
          },
          {
            "count": 551,
            "value": "Northwest Industrial"
          },
          {
            "count": 499,
            "value": "North Edge"
          },
          {
            "count": 363,
            "value": "Alberta Avenue"
          },
          {
            "count": 302,
            "value": "Chinatown and Area"
          },
          {
            "count": 267,
            "value": "The Crossroads"
          },
          {
            "count": 223,
            "value": "French Quarter"
          },
          {
            "count": 195,
            "value": "Fort Road and Area"
          },
          {
            "count": 155,
            "value": "Beverly"
          }
        ]
      },
      "datatype": "text",
      "description": "\t If the permit location falls within a Business Improvement Area (BIA), the name of that BIA.",
      "field_name": "bia",
      "name": "BIA",
      "position": 19,
      "render_type": "text"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 248117,
        "null_count": 0,
        "top": [
          {
            "count": 248117,
            "value": "1"
          }
        ]
      },
      "datatype": "number",
      "description": "Used for reporting",
      "field_name": "count",
      "name": "COUNT",
      "position": 20,
      "render_type": "number"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 230869,
        "null_count": 17248,
        "top": [
          {
            "count": 346,
            "value": "53.522713555201165"
          },
          {
            "count": 205,
            "value": "53.485787612637964"
          },
          {
            "count": 183,
            "value": "53.52226979531949"
          },
          {
            "count": 175,
            "value": "53.543758324789714"
          },
          {
            "count": 172,
            "value": "53.54263852405392"
          },
          {
            "count": 170,
            "value": "53.52227000956676"
          },
          {
            "count": 149,
            "value": "53.602268122097875"
          },
          {
            "count": 138,
            "value": "53.50418103230763"
          },
          {
            "count": 126,
            "value": "53.522866753314126"
          },
          {
            "count": 118,
            "value": "53.54504603629585"
          },
          {
            "count": 110,
            "value": "53.55217004486817"
          },
          {
            "count": 92,
            "value": "53.43594013351339"
          },
          {
            "count": 88,
            "value": "53.56230253165657"
          },
          {
            "count": 82,
            "value": "53.52227001362517"
          },
          {
            "count": 75,
            "value": "53.51860391214073"
          },
          {
            "count": 75,
            "value": "53.540585287095865"
          },
          {
            "count": 67,
            "value": "53.5207215065611"
          },
          {
            "count": 64,
            "value": "53.4727497892944"
          },
          {
            "count": 63,
            "value": "53.563100820376775"
          },
          {
            "count": 62,
            "value": "53.53993637343808"
          }
        ]
      },
      "datatype": "number",
      "description": "Horizontal spatial coordinate",
      "field_name": "latitude",
      "name": "LATITUDE",
      "position": 21,
      "render_type": "number"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 230869,
        "null_count": 17248,
        "top": [
          {
            "count": 346,
            "value": "-113.62494764625916"
          },
          {
            "count": 205,
            "value": "-113.51341203824146"
          },
          {
            "count": 183,
            "value": "-113.61830344542938"
          },
          {
            "count": 175,
            "value": "-113.49276732482107"
          },
          {
            "count": 172,
            "value": "-113.49459965019408"
          },
          {
            "count": 170,
            "value": "-113.61830345538627"
          },
          {
            "count": 149,
            "value": "-113.44571961188608"
          },
          {
            "count": 138,
            "value": "-113.36465764104916"
          },
          {
            "count": 126,
            "value": "-113.62815248712937"
          },
          {
            "count": 118,
            "value": "-113.49463369480935"
          },
          {
            "count": 110,
            "value": "-113.69726270715786"
          },
          {
            "count": 92,
            "value": "-113.60331718390782"
          },
          {
            "count": 88,
            "value": "-113.50555408239828"
          },
          {
            "count": 82,
            "value": "-113.61830345114092"
          },
          {
            "count": 75,
            "value": "-113.52021095968786"
          },
          {
            "count": 75,
            "value": "-113.49807991870354"
          },
          {
            "count": 67,
            "value": "-113.52321908985577"
          },
          {
            "count": 64,
            "value": "-113.4939755161471"
          },
          {
            "count": 63,
            "value": "-113.50563547105773"
          },
          {
            "count": 62,
            "value": "-113.49125577673311"
          }
        ]
      },
      "datatype": "number",
      "description": "Vertical spatial coordinate",
      "field_name": "longitude",
      "name": "LONGITUDE",
      "position": 22,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "location",
      "description": "Spatial coordinates for address",
      "field_name": "location",
      "name": "LOCATION",
      "position": 23,
      "render_type": "location"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 230869,
        "null_count": 17248,
        "top": [
          {
            "count": 346,
            "value": {
              "coordinates": [
                -113.62494764625916,
                53.522713555201165
              ],
              "type": "Point"
            }
          },
          {
            "count": 205,
            "value": {
              "coordinates": [
                -113.51341203824146,
                53.48578761263797
              ],
              "type": "Point"
            }
          },
          {
            "count": 183,
            "value": {
              "coordinates": [
                -113.61830344542938,
                53.52226979531949
              ],
              "type": "Point"
            }
          },
          {
            "count": 175,
            "value": {
              "coordinates": [
                -113.49276732482107,
                53.543758324789714
              ],
              "type": "Point"
            }
          },
          {
            "count": 172,
            "value": {
              "coordinates": [
                -113.49459965019408,
                53.54263852405392
              ],
              "type": "Point"
            }
          },
          {
            "count": 170,
            "value": {
              "coordinates": [
                -113.61830345538628,
                53.52227000956676
              ],
              "type": "Point"
            }
          },
          {
            "count": 149,
            "value": {
              "coordinates": [
                -113.44571961188608,
                53.602268122097875
              ],
              "type": "Point"
            }
          },
          {
            "count": 138,
            "value": {
              "coordinates": [
                -113.36465764104916,
                53.50418103230763
              ],
              "type": "Point"
            }
          },
          {
            "count": 126,
            "value": {
              "coordinates": [
                -113.62815248712936,
                53.522866753314126
              ],
              "type": "Point"
            }
          },
          {
            "count": 118,
            "value": {
              "coordinates": [
                -113.49463369480937,
                53.54504603629585
              ],
              "type": "Point"
            }
          },
          {
            "count": 110,
            "value": {
              "coordinates": [
                -113.69726270715786,
                53.55217004486817
              ],
              "type": "Point"
            }
          },
          {
            "count": 92,
            "value": {
              "coordinates": [
                -113.60331718390782,
                53.43594013351339
              ],
              "type": "Point"
            }
          },
          {
            "count": 88,
            "value": {
              "coordinates": [
                -113.50555408239828,
                53.56230253165657
              ],
              "type": "Point"
            }
          },
          {
            "count": 82,
            "value": {
              "coordinates": [
                -113.61830345114092,
                53.52227001362517
              ],
              "type": "Point"
            }
          },
          {
            "count": 75,
            "value": {
              "coordinates": [
                -113.52021095968786,
                53.51860391214073
              ],
              "type": "Point"
            }
          },
          {
            "count": 75,
            "value": {
              "coordinates": [
                -113.49807991870354,
                53.540585287095865
              ],
              "type": "Point"
            }
          },
          {
            "count": 67,
            "value": {
              "coordinates": [
                -113.52321908985576,
                53.5207215065611
              ],
              "type": "Point"
            }
          },
          {
            "count": 64,
            "value": {
              "coordinates": [
                -113.4939755161471,
                53.4727497892944
              ],
              "type": "Point"
            }
          },
          {
            "count": 63,
            "value": {
              "coordinates": [
                -113.50563547105772,
                53.563100820376775
              ],
              "type": "Point"
            }
          },
          {
            "count": 62,
            "value": {
              "coordinates": [
                -113.49125577673313,
                53.53993637343808
              ],
              "type": "Point"
            }
          }
        ]
      },
      "datatype": "point",
      "description": "",
      "field_name": "geometry_point",
      "name": "Geometry Point",
      "position": 24,
      "render_type": "point"
    },
    {
      "cached": {
        "cardinality": 248117,
        "count": 248117,
        "non_null_count": 25811,
        "null_count": 222306,
        "top": [
          {
            "count": 62,
            "value": "2023-01-16"
          },
          {
            "count": 50,
            "value": "2025-11-05"
          },
          {
            "count": 48,
            "value": "2024-08-22"
          },
          {
            "count": 47,
            "value": "2025-10-16"
          },
          {
            "count": 47,
            "value": "2025-11-27"
          },
          {
            "count": 45,
            "value": "2025-11-25"
          },
          {
            "count": 44,
            "value": "2026-04-09"
          },
          {
            "count": 44,
            "value": "2025-12-18"
          },
          {
            "count": 44,
            "value": "2022-04-27"
          },
          {
            "count": 44,
            "value": "2025-10-23"
          },
          {
            "count": 44,
            "value": "2025-11-19"
          },
          {
            "count": 43,
            "value": "2024-09-26"
          },
          {
            "count": 43,
            "value": "2025-11-13"
          },
          {
            "count": 43,
            "value": "2025-10-29"
          },
          {
            "count": 43,
            "value": "2022-10-07"
          },
          {
            "count": 42,
            "value": "2025-10-24"
          },
          {
            "count": 42,
            "value": "2025-03-20"
          },
          {
            "count": 42,
            "value": "2025-12-12"
          },
          {
            "count": 41,
            "value": "2024-12-03"
          },
          {
            "count": 41,
            "value": "2024-09-25"
          }
        ]
      },
      "datatype": "text",
      "description": "",
      "field_name": "occupancy_granted_date",
      "name": "Occupancy Date",
      "position": 25,
      "render_type": "text"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_7ccj_gre3",
      "name": "Neighbourhood Boundaries : 2019",
      "position": 27,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_ecxu_fw7u",
      "name": "Roadway Maintenance Area Polygon",
      "position": 28,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_izdr_ja4x",
      "name": "Edmonton Public School Board (EPSB) Ward Boundaries (effective at 12:00 AM on Oct 16, 2017)",
      "position": 29,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_5jki_au6x",
      "name": "Edmonton Catholic School District Ward Boundaries (effective at 12:00 AM on Oct 16, 2017)",
      "position": 30,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_mnf4_kaez",
      "name": "City of Edmonton - Ward Boundaries (effective at 12:00 AM on Oct 16, 2017)",
      "position": 31,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_eq8d_jmrp",
      "name": "City of Edmonton : Neighbourhood Boundaries",
      "position": 32,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_da6r_6gkw",
      "name": "Wards",
      "position": 33,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_3z8d_fhyb",
      "name": "Zip Codes",
      "position": 34,
      "render_type": "number"
    },
    {
      "cached": null,
      "datatype": "number",
      "description": null,
      "field_name": ":@computed_region_bhid_jnzh",
      "name": "City of Edmonton - Neighbourhood Boundaries",
      "position": 35,
      "render_type": "number"
    }
  ],
  "created_at": "2014-06-30T20:10:32Z",
  "custom_fields": {
    "General Information": {
      "Primary Dataset or View": "Primary",
      "Purpose": "To provide a list of issued building permits"
    },
    "Quality Indicators": {
      "Duplicates Removed": "Yes",
      "Verified for Accuracy": "Yes"
    },
    "Spatial": {
      "Coordinate System": "LL-WGS84",
      "Datum": "NAD 83"
    },
    "Time Frame": {
      "Automated or Manual": "Automated",
      "Period of Coverage": "January 1, 2009 to present",
      "Update Frequency": "Daily"
    }
  },
  "description": "List of issued building permits from the City of Edmonton - Urban Planning & Economy Department for the public to do construction or maintenance on a structure located in the City. Note - All records start from January 1, 2009.\nPlease note : the decision was made to not release applicant information on this dataset as it was seen as a potential privacy issue. For instance, if a high profile member of the public were to apply for a permit, their name (and consequently address) would show up on this table and become easily searchable by the public.  We viewed this as a potential issue and decided to publish the dataset without applicant information.\n\nAlso Note: The General Building Permits dataset now includes an \"Occupancy Date\" to indicate when a building has met the requirements for use or habitation. \n- Residential: Permits finalized on or after January 1, 2022.\n- Non-Residential: Permits completed on or after January 1, 2024, only if an occupancy record exists.\n- Historical Data: Records before these dates are blank for accuracy, or if no permit was required.\n- Usage: For trend analysis only; not a legal confirmation of occupancy for property transactions.",
  "display_type": "table",
  "download_count": 63465,
  "id": "24uj-dj8v",
  "license": {
    "id": "SEE_TERMS_OF_USE",
    "name": "See Terms of Use",
    "terms_link": null
  },
  "metadata_url": "https://data.edmonton.ca/api/views/24uj-dj8v.json",
  "name": "General Building Permits",
  "observed_at_ms": 1792968771496,
  "provenance": "official",
  "publication_date": "2026-05-19T15:03:51Z",
  "publishing_department": null,
  "publishing_frequency": null,
  "rows_updated_at": "2026-10-25T10:41:12Z",
  "source_url": "https://data.edmonton.ca/d/24uj-dj8v",
  "tags": [
    "building permits",
    "odd2022yeg",
    "fcm2026"
  ],
  "view_count": 205633,
  "view_last_modified": "2026-10-25T10:39:27Z"
}
```

### Datasets

- Capability: `open-data/datasets`
- Description: Search the Edmonton catalog through the Socrata Discovery API (search_context and domains=data.edmonton.ca): free-text query, asset type, category, tags and sort order, or look up one asset by its 4x4 id. Each result carries the 4x4 dataset id, name, type (dataset, map, filter, href, chart, story ...), description, category, tags, timestamps, column field names and datatypes, download and view counts, the landing link, permalink and, for tabular datasets, the SODA api_url to pass to `rows`. Paged by `limit` and an opaque `cursor`. An unknown `dataset_id` is not_found; a query with no match is a successful empty result.
- Instructions: Start here when the 4x4 dataset id is unknown: find the dataset, then call `dataset` for its columns and `rows` for its data. Only results with type `dataset` (and a non-null api_url) have rows.
- Cost: 5 credits per call
- Capability file: [Datasets](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/datasets)

Accepted options:
- `category` (string): Exact portal category as returned by `facets` (for example `Housing and Buildings`). Example: `<category>`
- `cursor` (string): Opaque `next_cursor` from the previous page; send it with the same search parameters. Example: `next_cursor`
- `dataset_id` (string): Look up one asset by 4x4 id (for example `24uj-dj8v`) or by a data.edmonton.ca URL containing it. Unknown ids are not_found. Example: `24uj-dj8v`
- `limit` (number): Results per page (1-100). Example: `20`
- `only` (string): Restrict to one asset type. `datasets` are the tabular assets that `rows` can query. Example: `datasets`
- `order` (string): Sort order. `relevance` (default) needs a `query`; the others are descending except `name`. Example: `relevance`
- `query` (string): Free-text search over names, descriptions, tags and columns, for example `permits` or `building permits`. Example: `<query>`
- `tags` (string[]): Portal tags as returned by `facets`; an asset must carry all of them. Example: `[]`

Response schema example:
```json
{
  "count": 1,
  "datasets": [
    {
      "api_url": "https://data.edmonton.ca/resource/24uj-dj8v.json",
      "attribution": "City of Edmonton",
      "attribution_link": null,
      "category": "Urban Planning & Economy",
      "columns": [
        {
          "datatype": "Text",
          "field_name": "address",
          "name": "ADDRESS"
        },
        {
          "datatype": "Text",
          "field_name": "work_type",
          "name": "WORK_TYPE"
        },
        {
          "datatype": "Number",
          "field_name": "latitude",
          "name": "LATITUDE"
        },
        {
          "datatype": "Point",
          "field_name": "location",
          "name": "LOCATION"
        },
        {
          "datatype": "Text",
          "field_name": "occupancy_granted_date",
          "name": "Occupancy Date"
        },
        {
          "datatype": "Number",
          "field_name": "year",
          "name": "YEAR"
        },
        {
          "datatype": "Text",
          "field_name": "location_address",
          "name": "LOCATION (address)"
        },
        {
          "datatype": "Point",
          "field_name": "geometry_point",
          "name": "Geometry Point"
        },
        {
          "datatype": "Text",
          "field_name": "neighbourhood_numberr",
          "name": "NEIGHBOURHOOD_NUMBER"
        },
        {
          "datatype": "Text",
          "field_name": "location_zip",
          "name": "LOCATION (zip)"
        },
        {
          "datatype": "Number",
          "field_name": "count",
          "name": "COUNT"
        },
        {
          "datatype": "Text",
          "field_name": "permit_number",
          "name": "PERMIT_NUMBER"
        },
        {
          "datatype": "Text",
          "field_name": "location_state",
          "name": "LOCATION (state)"
        },
        {
          "datatype": "Text",
          "field_name": "location_city",
          "name": "LOCATION (city)"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_bhid_jnzh",
          "name": "City of Edmonton - Neighbourhood Boundaries"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_3z8d_fhyb",
          "name": "Zip Codes"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_da6r_6gkw",
          "name": "Wards"
        },
        {
          "datatype": "Text",
          "field_name": "job_category",
          "name": "JOB_CATEGORY"
        },
        {
          "datatype": "Number",
          "field_name": "floor_area",
          "name": "FLOOR_AREA"
        },
        {
          "datatype": "Number",
          "field_name": "units_added",
          "name": "UNITS_ADDED"
        },
        {
          "datatype": "Text",
          "field_name": "legal_description",
          "name": "LEGAL_DESCRIPTION"
        },
        {
          "datatype": "Number",
          "field_name": "longitude",
          "name": "LONGITUDE"
        },
        {
          "datatype": "Text",
          "field_name": "row_id",
          "name": "Row ID"
        },
        {
          "datatype": "Text",
          "field_name": "job_description",
          "name": "JOB_DESCRIPTION"
        },
        {
          "datatype": "Text",
          "field_name": "zoning",
          "name": "ZONING"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_eq8d_jmrp",
          "name": "City of Edmonton : Neighbourhood Boundaries"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_7ccj_gre3",
          "name": "Neighbourhood Boundaries : 2019"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_ecxu_fw7u",
          "name": "Roadway Maintenance Area Polygon"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_izdr_ja4x",
          "name": "Edmonton Public School Board (EPSB) Ward Boundaries (effective at 12:00 AM on Oct 16, 2017)"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_5jki_au6x",
          "name": "Edmonton Catholic School District Ward Boundaries (effective at 12:00 AM on Oct 16, 2017)"
        },
        {
          "datatype": "Number",
          "field_name": ":@computed_region_mnf4_kaez",
          "name": "City of Edmonton - Ward Boundaries (effective at 12:00 AM on Oct 16, 2017)"
        },
        {
          "datatype": "Calendar date",
          "field_name": "permit_date",
          "name": "REPORT_PERMIT_DATE"
        },
        {
          "datatype": "Text",
          "field_name": "bia",
          "name": "BIA"
        },
        {
          "datatype": "Calendar date",
          "field_name": "issue_date",
          "name": "PERMIT_DATE"
        },
        {
          "datatype": "Text",
          "field_name": "neighbourhood",
          "name": "NEIGHBOURHOOD"
        },
        {
          "datatype": "Number",
          "field_name": "construction_value",
          "name": "CONSTRUCTION_VALUE"
        },
        {
          "datatype": "Text",
          "field_name": "building_type",
          "name": "BUILDING_TYPE"
        },
        {
          "datatype": "Number",
          "field_name": "month_number",
          "name": "MONTH_NUMBER"
        }
      ],
      "created_at": "2014-06-30T20:10:32.000Z",
      "data_updated_at": "2026-10-25T10:41:12.000Z",
      "description": "List of issued building permits from the City of Edmonton - Urban Planning & Economy Department for the public to do construction or maintenance on a structure located in the City. Note - All records start from January 1, 2009.\nPlease note : the decision was made to not release applicant information on this dataset as it was seen as a potential privacy issue. For instance, if a high profile member of the public were to apply for a permit, their name (and consequently address) would show up on this table and become easily searchable by the public.  We viewed this as a potential issue and decided to publish the dataset without applicant information.\n\nAlso Note: The General Building Permits dataset now includes an \"Occupancy Date\" to indicate when a building has met the requirements for use or habitation. \n- Residential: Permits finalized on or after January 1, 2022.\n- Non-Residential: Permits completed on or after January 1, 2024, only if an occupancy record exists.\n- Historical Data: Records before these dates are blank for accuracy, or if no permit was required.\n- Usage: For trend analysis only; not a legal confirmation of occupancy for property transactions.",
      "domain": "data.edmonton.ca",
      "download_count": 63465,
      "id": "24uj-dj8v",
      "license": "See Terms of Use",
      "link": "https://data.edmonton.ca/Urban-Planning-Economy/General-Building-Permits/24uj-dj8v",
      "metadata_updated_at": "2026-10-25T10:39:27.000Z",
      "name": "General Building Permits",
      "page_views_total": 205633,
      "parent_ids": [],
      "permalink": "https://data.edmonton.ca/d/24uj-dj8v",
      "provenance": "official",
      "tags": [
        "fcm2026",
        "odd2022yeg",
        "building permits"
      ],
      "type": "dataset",
      "updated_at": "2026-10-25T10:41:12.000Z"
    }
  ],
  "next_cursor": null,
  "observed_at_ms": 1792968771951,
  "portal": "data.edmonton.ca",
  "query": null,
  "source_url": "https://api.us.socrata.com/api/catalog/v1?search_context=data.edmonton.ca&domains=data.edmonton.ca&ids=24uj-dj8v&limit=20&offset=0",
  "total_count": 1
}
```

### Facets

- Capability: `open-data/facets`
- Description: The Edmonton portal's category or tag facets with asset counts, from the Discovery API domain_categories / domain_tags endpoints scoped to data.edmonton.ca. Use the values as `category` / `tags` inputs to `datasets`.
- Instructions: Discover how the portal organises its assets before searching by category or tag.
- Cost: 5 credits per call
- Capability file: [Facets](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/facets)

Accepted options:
- `facet` (string, required): facet Example: `categories`

Response schema example:
```json
{
  "count": 39,
  "facet": "categories",
  "observed_at_ms": 1792968772366,
  "portal": "data.edmonton.ca",
  "source_url": "https://api.us.socrata.com/api/catalog/v1/domain_categories?search_context=data.edmonton.ca&domains=data.edmonton.ca",
  "values": [
    {
      "count": 463,
      "value": "Surveys"
    },
    {
      "count": 341,
      "value": "Vehicle Speed"
    },
    {
      "count": 212,
      "value": "Census"
    },
    {
      "count": 132,
      "value": "City Administration"
    },
    {
      "count": 107,
      "value": "Externally Sourced Datasets"
    },
    {
      "count": 79,
      "value": "Community Services"
    },
    {
      "count": 78,
      "value": "Environmental Services"
    },
    {
      "count": 72,
      "value": "Transportation"
    },
    {
      "count": 68,
      "value": "Elected Officials"
    },
    {
      "count": 47,
      "value": "Facilities and Structures"
    },
    {
      "count": 41,
      "value": "Urban Planning & Economy"
    },
    {
      "count": 35,
      "value": "Transit"
    },
    {
      "count": 33,
      "value": "Geospatial Boundaries"
    },
    {
      "count": 25,
      "value": "Outdoor Recreation"
    },
    {
      "count": 24,
      "value": "Pesticide"
    },
    {
      "count": 21,
      "value": "Administrative"
    },
    {
      "count": 20,
      "value": "Thematic Features"
    },
    {
      "count": 15,
      "value": "Monitoring and Data Collection"
    },
    {
      "count": 15,
      "value": "Transportation Infrastructure"
    },
    {
      "count": 12,
      "value": "Community Centres"
    },
    {
      "count": 12,
      "value": "Indicators"
    },
    {
      "count": 11,
      "value": "Financial"
    },
    {
      "count": 9,
      "value": "Indoor Recreation"
    },
    {
      "count": 8,
      "value": "Schools"
    },
    {
      "count": 6,
      "value": "Emergency Services"
    },
    {
      "count": 4,
      "value": "Elevation Model"
    },
    {
      "count": 4,
      "value": "Events"
    },
    {
      "count": 3,
      "value": "Community Development"
    },
    {
      "count": 3,
      "value": "Data Sharing"
    },
    {
      "count": 3,
      "value": "Purchasing"
    },
    {
      "count": 2,
      "value": "City Services"
    },
    {
      "count": 2,
      "value": "Environmental Protection"
    },
    {
      "count": 2,
      "value": "Historic Resource"
    },
    {
      "count": 2,
      "value": "Social Impact"
    },
    {
      "count": 1,
      "value": "Demographics"
    },
    {
      "count": 1,
      "value": "Drainage"
    },
    {
      "count": 1,
      "value": "Economic Development"
    },
    {
      "count": 1,
      "value": "Images"
    },
    {
      "count": 1,
      "value": "Lobbyists"
    }
  ]
}
```

### Property

- Capability: `open-data/property`
- Description: City of Edmonton property tax assessments for the current year (Property Assessment Data, q7d6-ambg) joined with Property Information (dkk9-cj3x) by account number: address, neighbourhood, ward, assessed value, tax class and assessment classes, garage, legal description, zoning, lot size, gross area and year built. Look up an account number, or search by street name (with an optional house number) or neighbourhood. An unknown account number is not_found; an address search with no match is an empty result. No owner names are published.
- Instructions: Assessed value, zoning, lot size or year built of an Edmonton property by address or tax roll account; listing assessments on a street or in a neighbourhood. Prior years are in the historical assessment dataset (qi6a-xuwt), reachable through rows.
- Cost: 5 credits per call
- Capability file: [Property](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/property)

Accepted options:
- `account_number` (string): Tax roll account number, for example 3603008. Pattern: ^ *[0-9]{1,12} *$. Example: `<account_number>`
- `cursor` (string): Record offset to start from: the next_cursor of the previous page. Pattern: ^[0-9]{1,12}$. Example: `<cursor>`
- `house_number` (string): House number, exact (case-insensitive), used with street_name. Example: `<house_number>`
- `limit` (number): Records per page. Example: `10`
- `neighbourhood` (string): Neighbourhood name, case-insensitive exact match, for example DOWNTOWN. Example: `<neighbourhood>`
- `street_name` (string): Case-insensitive substring of the street name, for example SIR WINSTON CHURCHILL or 90 STREET NW. Example: `<street_name>`

Response schema example:
```json
{
  "count": 1,
  "data_last_modified": "Mon, 19 Oct 2026 08:29:14 GMT",
  "dataset_id": "q7d6-ambg",
  "dataset_url": "https://data.edmonton.ca/d/q7d6-ambg",
  "details_dataset_id": "dkk9-cj3x",
  "details_source_url": "https://data.edmonton.ca/resource/dkk9-cj3x.json?%24where=account_number+in+%28%273603008%27%29&%24order=account_number%2C+%3Aid&%24limit=2",
  "limit": 10,
  "next_cursor": null,
  "observed_at_ms": 1792968772674,
  "offset": 0,
  "properties": [
    {
      "account_number": "3603008",
      "address": "2 SIR WINSTON CHURCHILL SQUARE NW",
      "assessed_value": 44211500,
      "assessment_classes": [
        {
          "class": "COMMERCIAL",
          "percent": 100
        }
      ],
      "garage": false,
      "house_number": "2",
      "latitude": 53.54491483564406,
      "legal_description": "Plan: 4390NY  Block: A  Lot: 1",
      "longitude": -113.48853833296867,
      "lot_size": 2644.48,
      "neighbourhood": "DOWNTOWN",
      "neighbourhood_id": "1090",
      "street_name": "SIR WINSTON CHURCHILL SQUARE NW",
      "suite": null,
      "tax_class": "Non Residential",
      "total_gross_area": 7645.949,
      "ward": "O-day'min",
      "year_built": 2009,
      "zoning": "CCA"
    }
  ],
  "source_url": "https://data.edmonton.ca/resource/q7d6-ambg.json?%24where=account_number+%3D+%273603008%27&%24order=account_number%2C+%3Aid&%24limit=10"
}
```

### Row count

- Capability: `open-data/row_count`
- Description: Number of rows of a Edmonton Open Data dataset matching optional `where`, `q` and `filters`, from `$select=count(*)` on the SODA endpoint. The count column is read whatever SODA names it (count, or count_1 when the dataset has its own count column). Returns the integer count and the exact request URL. An unknown dataset id is not_found; a SoQL error is invalid_input.
- Instructions: Size a `rows` query before paging, or answer a pure how-many question.
- Cost: 5 credits per call
- Capability file: [Row count](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/row_count)

Accepted options:
- `dataset_id` (string, required): 4x4 id or a data.edmonton.ca URL containing it. Example: `<dataset_id>`
- `filters` (object): Bare equality filters sent as `field=value` query parameters. Example: `{}`
- `q` (string): SoQL $q full-text search. Example: `<q>`
- `where` (string): SoQL $where predicate. Example: `<where>`

Response schema example:
```json
{
  "count": 248117,
  "data_last_modified": "Sun, 25 Oct 2026 10:43:01 GMT",
  "dataset_id": "24uj-dj8v",
  "observed_at_ms": 1792968773537,
  "q": null,
  "source_url": "https://data.edmonton.ca/resource/24uj-dj8v.json?%24select=count%28*%29",
  "where": null
}
```

### Rows

- Capability: `open-data/rows`
- Description: Query rows of any Edmonton Open Data dataset through the SODA 2.1 endpoint https://data.edmonton.ca/resource/<4x4>.json with SoQL: `select` (columns, aggregates such as count(*)), `where` (SoQL predicates incl. like, between, intersects(geometry,'POINT(lon lat)'), within_circle(point, lat, lon, meters), within_box), `order`, `group`, `q` (full text) and `filters` (bare field=value equality parameters), paged with `limit` (1-50000, default 100) and `cursor` (row offset). Without `order` (and without `group`) the program orders by the row id `:id` so pages are stable. Numbers stay strings as published. Rows come back exactly as published: numbers and dates are strings, geometry is GeoJSON; `columns` lists the returned field names and Socrata types from the X-SODA2-Fields/Types headers. An unknown dataset id is not_found; a SoQL error (unknown column, bad syntax) is invalid_input carrying the portal's message; an empty page is a successful result with count 0.
- Instructions: Any question that needs actual records from a Edmonton Open Data dataset. Get the 4x4 id from `datasets` and the column field names from `dataset` first. Use `row_count` to size a query before paging.
- Cost: 5 credits per call
- Capability file: [Rows](https://firecrawl.dev/alexandria/agents/providers/data-edmonton-ca/open-data/rows)

Accepted options:
- `cursor` (string): Row offset to start from: the `next_cursor` of the previous page. Pattern: ^[0-9]{1,12}$. Example: `next_cursor`
- `dataset_id` (string, required): 4x4 id (for example `24uj-dj8v`) or a data.edmonton.ca URL containing it. Example: `24uj-dj8v`
- `filters` (object): Bare equality filters sent as `field=value` query parameters (for example {"job_category": "Commercial Final"}); keys must be column field names, values strings. Example: `{}`
- `group` (string): SoQL $group; pair with aggregates in `select`. Example: `<group>`
- `limit` (number): Rows per page. The portal caps a request at 50000; wide datasets with geometry should use far less. Example: `100`
- `order` (string): SoQL $order, for example `issue_date DESC` or `count(*) DESC`. Default `:id` when no `group` is given. Example: `issue_date DESC`
- `q` (string): SoQL $q full-text search across all text columns. Example: `<q>`
- `select` (string): SoQL $select, for example `address,construction_value` or `job_category,count(*)`. Default: all columns. Example: `address,construction_value`
- `where` (string): SoQL $where, for example `address like '%86 STREET NW'`, `issue_date between '2026-09-01T00:00:00' and '2026-09-30T23:59:59'`, `within_circle(geometry_point,53.5449,-113.4885,200)`. Example: `address like '%86 STREET NW'`

Response schema example:
```json
{
  "columns": [
    {
      "datatype": "text",
      "field_name": "row_id"
    },
    {
      "datatype": "floating_timestamp",
      "field_name": "permit_date"
    },
    {
      "datatype": "text",
      "field_name": "job_category"
    },
    {
      "datatype": "text",
      "field_name": "work_type"
    },
    {
      "datatype": "text",
      "field_name": "address"
    },
    {
      "datatype": "text",
      "field_name": "neighbourhood"
    },
    {
      "datatype": "number",
      "field_name": "construction_value"
    }
  ],
  "count": 1,
  "data_last_modified": "Sun, 25 Oct 2026 10:43:01 GMT",
  "dataset_id": "24uj-dj8v",
  "limit": 5,
  "next_cursor": null,
  "observed_at_ms": 1792968773833,
  "offset": 0,
  "rows": [
    {
      "address": "4503 - 86 STREET NW",
      "construction_value": "58131",
      "job_category": "Commercial Final",
      "neighbourhood": "MCINTYRE INDUSTRIAL",
      "permit_date": "2023-06-27T00:00:00.000",
      "row_id": "2-472013926",
      "work_type": "(99) Demolition"
    }
  ],
  "source_url": "https://data.edmonton.ca/resource/24uj-dj8v.json?%24select=row_id%2Cpermit_date%2Cjob_category%2Cwork_type%2Caddress%2Cneighbourhood%2Cconstruction_value&%24where=row_id%3D%272-472013926%27&%24order=%3Aid&%24limit=5"
}
```
