Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/stooq-q-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Stooq Historical Data Q API
version: 1.0.0
description: Stooq is a Poland-based financial data platform offering free access to historical and current market data for global equities, indices, currencies, cryptocurrencies, commodities, bonds, and economic indicators. Data is delivered as CSV via a simple REST-style URL interface. An API key (obtained via CAPTCHA on the site) is required. A known daily request quota applies; exceeding it returns an "Exceeded the daily hits limit" message.
contact:
url: https://stooq.com/
license:
name: Free (non-commercial use)
url: https://stooq.com/
servers:
- url: https://stooq.com
description: Stooq production server
tags:
- name: Q
paths:
/q/d/l/:
get:
operationId: getHistoricalData
summary: Download historical OHLCV data as CSV
description: Returns a CSV file containing OHLCV (Open, High, Low, Close, Volume) time-series data for the specified ticker symbol and date range. Covers 21,000+ global securities and ETFs, 1,980+ currency pairs, 130+ cryptocurrencies, global indices, commodities, and economic indicators. Daily history extends 30+ years for major instruments; hourly data spans ~9 months; 5-minute data ~1 month.
parameters:
- name: s
in: query
required: true
description: 'Ticker symbol, optionally suffixed with an exchange code. Examples: aapl.us (Apple US), googl.us, btc.v (Bitcoin), gbp.v (GBP/USD), oil (crude oil), spx (S&P 500). Exchange suffixes: .US, .UK, .DE, .JP, .HK, .HU, .V'
schema:
type: string
example: aapl.us
- name: d1
in: query
required: false
description: Start date for the data range in YYYYMMDD format.
schema:
type: string
pattern: ^\d{8}$
example: '20200101'
- name: d2
in: query
required: false
description: End date for the data range in YYYYMMDD format.
schema:
type: string
pattern: ^\d{8}$
example: '20231231'
- name: i
in: query
required: false
description: 'Data interval. Options: d (daily), w (weekly), m (monthly), q (quarterly), y (yearly). Intraday intervals also supported: 60 (hourly, ~9 months history), 5 (5-minute, ~1 month history).'
schema:
type: string
enum:
- d
- w
- m
- q
- y
- '60'
- '5'
default: d
- name: apikey
in: query
required: true
description: API key obtained from the Stooq website via a CAPTCHA form. Required as of early 2026.
schema:
type: string
example: your_api_key_here
responses:
'200':
description: CSV file with OHLCV data. The response Content-Type is text/csv. The first row is a header line. If the daily quota is exceeded, the body contains the text "Exceeded the daily hits limit" instead of CSV data.
content:
text/csv:
schema:
type: string
description: 'Comma-separated values with header row. Columns: Date, Open, High, Low, Close, Volume. Date format is YYYY-MM-DD for daily and weekly intervals.'
example: 'Date,Open,High,Low,Close,Volume
2023-12-29,192.90,193.15,191.72,192.53,42628800
2023-12-28,194.14,194.66,193.17,193.58,34049900
2023-12-27,192.49,193.50,191.09,193.15,48087700
'
'400':
description: Bad request or invalid parameters.
'429':
description: Daily request quota exceeded. The response body may contain "Exceeded the daily hits limit".
tags:
- Q