Free Stock Screener API
Selection & Build GuideStock Screener API
Selection Guide
Compare screener APIs by universe, metrics, point-in-time data, paging, freshness, licensing, and workflow.

TL;DR
Find an endpoint that evaluates a defined security universe and returns every passing symbol—not a quote API that only accepts one ticker at a time.
Match the endpoint to fundamental, technical, classification, liquidity, price, and listing-status rules, with documented operators and null handling.
Check request and row limits, delay, market coverage, authentication, pagination, historical access, and display rights before coding.
Keep the query definition, as-of time, source periods, result count, and rank beside the symbols so the screen remains reproducible.
What users expect from a free stock screener API
Most developers need to answer four practical questions: does the endpoint screen an entire universe, which financial and market conditions can it combine, what does the free tier permit, and can one query be reproduced in code? They also need to distinguish a screener from a quote endpoint and understand which fields are current, delayed, or tied to the latest published filing.
A true screener performs server-side filtering over a stated universe. Downloading thousands of symbols and filtering locally can still be a valid architecture, but it has different quota, bandwidth, latency, survivorship, and licensing implications. Before comparing endpoints, decide whether you need current discovery, scheduled watchlist refreshes, or historical point-in-time screening for research.
Free stock screener API with fundamental filters
Look for valuation, profitability, growth, leverage, dividend, sector, and market-cap fields. Confirm the definitions and reporting periods behind each metric.
Real-time stock screener API limits
“Real time” may apply to quotes while fundamentals refresh after filings. Verify exchange entitlements, timestamp fields, delays, and whether streaming is included.
Stock screener API for Python workflows
Prefer stable JSON, documented operators, pagination, metadata discovery, and examples that can be reproduced with requests, pandas, or an SDK.
Licensing and production use
A zero-cost developer tier does not automatically permit redistribution, public display, or commercial use. Read the provider's current terms.
Point-in-time fundamentals and survivorship
For backtests, ask whether metrics reflect what was known on the screen date, not values restated later. The universe must preserve delisted securities and historical classifications or results will be biased toward survivors.
Null values, units, and fiscal periods
Define whether a missing value fails the filter or is excluded before evaluation. Confirm currency, percentage versus decimal units, trailing versus annual values, fiscal period, and the filing date behind every fundamental metric.
How to compare free stock screening API options
| Criterion | What to verify | Why it matters | Test |
|---|---|---|---|
| Coverage | Exchanges, symbols, ETFs, delisted securities. | Defines the usable universe. | Query known symbols from each market. |
| Filters | Fundamentals, technicals, sectors, operators. | Separates a screener from a quote API. | Run a multi-condition query. |
| Freshness | Quote delay, filing refresh, timestamps. | Prevents false “real-time” assumptions. | Compare timestamps with market status. |
| Free tier | Calls, rows, rate limit, attribution, license. | Determines prototype and production fit. | Test pagination and rate-limit headers. |
| Metric semantics | Formula, unit, currency, period, filing date, null policy. | Prevents silently comparing unlike values. | Recalculate several metrics from source statements. |
| Pagination | Stable sort key, cursor behavior, row cap, duplicate policy. | Ensures no symbol is skipped between pages. | Fetch the full universe twice and compare IDs. |
| Historical integrity | As-of queries, delisted names, restatements, classifications. | Controls look-ahead and survivorship bias. | Rebuild a known past screen using only then-known data. |
Consider a U.S. common-stock screen with price at least $5, 20-day median dollar volume above $5 million, positive trailing-twelve-month operating cash flow, revenue growth above 10%, and net debt to EBITDA below 3. Exclude securities with missing cash-flow or leverage inputs, sort by dollar volume descending with a stable security ID as the secondary key, and cap the result at 100 names. Save the universe definition, metric formulas, filing dates, quote timestamp, null policy, sort keys, and complete result count. “growth > 10” is not reproducible until the API states whether 10 means 10%, 0.10, year-over-year growth, or another period.
Return the evaluated value, threshold, unit, source period, and pass state for each condition. A symbol list alone cannot explain why a company entered the screen.
Record whether the price moved, a new filing changed a metric, the security left the universe, the value became unavailable, or the provider revised history.
Build a stock screener with a free API
1. Define a reproducible stock screen
Write the market, currency, minimum liquidity, valuation or growth thresholds, null handling, sort order, and maximum result count before choosing a provider.
2. Inspect the API schema and free limits
Map human metric names to API fields. Record authentication, operators, pagination, timestamps, errors, and current free-tier restrictions.
3. Test one stock screener API request
Run a small query, validate several returned symbols manually, store the provider timestamp, and log the exact filters beside the results.
4. Add caching, validation, and fallback
Cache slow-changing fundamentals, reject stale or malformed responses, respect rate limits, and keep provider-specific code behind an adapter.
5. Paginate with a stable ordering
Use a documented cursor or a deterministic secondary key such as a stable security ID. Deduplicate across pages, record the total universe count, and fail the run if pages change underneath a long retrieval.
6. Version the screen and explain every match
Store a canonical filter object, metric definitions, source dates, code version, and a per-symbol explanation of which conditions passed. When a symbol disappears, report the changed input or failed condition rather than silently dropping it.
Use QVeris to find and call financial API capabilities
QVeris can help an agent discover and inspect relevant financial-data capabilities before making a tool call. It does not guarantee that every provider offers free, real-time, or redistribution rights; those terms still require provider-level verification.
- Open the Financial Modeling Prep Key Metrics tool in QVeris to review a financial or market-data capability.
- Inspect inputs, operators, units, outputs, provider identity, pagination, timestamps, and error behavior before adding a capability to an automated stock-screening workflow.
- Pass the target market, security types, as-of requirement, filter object, null policy, sort rule, and maximum result count explicitly; do not let an agent invent missing constraints.
- Keep screening results and their source evidence as research inputs; they are not investment recommendations.
FAQ
Is there a free stock screener API?
Yes, some providers publish a free endpoint or developer tier. Limits, eligible markets, data delay, fields, and licensing differ and can change.
What is the best free stock screener API?
The best option is the one whose market coverage, screening fields, freshness, limits, documentation, and license match your exact workflow.
Can I build a stock screener with a free API?
Usually for a prototype. Define filters, call the endpoint, paginate results, validate timestamps and symbols, then cache and monitor responses.
Does a free stock API provide real-time data?
Not always. Quotes, fundamentals, technical indicators, and exchange feeds can have different refresh schedules and entitlements.
What is the difference between a screener API and a quote API?
A screener evaluates conditions across a universe and returns matching securities. A quote API usually returns fields for symbols you already know; using it as a screener requires universe data, bulk retrieval, and local filtering.
Can a stock screener API be used for backtesting?
Only if it supports point-in-time data, historical universes, delisted securities, and then-known fundamentals. Running today's database with an old date label does not remove look-ahead or survivorship bias.
How should missing fundamentals be filtered?
Define the policy before execution. A missing ratio is not zero: it may mean not applicable, unavailable, not yet filed, or a failed calculation. Preserve a reason code and test nulls separately from numeric thresholds.
