Polygon APIpolygon.io ↗
Access Polygon.io market data via API: ticker details, OHLCV aggregates, real-time snapshots, financial statements, news, and exchange status across stocks, crypto, and forex.
What is the Polygon API?
This API exposes 7 endpoints against Polygon.io's financial data platform, covering stocks, crypto, forex, and OTC markets. You can pull historical OHLCV bars with get_aggregates, retrieve real-time multi-ticker snapshots with get_universal_snapshot, fetch standardized income statement and balance sheet data with get_financials, and check live exchange open/closed status with get_market_status — all in a single integration.
curl -X GET 'https://api.parse.bot/scraper/f36d5ee6-8ac4-4778-8ec5-04a9787d2d73/get_all_tickers?limit=5&market=stocks&active=true&ticker=AAPL&api_key=test_key' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace polygon-io-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
Polygon.io Financial Data API - Usage Example
Retrieve tickers filtered by market, navigate to a ticker's
historical price bars, and browse real-time snapshots.
"""
from parse_apis.polygon.io_financial_data_api import Polygon, Market, Timespan
polygon = Polygon()
# List stock tickers filtered by market
for ticker in polygon.tickers.list(market=Market.STOCKS, active=True):
print(ticker.ticker, ticker.name, ticker.market, ticker.active)
# Get full details for a specific ticker
aapl = polygon.tickers.get(ticker="AAPL")
print(aapl.ticker, aapl.name, aapl.currency_name)
# Retrieve daily OHLCV bars for the ticker via sub-resource
for bar in aapl.aggregates.list(timespan=Timespan.DAY, from_date="2025-01-01", to_date="2025-01-31"):
print(bar.t, bar.o, bar.h, bar.l, bar.c, bar.v)
# Browse latest news for the ticker
for article in aapl.news.list():
print(article.title, article.published_at, article.article_url)
# Retrieve real-time snapshots across multiple tickers
for snap in polygon.snapshots.list(tickers="AAPL,MSFT,GOOGL"):
print(snap.ticker, snap.name)
List ticker symbols across markets (stocks, crypto, fx, otc). Filterable by market, type, active status, or ticker search string. Each result is a lightweight summary with symbol, name, market, type, and active status. Requires a valid Polygon.io API key.
| Param | Type | Description |
|---|---|---|
| type | string | Filter by ticker type: CS (common stock), ETF, FUND, etc. |
| limit | integer | Maximum number of results to return. |
| active | boolean | Filter for active tickers only. |
| market | string | Filter by market: stocks, crypto, fx, otc. |
| ticker | string | Search for a specific ticker symbol. |
| api_keyrequired | string | Polygon.io API key. |
{
"type": "object",
"fields": {
"count": "integer — number of results returned",
"status": "string — response status (e.g. OK)",
"results": "array of ticker summary objects with ticker, name, market, type, locale, active, currency_name",
"request_id": "string — unique request identifier"
}
}About the Polygon API
Ticker Discovery and Metadata
The get_all_tickers endpoint lists ticker symbols across stocks, crypto, forex, and OTC markets. Responses include ticker, name, market, type, locale, active, and currency_name per result. You can filter with the market param (stocks, crypto, fx, otc), the type param (e.g. CS for common stock, ETF), and an active boolean. get_ticker_details accepts a single ticker param and returns a deeper object with market_cap, primary_exchange, sic_code, company description, and branding data.
Historical and Real-Time Price Data
get_aggregates returns OHLCV bars for any ticker over a configurable date range. The timespan param accepts minute, hour, day, week, month, quarter, or year, and multiplier sets the interval size (e.g. multiplier=5 with timespan=minute gives 5-minute bars). Each bar in the results array carries t (timestamp in milliseconds), o, h, l, c, v (volume), vw (volume-weighted average price), and n (number of trades). The adjusted boolean controls split adjustment.
get_universal_snapshot accepts a comma-separated tickers list and returns a session object per ticker with open, high, low, close, volume, and price change fields — useful for building multi-asset dashboards in a single call.
Financials, News, and Market Status
get_financials returns standardized filing data: each result in the array contains income_statement, balance_sheet, and cash_flow_statement sub-objects alongside filing metadata. The limit param controls how many periods are returned.
get_news returns articles sorted by published_utc descending, each with title, author, article_url, related tickers, and description. Filter by symbol using the ticker param. get_market_status requires no API key and returns real-time open/closed state for nasdaq, nyse, and otc exchanges plus crypto and fx currency markets, afterHours and earlyHours booleans, and a serverTime ISO timestamp.
The Polygon API is a managed, monitored endpoint for polygon.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when polygon.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official polygon.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Charting historical price data using
get_aggregatesOHLCV bars with configurable timespans - Screening tickers by market and type using
get_all_tickerswithmarketandtypefilters - Building a multi-asset watchlist dashboard with real-time session data from
get_universal_snapshot - Automating fundamental analysis by pulling income statement and balance sheet data from
get_financials - Displaying company profiles with
market_cap,sic_code, anddescriptionfromget_ticker_details - Gating trading logic on exchange open/closed state using
get_market_statuswithout consuming API quota - Monitoring financial news flow for a specific stock by filtering
get_newswith thetickerparam
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Polygon.io have an official developer API?+
What does `get_aggregates` return, and can it handle intraday data?+
t in milliseconds), open, high, low, close, volume (v), volume-weighted average price (vw), and trade count (n). Setting timespan to minute or hour and providing from_date/to_date within a recent window returns intraday bars. Intraday data availability depends on your Polygon.io API key tier.Does the API return real-time streaming quotes?+
get_universal_snapshot endpoint returns the latest session snapshot per ticker as a point-in-time response. For continuous streaming data, Polygon.io's own WebSocket API would need to be integrated separately. You can fork this API on Parse and add a polling wrapper or additional snapshot endpoints to approximate near-real-time feeds.Are options or futures contracts covered?+
How many periods does `get_financials` return, and how recent is the data?+
limit param controls how many filing periods are returned per call. Data freshness depends on when Polygon.io ingests filings from public sources such as SEC EDGAR. There is no guaranteed lag SLA built into this endpoint — the most recently filed period available on Polygon.io at query time is what the API reflects.