Nasdaq APInasdaq.com ↗
Access real-time quotes, historical OHLCV data, earnings, financials, SEC filings, options, and market movers from Nasdaq via a single structured API.
What is the Nasdaq API?
The Nasdaq API exposes 20 endpoints covering equities, ETFs, mutual funds, and cryptocurrency data sourced from nasdaq.com. You can pull real-time quotes with get_stock_quote, retrieve up to a year of OHLCV history with get_stock_historical_quotes, fetch full income statement and balance sheet data, and screen stocks by exchange and market cap — all returning structured JSON with consistent field shapes across asset classes.
curl -X GET 'https://api.parse.bot/scraper/22000fdf-6fc5-4eb8-a01e-ce10a29975ce/search_symbols?limit=5&query=AAPL' \ -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 nasdaq-com-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.
"""
Nasdaq Financial Data API - Usage Example
Get your API key from: https://parse.bot/settings
"""
from parse_apis.nasdaq_financial_data_api import Nasdaq, HoldingsType, SymbolNotFound
nasdaq = Nasdaq()
# Fetch a real-time stock quote by symbol
apple = nasdaq.stocks.get(symbol="AAPL")
print(apple.symbol, apple.company_name, apple.last_sale_price)
# Get earnings data for the stock (EPS history + upcoming date)
earnings = apple.earnings()
print(earnings.eps, earnings.earnings_date)
# Get dividend history
divs = apple.dividends()
print(divs.ex_dividend_date, divs.annualized_dividend, divs.payout_ratio)
# Get institutional holdings filtered by type
holdings = apple.institutional_holdings(type=HoldingsType.INCREASED)
print(holdings.symbol)
# Search for symbols by name
for result in nasdaq.searchresults.search(query="Tesla", limit=3):
print(result.symbol, result.name, result.score)
# Get a cryptocurrency quote
btc = nasdaq.cryptocurrencies.get(symbol="BTC")
print(btc.symbol, btc.company_name, btc.last_sale_price)
# Typed error handling for a non-existent symbol
try:
nasdaq.stocks.get(symbol="ZZZZZZZ")
except SymbolNotFound as exc:
print(f"Symbol not found: {exc.symbol}")
print("exercised: stocks.get / earnings / dividends / institutional_holdings / searchresults.search / cryptocurrencies.get")
Full-text search across stocks, ETFs, funds, and indices by symbol or company name. Returns scored results with metadata (exchange, asset type, market cap) and real-time market data (last sale, change, percent change). Results are relevance-ranked; the top_hit field surfaces the single best match.
| Param | Type | Description |
|---|---|---|
| limit | integer | Max results to return. |
| queryrequired | string | Search keyword (symbol or company name). |
{
"type": "object",
"fields": {
"data": "array of search result objects with metadata and score",
"status": "object containing rCode and status messages",
"top_hit": "object with the top matching result"
},
"sample": {
"data": [
{
"score": 33058,
"metadata": {
"name": "Apple Inc. Common Stock",
"asset": "STOCKS",
"symbol": "AAPL",
"exchange": "NASDAQ-GS",
"market_data": {
"change": "-10.99",
"lastSale": "$290.55",
"pctChange": "-3.64%"
}
}
}
],
"status": {
"rCode": 200,
"bCodeMessage": "Autosuggest response fetched successfully"
},
"top_hit": {
"metadata": {
"name": "Apple Inc. Common Stock",
"symbol": "AAPL"
}
}
}
}About the Nasdaq API
Quote and Price Data
The get_stock_quote endpoint returns primaryData fields — lastSalePrice, netChange, percentageChange, and volume — along with marketStatus and keyStats. The same primaryData shape appears in get_etf_quote and get_cryptocurrency_quote, making it straightforward to handle multiple asset classes with shared parsing logic. Mutual fund quotes via get_mutual_fund_quote set isRealTime=false and omit bid/ask and volume fields. Crypto coverage is limited to major coins; unsupported symbols return an upstream error rather than an empty result. Use the asset_class parameter on several endpoints to route requests correctly across stocks, etf, mutualfunds, and crypto.
Fundamentals and Corporate Actions
get_stock_financials returns four periods of income statement, balance sheet, cash flow, and financial ratio data in tabular form, selectable as annual (frequency=1) or quarterly (frequency=2). get_stock_earnings combines historical EPS actuals and consensus estimates with upcoming earnings date metadata. get_stock_dividend_history surfaces exDividendDate, yield, annualizedDividend, payoutRatio, and a full dividend record table. SEC filings are accessible through get_stock_sec_filings, which returns 10-K, 10-Q, 8-K, and other form types with document links and filterOptions for narrowing by type.
Market Structure and Ownership Data
get_stock_institutional_holdings breaks down ownership into ownershipSummary, activePositions, newSoldOutPositions, and holdingsTransactions, with a type filter accepting values like INCREASED, DECREASED, NEW, and SOLD_OUT. get_stock_short_interest provides settlement-date-level short interest counts alongside avgDailyShareVolume and daysToCover. get_market_movers returns categorized lists — MostActiveByShareVolume, MostAdvanced, MostDeclined, MostActiveByDollarVolume — for both stocks and ETFs. The get_retail_trading_activity endpoint returns the Nasdaq RTAT tracker: the top five stocks by percent of retail equity flow with activity percentage and sentiment.
Screening, Search, and Calendars
search_symbols accepts a keyword or partial symbol and returns scored matches with exchange and market metadata, including a top_hit object for the best match. get_stock_screener supports filtering by exchange (NASDAQ, NYSE, AMEX) and market_cap tier (mega through nano) with pagination via limit and offset. get_earnings_calendar accepts a date parameter; past dates include actual EPS and surprise percentages while future dates include consensus forecasts. get_market_indices returns current values for the NASDAQ Composite, and get_index_detail accepts individual index symbols such as COMP, NDX, or NBI.
The Nasdaq API is a managed, monitored endpoint for nasdaq.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nasdaq.com 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 nasdaq.com 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?+
- Build a stock screener UI filtering by exchange and market cap using
get_stock_screenerwith paginated results - Display earnings calendars with EPS actuals and surprise percentages for past dates and forecasts for upcoming reports
- Track short interest trends over time using settlement dates, days-to-cover, and average daily volume from
get_stock_short_interest - Aggregate institutional ownership changes by filtering
get_stock_institutional_holdingswith the INCREASED or NEW position types - Analyze dividend yield and payout ratio history alongside price data for income-focused portfolio research
- Monitor retail sentiment by pulling the RTAT tracker data showing top retail equity flow and sentiment signals
- Retrieve options chain data including calls and puts for building derivatives analytics or alerting tools
| 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 Nasdaq have an official developer API?+
What does `get_stock_historical_quotes` return and how far back does data go?+
tradesTable with date, close, volume, open, high, and low columns. Without from_date and to_date parameters, the endpoint defaults to the trailing 12 months. You can narrow or extend the range by passing explicit dates in YYYY-MM-DD format, and use limit to cap the number of rows returned.Does the API return intraday price data or only end-of-day historical data?+
get_stock_historical_quotes is end-of-day OHLCV only; there is no intraday bar or tick-level endpoint in the current API. Real-time quotes from get_stock_quote and related endpoints reflect the current price but without intraday history. You can fork the API on Parse and revise it to add an intraday endpoint if that data becomes accessible.What cryptocurrency symbols does the API support?+
get_cryptocurrency_quote returns an upstream error rather than an empty data object. The API does not currently include on-chain metrics, token lists, or exchange-level order book data. You can fork it on Parse and revise to add coverage for additional coin symbols or metrics.Can I filter `get_stock_screener` by sector, P/E ratio, or other fundamental criteria?+
exchange (NASDAQ, NYSE, AMEX) and market_cap tier filters only. Sector, valuation multiples, and other fundamental filters are not exposed. The response does include a filters field showing available filter values. You can fork the API on Parse and revise it to add additional filter parameters if the underlying data supports them.