Skip to content
Eden Engine

BC Data Catalogue Search: Datasets by Keyword, Publisher and Licence

bc/search-datasets

Searches the BC Data Catalogue (catalogue.data.gov.bc.ca), the Province of British Columbia's open data portal, for datasets matching your search terms and returns the total match count plus, for each dataset on the requested page, its title, description, publisher, declared licence, tags, resource links and landing page. Catalogue records only, not the data files; descriptions are cut at 500 characters and the first 10 resources are listed. Each dataset declares its own licence. Data of Province of British Columbia publishers, served by Eden Engine; not an official Province of British Columbia product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

BC Data Catalogue

Dataset records from the BC Data Catalogue (catalogue.data.gov.bc.ca), Province of British Columbia. Each dataset declares its own licence in `licenseId` and `licenseTitle` (for example the Open Government Licence - British Columbia, or Access Only); follow it and credit the publisher named in `organization`. Served by Eden Engine; not an official Province of British Columbia product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "bc/search-datasets" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "bc/search-datasets" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "bc/search-datasets", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "bc/search-datasets", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Search terms, for example 'water', 'wildfire' or 'school districts'. Matching is loose: check the titles of what comes back. An expression the portal cannot parse can match nothing or everything, so check count."
    },
    "rows": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "How many datasets to return, 1 to 10. Defaults to 5. count still reports the total number of matches."
    },
    "start": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Number of matches to skip, for reading further pages. Leave out to start at the first match."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "count",
    "returned",
    "results"
  ],
  "properties": {
    "count": {
      "type": "integer",
      "description": "Total number of datasets matching the query, not just those returned."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "title",
          "description",
          "descriptionTruncated",
          "organization",
          "tags",
          "resourceCount",
          "resources"
        ],
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dataset id (UUID); null only if the portal omitted it."
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL slug of the dataset; pass it as `id` to the get-dataset tool."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Up to 30 tags."
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dataset title."
          },
          "created": {
            "type": [
              "string",
              "null"
            ],
            "description": "When the catalogue record was created, ISO 8601."
          },
          "modified": {
            "type": [
              "string",
              "null"
            ],
            "description": "When the catalogue record was last changed, ISO 8601."
          },
          "licenseId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The dataset's own licence id. Null when none is stated."
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Link to the file or service, on the publisher's own host."
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Resource name."
                },
                "size": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "Size in bytes when the publisher states it."
                },
                "format": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "File format as stated, for example CSV."
                }
              },
              "additionalProperties": false
            },
            "description": "The first 10 resources of the record."
          },
          "licenseUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Link to the licence text. Null when none is given."
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dataset description as the publisher wrote it, cut at 500 characters; see descriptionTruncated. Null when none is given."
          },
          "landingPage": {
            "type": [
              "string",
              "null"
            ],
            "description": "The dataset's page on the BC Data Catalogue. Null when the record has no slug."
          },
          "licenseTitle": {
            "type": [
              "string",
              "null"
            ],
            "description": "The dataset's own licence name. Null when none is stated."
          },
          "organization": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "name": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Publisher slug."
              },
              "title": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Publisher display name."
              }
            },
            "description": "The publishing body. Null when the record names none.",
            "additionalProperties": false
          },
          "resourceCount": {
            "type": "integer",
            "description": "Number of resources (files and services) the record lists."
          },
          "descriptionTruncated": {
            "type": "boolean",
            "description": "True when description was cut at 500 characters."
          }
        },
        "additionalProperties": false
      },
      "description": "Datasets on this page, in the portal's relevance order. Empty when nothing matches or start is past the last match."
    },
    "returned": {
      "type": "integer",
      "description": "Number of datasets in results."
    }
  },
  "description": "The search answer: the total number of matches and the datasets on this page.",
  "additionalProperties": false
}