StockAnalysis APIstockanalysis.com ↗
Access stock quotes, income statements, statistics, IPO calendars, and pre-market movers from StockAnalysis.com via a structured JSON API.
What is the StockAnalysis API?
This API surfaces 7 endpoints covering stock search, real-time quotes, income statements, key statistics, curated stock lists, IPO schedules, and pre-market movers from StockAnalysis.com. The get_stock_financials_income endpoint returns annual revenue, gross profit, operating income, EPS, and margin data organized by fiscal year, while get_market_movers_premarket delivers gainers, losers, and most-active stocks before the regular session opens.
curl -X GET 'https://api.parse.bot/scraper/038c400f-48f4-4b33-a649-2d971f2d7d73/search_stocks?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 stockanalysis-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.
"""Walkthrough: StockAnalysis SDK — search, quote, financials, IPOs, movers."""
from parse_apis.StockAnalysis_API import StockAnalysis, Slug, NotFoundError
sa = StockAnalysis()
# Search for stocks by keyword, capped at 5 results
for result in sa.stock_summaries.search(query="Tesla", limit=5):
print(result.symbol, result.name, result.type, result.price)
# Drill down from search result to full real-time quote
summary = sa.stock_summaries.search(query="AAPL", limit=1).first()
if summary:
stock = summary.details()
print(stock.symbol, stock.price, stock.change_percent, stock.exchange, stock.high_52w)
# Fetch a stock directly and explore its financials
nvda = sa.stock(symbol="NVDA")
income = nvda.financials_income()
print(income.statement, income.period)
print(income.financial_data.fiscal_year, income.financial_data.revenue)
# Get comprehensive statistics for a stock
stats = nvda.statistics()
for entry in stats.valuation.data:
print(entry.id, entry.title, entry.value)
# Fetch a curated stock list using the Slug enum
try:
mega_caps = sa.stock_lists.get(slug=Slug.MEGA_CAP_STOCKS)
print(mega_caps.slug, mega_caps.count)
for entry in mega_caps.stocks[:3]:
print(entry.symbol, entry.name, entry.price, entry.market_cap)
except NotFoundError as exc:
print(f"List not found: {exc}")
# Check upcoming IPOs
ipos = sa.ipo_calendars.get()
for ipo in ipos.this_week[:2]:
print(ipo.symbol, ipo.name, ipo.ipo_date, ipo.exchange)
# Pre-market movers
movers = sa.premarket_moverses.get()
for gainer in movers.gainers.data[:2]:
print(gainer.symbol, gainer.name, gainer.premarket_change_percent)
print("exercised: search / details / financials_income / statistics / stock list / IPO calendar / premarket movers")
Full-text search for stocks and ETFs by company name or ticker symbol. Returns matches across multiple global exchanges including US, international, and ETF listings. Results include basic price and market cap data.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword — a company name or ticker symbol (e.g. 'AAPL', 'Microsoft', 'Tesla'). |
{
"type": "object",
"fields": {
"count": "integer — number of matching results",
"query": "string — the search keyword echoed back",
"results": "array of matching stocks/ETFs with symbol, name, type, price, market_cap"
},
"sample": {
"data": {
"count": 27,
"query": "AAPL",
"results": [
{
"name": "Apple Inc.",
"type": "Stock",
"price": 290.55,
"symbol": "AAPL",
"market_cap": 4267411285800
}
]
},
"status": "success"
}
}About the StockAnalysis API
Stock Quotes and Search
The search_stocks endpoint accepts a company name or ticker symbol and returns matches across US, international, and ETF listings — each result includes symbol, name, type, price, and market_cap. For a specific ticker, get_stock_overview returns a compact quote object using abbreviated field keys: p (price), c (change), cp (change percent), v (volume), ms (market status), h52 / l52 (52-week high/low), and extended-hours data. The ms field lets you detect whether the market is open, closed, or in pre/after-hours.
Financials and Statistics
get_stock_financials_income returns the full annual income statement for a given symbol. The financialData object contains arrays indexed by fiscal year for metrics including revenue, gross profit, operating income, net income, EPS, and growth rates. get_stock_statistics organizes key metrics into categorized sections — valuation, ratios, shares, balanceSheet, incomeStatement, cashFlow, and dividends. Each section contains a plain-text text summary and a data array of entries with id, title, value, and hover fields, making it straightforward to display tooltips or build comparison tables.
Lists, IPOs, and Pre-Market
get_stock_list retrieves any curated list by its URL slug (e.g. mega-cap-stocks, most-shorted-stocks), returning title, description, stock count, and an array of stocks with symbol, name, market cap, price, change, and revenue. get_ipo_calendar returns upcoming IPOs split into thisWeek, nextWeek, and later buckets — each entry includes the IPO date, exchange, price range, shares offered, and estimated market cap. get_market_movers_premarket covers gainers, losers, and active stocks in the pre-market session; the active array may be empty outside pre-market hours.
The StockAnalysis API is a managed, monitored endpoint for stockanalysis.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when stockanalysis.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 stockanalysis.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 that queries
get_stock_listwith slugs likemost-shorted-stocksto surface candidates for analysis. - Display a real-time quote widget using the
p,cp,ms, andh52fields fromget_stock_overview. - Populate an earnings model by extracting annual revenue, operating income, and EPS arrays from
get_stock_financials_income. - Monitor pre-market price action by polling
get_market_movers_premarketfor top gainers and losers before the open. - Track upcoming IPOs with
get_ipo_calendar, filtering bythisWeekentries that include price range and estimated market cap. - Render a valuation summary card using PE, forward PE, and PS ratios from the
ratiossection ofget_stock_statistics. - Autocomplete a stock search input with results from
search_stocks, surfacing symbol, name, type, and price for each match.
| 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 StockAnalysis.com have an official developer API?+
What does `get_stock_statistics` return beyond basic price data?+
valuation, ratios, shares, balanceSheet, incomeStatement, cashFlow, and dividends. Each section has a plain-text summary and a data array of stat entries that include an id, title, value, and a hover field suitable for tooltip text. It does not return raw time-series data — that lives in get_stock_financials_income.Does the API cover balance sheet or cash flow statement data in addition to the income statement?+
get_stock_statistics does include balanceSheet and cashFlow summary sections with key metrics, but there are no separate endpoints returning full multi-year balance sheet or cash flow statement arrays equivalent to get_stock_financials_income. You can fork this API on Parse and revise it to add those endpoints.How fresh is the pre-market data from `get_market_movers_premarket`?+
active array is explicitly noted as potentially empty outside pre-market hours, and the gainers and losers objects include query metadata. It is a point-in-time snapshot rather than a streaming feed — repeated polling is needed to track changes over the session.Can I retrieve data for international or non-US stocks?+
search_stocks returns matches across US, international, and ETF listings. However, get_stock_overview and get_stock_financials_income accept a ticker symbol parameter, and coverage depth for non-US equities may be limited compared to US-listed stocks depending on what StockAnalysis.com publishes for that symbol. Historical financial data for thinly covered international tickers may return incomplete financialData arrays.