---
title: "Get Ticker Data (Bulk)"
method: POST
path: "/v2/index_data"
tags: ["Index Data V2"]
---

# Get Ticker Data (Bulk)

`POST /v2/index_data`

This endpoint allows permissioned users to retrieve ticker/index data for multiple ticker combinations with flexible querying options. Each ticker specification in the request can use different levels of specificity.

**Request Body Structure:**

*   **start\_date**: Earliest date of the range (YYYY-MM-DD), required
*   **end\_date**: Most recent date of the range (YYYY-MM-DD), required
*   **tickers**: Array of ticker query objects, required. Each object supports flexible querying:

**Ticker Query Object Fields:**

*   **ticker**: Fully qualified notation "{Index}.{Granularity1}" (e.g., "OTMS.DAL"). Automatically splits into index and granularity1. Most specific form.
*   **index**: Base ticker/index identifier (e.g., "OTMS"). Use for broader queries.
*   **granularity1**: Primary granularity dimension (e.g., "USA", "DAL").
*   **granularity\_level**: Additional granularity level filtering.

**Flexible Query Examples:**

\`\`\` { "start\_date": "2025-01-01", "end\_date": "2025-01-20", "tickers": \[ { "ticker": "OTMS.DAL" }, // Specific ticker { "index": "OTRI" }, // All OTRI granularities { "index": "VSTLR", "granularity1": "DAL" }, // Partial specification { "ticker": "TSTOP.NYC", "granularity\_level": "METRO" } // With level filter \] } \`\`\`

**Precedence:** ticker takes precedence. Explicit fields (index, granularity1) override components parsed from ticker.

**Null Handling:** Omitted/null granularity fields enable broader queries (e.g., all granularities for an index).

## Headers

- `x-api-version` string

## Request body

- IndexDataJsonRequest — Request for retrieving ticker/index data for multiple ticker combinations
  - `start_date` string, date — Start date for the data range (YYYY-MM-DD)
  - `end_date` string, date — End date for the data range (YYYY-MM-DD)
  - `tickers` TickerDataQuery[] — List of ticker combinations to retrieve
    - `ticker` string — Shorthand ticker notation in format "{Index}.{Granularity}" (e.g., "OTRI.DAL") If provided and valid, will be parsed into Index and Granularity1
    - `index` string — The base ticker/index identifier (e.g., "OTRI") Can be set directly or parsed from Ticker
    - `granularity` string — Primary granularity level (e.g., "DAL") Can be set directly or parsed from Ticker
    - `granularity_level` string — Granularity level identifier

## Response `200`

OK

- IndexDataJsonResponse[]
  - `index` string — The ticker symbol/identifier
  - `granularity` string — Specific granularity item
  - `granularity_level` string — Granularity level identifier
  - `data_date` string, date — Date of the data point
  - `data_value` number, double — The value for this data point

---

[API](https://skmtc.net/freightwaves/apis/sonar-api.md) · [All operations](https://skmtc.net/freightwaves/apis/sonar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/freightwaves/sonar-api/revisions/3a995f316cda/schema)
