---
title: "List datasets in the catalog"
method: GET
path: "/api/v1/datasets"
tags: ["Data"]
---

# List datasets in the catalog

`GET /api/v1/datasets`

## Request

- Base URL: `https://askthegrid.com`
- URL: `https://askthegrid.com/api/v1/datasets`
- Auth: HTTP bearer

Every published dataset, filterable by market, free text, and whether it can be queried for rows. The MCP equivalent is the `search_data` tool.

## Query parameters

- `market` 'ERCOT' | 'CAISO' | 'NYISO' | 'PJM' | 'SPP' | 'MISO' | 'ISONE' | 'BPAT' | 'TVA' | 'DUK' | 'CPLE' | 'CPLW' | 'FPC' | 'FPL' | 'SOCO' | 'BCA' | 'AESO' | 'IESO' | 'CENACE' | 'HQ' | 'BCH' | 'MHEB' | 'SPC' | 'NBSO' | 'NSIESO'
- `q` string
- `queryable` string

## Response `200`

Success

- object
  - `datasets` object[], required
    - `id` string, required
    - `name` string, required
    - `table` string, required
    - `source` string, required
    - `category` 'Prices' | 'Ancillary Services' | 'Congestion & Constraints' | 'Load' | 'Generation' | 'Interchange' | 'Outages & Grid Events' | 'Infrastructure' | 'Weather' | 'Hydrology', required
    - `description` string, required
    - `frequency` string, required
    - `markets` string[], required
    - `queryable` boolean, required
    - `timeColumn` string, nullable, required
    - `grain` string, required

## Other responses

- `400`: The request did not match the contract.
- `401`: Missing or invalid credentials.
- `429`: Rate limit exceeded. Wait `Retry-After` seconds; `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` report the budget. Signed-in sessions and API keys have larger budgets than anonymous callers.

---

[API](https://skmtc.dev/askthegrid/apis/ask-the-grid-api.md) · [All operations](https://skmtc.dev/askthegrid/apis/ask-the-grid-api/llms.txt) · [OpenAPI document](https://skmtc.dev/askthegrid/apis/ask-the-grid-api/revisions/9cd80115e395?raw)
