NYSE APInyse.com ↗
Access NYSE stock quotes, trading halts, market movers, holidays, and data product catalogs via 10 structured endpoints. Real-time and historical coverage.
What is the NYSE API?
The NYSE.com API exposes 10 endpoints covering real-time stock quotes, trading halts, market movers, system notifications, and the official holiday calendar directly from nyse.com. The get_quote_details endpoint alone returns over a dozen fields per symbol — including beta, EPS, dividend yield, options chains, board member profiles, and multi-period total returns — making it a practical source for equity research and monitoring workflows.
curl -X GET 'https://api.parse.bot/scraper/125c86d7-ba54-42ab-9785-fbca70c01e03/get_listings?query=IBM&page_number=0' \ -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 nyse-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.
"""NYSE Market Data API — bounded walkthrough of the primary workflows."""
from parse_apis.nyse_market_data_api import NYSE, MarketCategory, SymbolRequired
client = NYSE()
# Search listings for a ticker symbol; limit= caps total items fetched.
for listing in client.listings.search(query="AAPL", limit=3):
print(listing.name, listing.score)
# Get real-time quote details for a symbol; drill into nested resources.
quote = client.quotes.get(symbol="IBM")
detail = quote.refresh()
print(detail.quote.last_price, detail.total_returns.one_month)
# Market movers — top volume leaders on NYSE.
for mover in client.movers.list(category=MarketCategory.NYSE, limit=5):
print(mover.symbol, mover.volume, mover.percent_change)
# Current trading halts — take the first one.
halt = client.tradehalts.list_current(limit=1).first()
if halt:
print(halt.symbol, halt.issuer_name, halt.reason)
# Typed error handling — catch SymbolRequired on a bad call.
try:
client.quotes.get(symbol="")
except SymbolRequired as exc:
print(f"Error: {exc}")
print("exercised: listings.search / quotes.get / quote.refresh / movers.list / tradehalts.list_current")
Search for NYSE-listed tickers and instruments by name or symbol. Returns matching quotes from the NYSE quotes collection with relevance scores. Paginates with zero-indexed page numbers.
| Param | Type | Description |
|---|---|---|
| query | string | Search query for ticker symbol or company name |
| page_number | integer | Page number for results (0-indexed) |
{
"type": "object",
"fields": {
"results": "array of quote objects with url, name, description, and score",
"totalHits": "integer total number of matching results",
"pageNumber": "integer current page number"
},
"sample": {
"data": {
"results": [
{
"url": "https://www.nyse.com/quote/XNYS:IBM",
"name": "INTERNATIONAL BUS MACH CORP",
"score": 539.4431,
"description": "INTERNATIONAL BUS MACH CORP"
}
],
"maxScore": 539.4431,
"totalHits": 3,
"pageNumber": 0,
"suggestions": [],
"aggregationsMapList": [
{
"label": "Content Type",
"aggregations": {
"Quote": 3
}
}
]
},
"status": "success"
}
}About the NYSE API
Quote and Listing Data
The get_listings endpoint accepts a query string (ticker symbol or company name) and returns paginated results from the NYSE quotes collection, each with a relevance score, name, description, and url. Page numbers are zero-indexed. The get_quote_details endpoint takes a single symbol parameter and returns a deeply nested response: a quote object with current price, volume, daily high/low, dividend, yield, beta, and EPS; an options object with callList and putList arrays; a boardMember object with full company profile and director list; a quoteHistory object with historical price series; and a totalReturns object with return percentages across multiple time periods.
Trading Halts
get_trading_halts_current returns halts active during the current session — including symbol, issuer name, exchange, reason code, and halt timestamp — with a lastUpdatedTime field indicating data freshness. get_trading_halts_historical adds date-range filtering via halt_date_from and halt_date_to (YYYY-MM-DD), optional symbol filtering, and returns resumption datetime alongside halt datetime. Both endpoints use 1-indexed pagination.
Market Status and Trader Updates
get_market_status surfaces historical system notifications: outages, self-help declarations, and technical issues, each with publishedDate, subject, body, marketLinks, serviceLinks, and nested childNotifications. get_trader_updates follows the same response shape but covers regulatory notices — new listings, bond additions and redemptions, and options changes. Both use 0-indexed pagination and return results sorted by published date descending.
Movers, Holidays, and Data Products
get_market_movers returns stocks ranked by current-session trading volume, with lastPrice, change, pctchg, and volume per symbol. get_market_holidays returns the official NYSE holiday schedule structured as date arrays grouped by year. get_data_products_catalog paginates (via offset and max) through NYSE's commercial data product listings, returning each product's title, body, actionLabel, finalUrl, startDate, and tags. The global search_site endpoint accepts any keyword and returns CMS page matches with relevance scores and content type aggregations.
The NYSE API is a managed, monitored endpoint for nyse.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nyse.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 nyse.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?+
- Monitor real-time trading halts by polling
get_trading_halts_currentand alerting on new halt reasons. - Build an equity screener using beta, EPS, dividend yield, and total return fields from
get_quote_details. - Track NYSE board composition changes by storing
boardMemberobjects returned for a symbol watchlist. - Automate trading calendar logic by loading official market holidays from
get_market_holidays. - Surface volume-based momentum signals using
lastPrice,volume, andpctchgfromget_market_movers. - Audit historical trading disruptions by date-range filtering
get_trading_halts_historicalwithhalt_date_fromandhalt_date_to. - Catalog available NYSE proprietary data subscriptions by iterating
get_data_products_catalogwithoffsetpagination.
| 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 NYSE have an official developer API?+
What does `get_quote_details` return beyond the current price?+
quote object (price, volume, high/low, dividend, yield, beta, EPS), the response includes an options object with full callList and putList arrays, a boardMember object with company profile and board director list, a quoteHistory object with historical price series, and a totalReturns object with return percentages across multiple periods.How does pagination work across endpoints — are all page numbers zero-indexed?+
get_listings, get_market_status, get_trader_updates, and search_site use zero-indexed page numbers. get_trading_halts_current and get_trading_halts_historical use 1-indexed page numbers. get_data_products_catalog uses an offset integer rather than a page number.Does the API expose pre-market or after-hours quote data?+
get_quote_details endpoint returns data reflecting NYSE session quotes, and get_market_movers covers the current regular trading session by volume. You can fork this API on Parse and revise it to add an endpoint targeting pre-market or after-hours data if that coverage exists on nyse.com.Can I retrieve options data for multiple symbols in one call?+
options object (with callList and putList) is returned as part of get_quote_details, which accepts a single symbol per request. Multi-symbol options retrieval would require one call per symbol. You can fork this API on Parse and revise it to add a batch endpoint if that capability is needed.