MIGRATION GUIDE
Switching from Yahu Financials
FinMarkets speaks the same paths, parameters, and payload shapes as the
apidojo / yahoo-finance1 listing. Migrating is a base URL and a key — your
request code does not change.
The whole migration
Change the host, and send your Apexon key instead of the marketplace key. Everything after the hostname stays byte-identical.
curl "https://yh-finance.p.rapidapi.com/market/v2/get-quotes?symbols=AAPL,MSFT" \ -H "X-RapidAPI-Key: $RAPID_KEY" \ -H "X-RapidAPI-Host: yh-finance.p.rapidapi.com"
curl "https://api.apexon.dev/market/v2/get-quotes?symbols=AAPL,MSFT" \ -H "X-API-Key: $APEXON_KEY"
Subscribing through RapidAPI instead? Then nothing changes but the listing you
subscribe to — your existing X-RapidAPI-Key header keeps working, because the
gateway authenticates you and we honour it.
What actually differs
Only the things you were complaining about.
| Yahu Financials | FinMarkets | |
|---|---|---|
| Deprecated endpoints | 33 of 78 marked deprecated; retired routes return an empty 204 |
None. Removals get notice, and errors are typed — never a silent empty body |
| Paid-tier limits | Hard cap, no overage — cut off mid-month | Soft limits with headroom; marketplace quota enforced at the gateway |
| Burst rate | 5–15 requests / second | 20 requests / second on marketplace plans |
| Documentation | A two-line description; parameters only | Full reference, quickstart, error and caching docs |
| Compression | Not offered | gzip on every response over 1 KB |
| Cache transparency | None | X-Cache, X-Response-Time-ms and X-RateLimit-* on every response |
On latency we will not quote a number we have not measured under load. Every
response carries X-Response-Time-ms — measure us against your current provider
on your own traffic and keep whichever wins.
Endpoint compatibility
Every active endpoint on that listing, and its status here. Paths and query parameters are identical; you do not need this table unless you are auditing.
| Their endpoint | Ours | Status |
|---|---|---|
| Search | ||
GET/auto-complete | /auto-complete | supported |
| Market | ||
GET/market/v2/get-quotes | /market/v2/get-quotes | supported |
GET/market/v2/get-movers | /market/v2/get-movers | supported |
GET/market/v2/get-summary | /market/v2/get-summary | supported |
GET/market/get-tickers-by-quote-type | /market/get-tickers-by-quote-type | supported |
GET/market/get-spark | /market/get-spark | supported |
GET/market/get-earnings | /market/get-earnings | supported |
GET/market/get-trending-tickers | /market/get-trending-tickers | supported |
GET/market/get-popular-watchlists | /market/get-popular-watchlists | supported |
GET/market/get-watchlist-performance | /market/get-watchlist-performance | supported |
GET/market/get-watchlist-detail | /market/get-watchlist-detail | supported |
| Stock | ||
GET/stock/get-fundamentals | /stock/get-fundamentals | supported |
GET/stock/get-earnings | /stock/get-earnings | supported |
GET/stock/get-esg-scores | /stock/get-esg-scores | supported |
GET/stock/get-events-calendar | /stock/get-events-calendar | supported |
GET/stock/get-fees-and-expenses | /stock/get-fees-and-expenses | supported |
GET/stock/get-futures-chain | /stock/get-futures-chain | supported |
GET/stock/get-company-outlook | /stock/get-company-outlook | supported |
GET/stock/get-recent-updates | /stock/get-recent-updates | supported |
GET/stock/get-recommendation-trend | /stock/get-recommendation-trend | supported |
GET/stock/get-sec-filings | /stock/get-sec-filings | supported |
GET/stock/get-top-holdings | /stock/get-top-holdings | supported |
GET/stock/get-what-analysts-are-saying | /stock/get-what-analysts-are-saying | supported |
GET/stock/v2/get-chart | /stock/v2/get-chart | supported |
GET/stock/v2/get-timeseries | /stock/v2/get-timeseries | supported |
GET/stock/v2/get-insights | /stock/v2/get-insights | supported |
GET/stock/v2/get-recommendations | /stock/v2/get-recommendations | supported |
GET/stock/v3/get-chart | /stock/v3/get-chart | supported |
GET/stock/v3/get-holders | /stock/v3/get-holders | supported |
GET/stock/v3/get-insights | /stock/v3/get-insights | supported |
GET/stock/v3/get-options | /stock/v3/get-options | supported |
GET/stock/v3/get-profile | /stock/v3/get-profile | supported |
GET/stock/v3/get-upgrades-downgrades | /stock/v3/get-upgrades-downgrades | supported |
GET/stock/v4/get-statistics | /stock/v4/get-statistics | supported |
| News | ||
GET/news/v2/list | /news/v2/list | supported |
GET/news/v2/get-details | /news/v2/get-details | supported |
| Screeners | ||
POST/screeners/list | /screeners/list | supported |
GET/screeners/get-filters | /screeners/get-filters | supported |
GET/screeners/get-symbols-by-predefined | /screeners/get-symbols-by-predefined | supported |
GET/screeners/list-by-ticker | /screeners/list-by-ticker | supported |
| Calendar | ||
POST/calendar/get-events | /calendar/get-events | supported |
POST/calendar/count-events | /calendar/count-events | supported |
| Community | ||
GET/community/list-popular | /community/list-popular | supported |
GET/community/list-newfeed | /community/list-newfeed | supported |
GET/community/get-post | /community/get-post | supported |
Deprecated routes on their side are intentionally not reproduced — if you are
still calling one, the equivalent lives on our native /v1
surface, which is the one we recommend for new code.
Worth knowing before you switch
- Response bodies are upstream-shaped — the same envelopes you already
parse (
quoteResponse.result[]and friends), so your models keep working. - Custom screeners and the calendar take POST
(
/screeners/listis POST;/calendar/get-eventsand/calendar/count-eventsaccept both GET and POST). News list (/news/v2/list) is a GET here — send query params, not a body. - Errors change shape for the better — a typed JSON envelope with a
stable
codeand arequest_id, instead of an empty 204. If you branch on empty responses today, branch on the code instead. - We are not affiliated with Yahoo, and neither is any other listing in this category. See the disclaimer.