---
title: "Search the catalog"
method: GET
path: "/v1/search"
tags: ["Discovery"]
---

# Search the catalog

`GET /v1/search`

## Request

- Base URL: `https://api.stackdata.io`
- URL: `https://api.stackdata.io/v1/search`
- Auth: one of:
  - none
  - API key in header `X-API-Key`

Full-text and semantic search over dataset metadata. Works in **any language**
(this is the multilingual arm — resolution below is English-only). Never metered.

## Query parameters

- `q` string, required
- `limit` integer
- `country` string
- `kind` string
- `open_only` boolean

## Response `200`

Ranked results.

- SearchResponse
  - `query` string
  - `returned` TypedCount: A count that states whether it is exact — never a bare integer.
    - `value` integer, required
    - `exact` boolean, required
  - `applied_filters` object: Echo of the filters that actually ran (a filter that could not run is a 400, never a silent drop).
  - `results` object[]
  - `meta` Meta: Attached to every JSON response. `harvest` maps each source id to its last successful harvest timestamp.
    - `harvest` object
    - `api_version` string

## Other responses

- `400`: An unknown query parameter was supplied. Unknown parameters are **rejected, never silently ignored** — the error names the offenders and lists what is allowed.

---

[API](https://skmtc.dev/stackdata/apis/stackdata-api.md) · [All operations](https://skmtc.dev/stackdata/apis/stackdata-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stackdata/apis/stackdata-api/revisions/91358ae3f6e8?raw)
