Why an FMP Endpoint May Work for One Symbol but Not Another
One request returns the expected financial data. You replace the ticker, keep the endpoint and parameters the same, and receive an empty list, fewer records than expected, or an error. It is easy to conclude that the endpoint is unreliable, but the two symbols may represent different listings, security types, markets, reporting histories, or levels of dataset coverage.
The fastest way to find the cause is to change one variable at a time. First confirm what the response actually says. Then verify the ticker, exchange, endpoint fit, account access, and reporting history before contacting support.
Key Takeaways
- A valid ticker does not guarantee that every endpoint contains data for it.
- The exchange and security type are part of the identifier, especially for international listings, depositary receipts, funds, and companies with more than one traded security.
- An empty list is different from an authentication, rate-limit, access, or server error.
- Profile data, market prices, financial statements, filings, and analyst estimates come from different datasets and may not have identical symbol coverage.
- Comparing a working and non-working request with all other parameters held constant is usually the quickest way to identify the difference.
Start With the Response You Actually Received
Before investigating the symbol, look at the raw response. The documented API error types distinguish invalid credentials, rate limits, and server problems. Those conditions require different action from a successful request that returns an empty list.
|
Response pattern |
What it establishes |
First check |
|
The request succeeds and returns [] |
No records were returned for that exact request |
Symbol, exchange, endpoint coverage, dates, and reporting availability |
|
The response mentions an invalid or missing API key |
The request was not authenticated |
API key and request format |
|
The response mentions a rate or usage limit |
The request reached an account limit |
Recent request volume and account limits |
|
The response identifies an access or entitlement problem |
The requested data is not available under the current access |
Endpoint and plan coverage |
|
The response reports a server or network problem |
The request may not have reached a usable data response |
API status, retry timing, and support if the issue continues |
An application may convert an empty list into a blank table, null, or a generic “no data” message. Check the original JSON response before diagnosing the problem. Otherwise, the application layer can hide the difference between no matching records and a request that failed.
1. Confirm the Ticker and Security
Start with the symbol before changing the endpoint. A ticker copied from a brokerage platform, another data provider, an old spreadsheet, or a manually maintained watchlist may not use the same representation expected by FMP. This is particularly common with international securities, renamed companies, delisted companies, multiple listings, and funds.
Use the Stock Symbol Search API to check the exact ticker string. If the result is unclear, search by company name and work backward to the relevant security.
|
Field |
What to verify |
|
Symbol |
Does FMP recognize the exact ticker string? |
|
Company |
Does the returned name match the intended issuer? |
|
Exchange |
Is the result tied to the market you intended to query? |
|
Security type |
Is it the common stock, depositary receipt, ETF, fund, or other instrument you need? |
A returned search result confirms that the symbol exists in the directory. It does not confirm that every other endpoint contains data for that symbol. Treat symbol resolution as an identity check, not a promise of coverage across all datasets.
When several results appear, compare the company name, exchange, and security type rather than selecting the first match. A more detailed company and exchange symbol lookup process can help when you are migrating a watchlist from another provider or resolving an unfamiliar international ticker.
2. Confirm the Exchange or Listing Variant
A company can trade on more than one exchange. Its primary domestic shares, foreign listing, and depositary receipt may share a company name while using different identifiers. The endpoint receives a security identifier, not a general request for anything associated with that company.
The Exchange Variants API can show where a symbol is listed and which representation belongs to each venue. This is especially important for historical prices because the listing determines the trading currency, available dates, and associated market record.
Check the base ticker first. If it returns no records, test the relevant exchange-specific representation while leaving the endpoint, API key, dates, and other parameters unchanged. If the response changes after only the symbol representation changes, the listing identifier explains the difference.
Do not change the symbol, exchange, and date range in the same test. Once several variables change together, a successful response no longer tells you which correction mattered.
3. Check Whether the Endpoint Fits the Security
A valid symbol does not imply that every endpoint has a corresponding record. Company profiles, market prices, financial statements, SEC filings, transcripts, and analyst estimates are separate datasets. Coverage in one does not establish coverage in another.
For example, an ETF may have a company profile and historical price record but no conventional corporate income statement. A newly listed company may have market data but only a short reporting history. An international security may trade actively without appearing in a US filing-based dataset.
|
If this request works |
But this request does not |
What to investigate |
|
Company profile |
Financial statements |
Security type, issuer mapping, and statement availability |
|
Recent historical prices |
Older historical prices |
Listing date, requested range, and historical access |
|
Domestic listing |
Foreign listing |
Exchange-specific symbol, market coverage, and plan access |
|
Market prices |
SEC-linked data |
Issuer domicile, CIK mapping, and filing availability |
|
Financial statements |
Analyst estimates |
Dataset-specific analyst coverage |
If your workflow requires financial statements, check whether the company appears in the Financial Statement Symbols List. This is a more relevant coverage check than using a successful profile response as a proxy.
The same principle applies to historical prices. Test the exact security and time period required by the workflow. A company that listed 18 months ago cannot return 10 years of trading history, even if the endpoint and symbol are otherwise correct.
4. Check the Plan and Requested Data Range
Once the symbol, listing, and endpoint fit are confirmed, compare the request with the access provided by the current account. Plans can differ by endpoint availability, market coverage, historical depth, call rate, and bandwidth. A recent period may be available even when an older lookback or another market is not.
Check the current plan coverage and limits against the endpoint, market, and date range you need. Do not infer broad access from an unrelated successful request. Access to profile data, for example, does not establish access to every historical or specialized dataset.
Plan access should not be diagnosed from an empty list alone. If the response explicitly identifies an access, authentication, rate, or bandwidth issue, follow that message. If the request succeeds but returns no records, continue checking the symbol, security type, dates, and underlying reporting availability.
A clean test changes one variable at a time:
- Run the working and non-working symbols over the same recent period.
- Keep the non-working symbol fixed and shorten the requested date range.
- Extend the range gradually until the response changes.
- Compare that range with the security's listing date and the account's historical access.
This sequence separates a symbol problem from a history problem without requiring a complicated technical setup.
5. Check Reporting and Filing Availability
When the endpoint depends on financial statements or regulatory filings, active trading does not guarantee that a record exists for the requested period. A security can have a valid ticker, current prices, and substantial trading volume while returning no financial statement or filing record for a particular quarter.
Check the issuer as well as the ticker. A Central Index Key, or CIK, identifies an entity in SEC records and can help resolve ambiguity when a company has several security representations. The Company Profile by CIK API can help confirm which company the identifier represents, while mapping a CIK back to its ticker can uncover a mismatch between the trading symbol and filing identity.
Then check the requested reporting period. A newly public company will have less history than a long-established issuer, and a newly filed report may not yet appear as a structured record. Very recent reporting periods deserve a timing check before they are treated as missing coverage.
An empty filing-derived response supports a narrow conclusion: no records were returned for the requested symbol, period, and parameters. It does not establish that the company has never filed financial statements or that the entire endpoint is unavailable.
6. Contact Support With a Reproducible Comparison
If the ticker, exchange, endpoint fit, plan access, dates, and filing availability do not explain the difference, prepare a side-by-side comparison for support. The goal is to let someone reproduce the request without guessing what was sent.
|
Include |
What to provide |
|
Target endpoint |
The complete endpoint path |
|
Working symbol |
A symbol that returns the expected record |
|
Non-working symbol |
The symbol being investigated |
|
Exchange |
The intended venue for each security |
|
Parameters |
Exact period, limit, from, to, and other values used |
|
Account context |
Plan tier and any relevant market or history requirement |
|
Expected result |
The record or date range you expected |
|
Actual result |
The unmodified JSON response |
|
Request time |
Date and time, including the time zone |
Remove the API key before sharing the request. Include the raw response rather than a screenshot of a blank table or an application-generated error. If the issue is filing-related, add the reporting period and CIK. If it concerns historical data, include the exact start and end dates.
After assembling those details, use email or chat support through the FMP Help Center. A concise question is more useful than a general report that a ticker “does not work.” Ask whether the specified security has records in the stated endpoint for the requested period and account access.
A Compact Troubleshooting Checklist
When one symbol works and another does not, work through these checks in order:
- Read the raw response and separate no records from an explicit error.
- Confirm the exact ticker, company, exchange, and security type.
- Check whether an exchange-specific symbol is required.
- Verify that the target endpoint is appropriate for that security.
- Hold the parameters constant while comparing the two symbols.
- Check the listing date, requested period, filing availability, and plan access.
- Escalate with the endpoint, symbols, parameters, plan context, request time, and raw response.
The important distinction is between symbol recognition and dataset coverage. A ticker can be valid while a particular endpoint has no record for that security, market, or period. Once each variable is checked separately, an apparently inconsistent response usually becomes a specific identity, coverage, timing, access, or support question.
Frequently Asked Questions
Does a valid ticker guarantee that every FMP endpoint contains data for it?
No. A successful symbol search confirms that the identifier is recognized. Each endpoint still has its own security, market, reporting, and historical coverage.
Why might a company profile work while financial statements return no records?
Profile and financial statement data come from different datasets. The symbol may represent an ETF or another security without conventional company statements, the issuer mapping may differ, or the requested reporting period may not be available.
Can an account plan affect the result for a particular symbol?
Yes. Plans can differ in endpoint access, market coverage, historical depth, call rate, and bandwidth. However, an empty list alone does not prove that the plan is the cause. Check the returned message and compare the request with the current plan details.
When should I contact support?
Contact support after confirming the ticker, exchange, security type, endpoint fit, parameters, plan access, and reporting history. Include a working comparison, the complete request with the API key removed, the raw response, and the request time.

Risk analysis and financial modeling for data-driven market workflows
Parth Sanghvi is a Senior Risk Consultant with experience in financial modeling, valuation, and risk analysis. For FMP, he focuses on translating complex market data and risk models into clear, accessible analysis for developers and investors. His work centers on helping readers understand how institutional-grade financial data applies to real-world workflows and decision-making.
Financial data for every need
Real-time quotes and 30+ years of historical data, including prices, fundamentals, and insider transactions — all accessible via API.
Create Free Account