Finology APIticker.finology.in ↗
Access Indian stock prices, financials, IPO listings, sector data, and peer comparisons from ticker.finology.in via 10 structured endpoints.
What is the Finology API?
The Ticker Finology API provides 10 endpoints covering Indian equity market data from ticker.finology.in, including company overviews, historical BSE price charts, quarterly and annual financial statements, sector breakdowns, and IPO listings. The get_company_overview endpoint alone returns over 10 fields per company — P/E, P/B, ROE, ROCE, EPS, market cap, 52-week range, and Finstar ratings — without any additional authentication beyond a ticker symbol.
curl -X GET 'https://api.parse.bot/scraper/2d091d5f-c3e8-474c-8700-16c0ecc613a7/search_company?query=TATASTEEL' \ -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 ticker-finology-in-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.
from parse_apis.finology_ticker_api import FinologyTicker, FinancialMode, CompanyNotFound
client = FinologyTicker()
# Search for a company and navigate to its full overview
results = client.companysummaries.search(query="TATASTEEL")
for summary in results:
print(summary.symbol, summary.company_name, summary.fincode)
# Navigate from summary to full company detail
company = summary.overview()
print(company.company_name, company.current_price, company.pe, company.market_cap)
print(company.finstar_ratings.ownership_status, company.finstar_ratings.valuation_status)
# Get peers in the same sector
for peer in company.peers.list():
print(peer.symbol, peer.company_name, peer.close_price, peer.roe)
# Get recent news
for article in company.news.list():
print(article.heading, article.news_date, article.news_time)
# Get financial statements in consolidated mode
report = company.get_financials(mode=FinancialMode.CONSOLIDATED)
for item in report.quarterly:
print(item.particulars)
# Get historical prices from the search result (needs all identifiers)
for point in summary.get_prices(count="2"):
print(point.date, point.price)
# Browse sectors and drill into companies
for sector in client.sectors.list():
print(sector.name, sector.slug)
# Use constructible sector to get companies directly
steel = client.sector(slug="steel-iron-products")
for comp in steel.companies.list():
print(comp.company_name, comp.close_price, comp.percent_change, comp.pe)
# Market dashboard
dashboard = client.marketdashboards.get()
for gainer in dashboard.top_gainers:
print(gainer.company, gainer.price, gainer.change_percent)
Full-text search over Indian listed companies by name or ticker symbol. Returns matching companies with their identifiers (fincode, scripcode, symbol) needed for other endpoints. Single-page result set.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Company name or ticker symbol (e.g., 'TATASTEEL', 'Reliance') |
{
"type": "object",
"fields": {
"results": "array of matching company summaries with SYMBOL, FINCODE, compname, SCRIPCODE"
},
"sample": {
"data": {
"results": [
{
"SYMBOL": "TATASTEEL",
"FINCODE": 100470,
"compname": "Tata Steel Ltd.",
"SCRIPCODE": 500470
}
]
},
"status": "success"
}
}About the Finology API
Company Data and Financials
The get_company_overview endpoint accepts a ticker symbol (e.g., RELIANCE, INFY) and returns current price metrics alongside valuation ratios including pe, pb, eps, roe, and roce, plus market_cap in crores, 52_week_low, and 52_week_high. For deeper analysis, get_financial_tables returns four structured tables — quarterly, annual_pl, balance_sheet, and cash_flow — each as arrays of line items keyed by PARTICULARS with period columns like Mar 2025. The mode parameter accepts S for standalone or C for consolidated reporting.
Historical Prices and Peer Comparison
get_price_chart_data returns BSE daily closing prices as date-price pairs for a configurable number of years via the count parameter. This endpoint requires all three company identifiers — symbol, fincode, and scripcode — which are returned together by search_company. get_peer_comparison takes a fincode and returns up to 10 sector peers ranked by market cap, each with CLOSE_PRICE, PE, PB, ROE, ROCE, EPS, and mcap.
Market Dashboard, Sectors, and IPOs
get_market_dashboard requires no inputs and returns top gainers and losers from BSE with price and percent change, plus a featured stocks list with day-high data. The sector endpoints work as a two-step flow: get_sector_list returns roughly 70 sectors with name and slug fields, and get_sector_details accepts a sector_slug to retrieve the full company list for that sector including CLOSE_PRICE, Change, PerChange, MCAP, PE, and PB. get_ipo_list categorizes IPOs into upcoming, current, and listed arrays, though some categories may be empty depending on current market activity.
News and Identifiers
get_company_news accepts a fincode and returns recent articles — typically 3 to 5 — with Heading, Newsdate, NewsTime, and full Details as HTML content. Because most company-specific endpoints require fincode and some require scripcode, using search_company first to resolve all three identifiers (FINCODE, SCRIPCODE, SYMBOL) is the standard starting point for any company-level query.
The Finology API is a managed, monitored endpoint for ticker.finology.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ticker.finology.in 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 ticker.finology.in 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 screener that pulls P/E, P/B, and ROE across sector peers using
get_peer_comparisonandget_sector_details. - Chart BSE historical closing prices for a portfolio of Indian equities using
get_price_chart_datawith multi-yearcountvalues. - Track daily top gainers and losers from BSE using
get_market_dashboardfor a market-open summary dashboard. - Monitor upcoming and current IPOs by polling
get_ipo_listand categorizing results into pipeline stages. - Aggregate quarterly revenue and net profit trends using the
quarterlytable fromget_financial_tablesin standalone mode. - Resolve company identifiers at scale by running names through
search_companyto retrievefincodeandscripcodefor downstream calls. - Display recent company news with publication timestamps by feeding
fincodevalues intoget_company_news.
| 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 Ticker Finology offer an official developer API?+
What does `get_financial_tables` return and how do I choose standalone vs. consolidated data?+
quarterly (quarterly P&L), annual_pl (annual P&L), balance_sheet, and cash_flow. Each table is an array of line items with a PARTICULARS key and period-named columns (e.g., Mar 2025). Pass mode=S for standalone financials or mode=C for consolidated. Some companies only publish one mode, so the other may return an empty array.Does the API cover NSE price data or only BSE?+
get_price_chart_data and real-time prices in market endpoints reflect BSE data. NSE price series are not currently exposed. You can fork this API on Parse and revise it to add an NSE-specific price endpoint if your use case requires NSE data.Are bulk or paginated results available for company searches?+
search_company returns a single-page result set matched to the query string — there is no pagination or offset parameter. The endpoint is designed for name or symbol lookups rather than full database enumeration. If you need a complete company list by sector, get_sector_details with each slug from get_sector_list is the practical alternative.