Query API Metadata: Find Available Datasets
A tutorial on navigating the algoseek Datasets API metadata endpoints.
Before diving into downloading historical market data, you will often need to understand what datasets are available, what fields they contain, and when they are updated. The algoseek Datasets API provides a robust set of DatasetInfo endpoints specifically designed to return this metadata.
Here is a guide on how to interact with these metadata endpoints to streamline your workflow.
1. Discovering Available Datasets#
The first step is discovering the datasets you can query. The API provides two primary endpoints for listing datasets:
- List All Datasets (
GET /api/v1/meta/datasets): This endpoint retrieves a high-level list of all datasets available via the API. The response includes basic properties for each dataset, such as its unique text identifier, internal ID, human-readable display name, data group, and vendor.
cURL Request:
curl -X --get \
https://api.devalgoseek.com/api/v1/meta/datasets \
-H "X-API-KEY: YOUR_API_KEY"
Example Response:
JSON
[
{
"dataset_id": "US1033",
"dataset_text_id": "eq_taq_1min",
"dataset_name": "US Equities Trade and Quote Minute Bar",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US1034",
"dataset_text_id": "eq_taq_1min_ext",
"dataset_name": "US Equities Trade and Quote Extended Minute Bar",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US1035",
"dataset_text_id": "eq_taq_1min_nofinra",
"dataset_name": "US Equities Trade and Quote Minute Bar Excluding FINRA/TRF Trades",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US1032",
"dataset_text_id": "eq_taq",
"dataset_name": "US Equities Trade and Quote",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US1039",
"dataset_text_id": "eq_trades",
"dataset_name": "US Equities Trade Only",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US6012",
"dataset_text_id": "fut_taq_1min",
"dataset_name": "US Futures Trade and Quote Minute Bar",
"data_group": "Futures",
"vendor": "algoseek"
},
...
]
- List My Datasets (
GET /api/v1/meta/datasets/my): If you only want to see the datasets your specific account (identity) is authorized to access, use this endpoint. It returns the same list format but strictly filtered to your account's permissions.
cURL Request:
Bash
curl -X --get \
https://api.devalgoseek.com/api/v1/meta/datasets/my \
-H "X-API-KEY: YOUR_API_KEY"
Example Response:
JSON
[
{
"dataset_id": "US1033",
"dataset_text_id": "eq_taq_1min",
"dataset_name": "US Equities Trade and Quote Minute Bar",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US1035",
"dataset_text_id": "eq_taq_1min_nofinra",
"dataset_name": "US Equities Trade and Quote Minute Bar Excluding FINRA/TRF Trades",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US1032",
"dataset_text_id": "eq_taq",
"dataset_name": "US Equities Trade and Quote",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US1039",
"dataset_text_id": "eq_trades",
"dataset_name": "US Equities Trade Only",
"data_group": "Equity",
"vendor": "algoseek"
},
{
"dataset_id": "US6012",
"dataset_text_id": "fut_taq_1min",
"dataset_name": "US Futures Trade and Quote Minute Bar",
"data_group": "Futures",
"vendor": "algoseek"
},
...
]
2. Retrieving Detailed Dataset Information#
Once you have identified a dataset of interest (for example, using its dataset_id like US1032), you can fetch its comprehensive metadata.
- Get Dataset Info (
GET /api/v1/meta/datasets/{dataset_id}/info): By passing thedataset_idas a path parameter, you can retrieve a detailed breakdown of the dataset's characteristics.
cURL Request:
Bash
curl -X --get \
https://api.devalgoseek.com/api/v1/meta/datasets/US1032/info \
-H "X-API-KEY: YOUR_API_KEY"
Example Response:
JSON
{
"dataset_text_id": "eq_taq",
"dataset_id": "US1032",
"dataset_name": "US Equities Trade and Quote",
"data_group": "Equity",
"vendor": "algoseek",
"description": "The algoseek US Equities Trade and Quote (TAQ) dataset is a crucial resource for hedge funds, market makers, and financial analysts, offering an in-depth view of the US Equities market. This dataset compiles all trades and bid/ask quotes for listed stocks, ETNs, ETFs, ADRs, and funds from more than 15 US exchanges and marketplaces, establishing itself as a vital tool for quantitative trading, backtesting, and machine learning applications.\n\nThe data is collected from the Securities Information Processor (also known as the 'Consolidated Feed'), offering a comprehensive view of market activities throughout the entire trading session, including early and late hours. The consolidated Feed includes Tape A and Tape B covered by the Consolidated Tape Association (CTA) plan and Tape C covered by the Unlisted Trading Privileges (UTP) plan. The dataset serves as a reliable source for security price information, acting as a benchmark for determining the National Best Bid and Offer (NBBO). In order to provide the most realistic scenarios for clients to work with historical data, by default, we do not modify the data received live from exchanges.",
"dataset_class": "Equity",
"dataset_format": "Market Data",
"time_granularity": "Tick",
"documentation_link": "https://us-equity-market-data-docs.s3.us-east-1.amazonaws.com/algoseek.US.Equity.TAQ.pdf",
"start_date": "2007-01-01",
"end_date": null,
"is_time_series": true,
"universe_identifier": "ticker",
"creation_date": "2019-04-05"
}
3. Understanding the Data Schema#
Before writing code to ingest and process a dataset, you need to know its exact structure.
- List Dataset Columns (
GET /api/v1/meta/datasets/{dataset_id}/columns): This endpoint returns the structural schema for the specified dataset. It provides an array of column objects, giving you the exactname,data_type, and a functionaldescriptionfor each field available in the files.
cURL Request:
Bash
curl -X --get \
'https://api.devalgoseek.com/api/v1/meta/datasets/US1032/columns' \
-H "X-API-KEY: YOUR_API_KEY"
Example Response:
JSON
[
{
"name": "TradeDate",
"data_type": "date",
"description": "The trading day"
},
{
"name": "EventDateTime",
"data_type": "date-time",
"description": "Event timestamp (EST) with a nanosecond resolution (milliseconds before 2016)"
},
{
"name": "EventType",
"data_type": "string",
"description": "The type of the trade/quote event"
},
{
"name": "Ticker",
"data_type": "string",
"description": "Symbol name"
},
{
"name": "ASID",
"data_type": "integer",
"description": "A unique identifier for a security"
},
{
"name": "Price",
"data_type": "number",
"description": "The price of Bid, Ask, or Trade. Can be up to 4 decimal places for sub-penny prices"
},
{
"name": "Quantity",
"data_type": "integer",
"description": "The number of shares"
},
{
"name": "Exchange",
"data_type": "string",
"description": "The exchange or reporting venue"
},
{
"name": "ConditionCode",
"data_type": "integer",
"description": "Condition flags applicable to the trade/quote encoded as unsigned int"
}
]
4. Tracking Dataset Updates#
If you are running continuous systematic trading models or updating research databases, you need to know exactly when fresh data drops.
- Get Dataset Status (
GET /api/v1/meta/datasets/{dataset_id}/status): Use this endpoint to check the update lifecycle of a dataset. It returns the time of the last update and the expected scheduled time for the next data batch.
cURL Request:
Bash
curl -X --get \
'https://api.devalgoseek.com/api/v1/meta/datasets/US1032/status' \
-H "X-API-KEY: YOUR_API_KEY"
Example Response:
JSON
{
"last_update_time": "2026-05-23T04:09:36.066274Z",
"expected_next_update": "01:00 ET",
"status": "OK"
}