From eodhd-api
Screens stocks by fundamental and technical criteria using the EODHD screener API, with enrichment of top results via fundamentals and price data.
How this skill is triggered — by the user, by Claude, or both
Slash command
/eodhd-api:stock-screenerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Find stocks matching user-defined criteria using EODHD's screener endpoint, then enrich top results with detailed fundamentals and price data for comparison.
Find stocks matching user-defined criteria using EODHD's screener endpoint, then enrich top results with detailed fundamentals and price data for comparison.
Activate when the user asks for:
screener endpoint with filters, sort, signals, limitfundamentals for detailed data on top 5-10 resultseod for recent price trendsfilters is a JSON array of [field, operation, value] triples — NOT dot-notation
(market_capitalization.gte) and NOT a JSON object. If the shape is wrong, the EODHD API
silently ignores the filter and returns unfiltered, irrelevant results.
Operations: =, !=, >, >=, <, <=, match. A JSON object is rejected with HTTP 422.
[["market_capitalization",">=",10000000000],["sector","=","Technology"]]
Sort: --sort field.direction (e.g. market_capitalization.desc, pe.asc). A bare field name is
rejected with HTTP 422 ("sort.0.direction is required").
Currency caveat (important): absolute-money fields — market_capitalization, revenue, ebitda — are
in each listing's local currency, not USD. A raw threshold leaks huge non-USD companies (e.g. a
Vietnam-listed firm at "3.88T" ₫ ≈ $150M passes >= 10B). Each result row has a currency_symbol field
indicating its currency. So:
["exchange","=","us"] (or the
intended exchange) so the threshold is currency-consistent.currency_symbol.pe, pb, ps, peg, roe, roa, beta, dividend_yield) are
currency-independent and safe to compare across markets.Instrument-type noise (the screener has NO type filter — ["type",...] → HTTP 422): the combined
["exchange","=","us"] includes OTC foreign cross-listings (codes ending F/Y, broken 55–110%
dividend_yield) and preferred shares (codes with a -, e.g. JPM-PD). For a clean common-stock screen:
scope to a real venue (["exchange","=","nyse"]/"nasdaq"), add ["dividend_yield","<=",0.25] on dividend
screens, and post-filter result rows whose code contains -.
The screener supports these filter fields:
market_capitalization — market cap in the listing's local currency (see currency caveat; scope by exchange for a consistent threshold)earnings_share — EPSdividend_yield — dividend yield as a fraction (0.03 = 3%, not 3)sector — sector name (exact match)industry — industry name (exact match)exchange — exchange code (e.g., us)pe — P/E ratiowallstreet_target_price — analyst target priceEach result row also returns currency_symbol (currency of the absolute-money fields) and exchange — surface these when presenting caps.
50d_new_hi / 50d_new_lo — 50-day new high/low200d_new_hi / 200d_new_lo — 200-day new high/lowbookvalue_neg — negative book valuewallstreet_lo / wallstreet_hi — at analyst low/highFilter Applied
{filters_used}
Results ([N] matches)
| # | Ticker | Name | Sector | Mkt Cap (ccy) | P/E | Div Yield | Price |
|---|
Show the currency_symbol alongside Mkt Cap; never render a non-USD cap as USD. If the screen spans multiple currencies, say so in the Summary caveats.
Top Picks — Detailed Analysis For each top 5 result:
Sector Distribution
| Sector | Count | Avg P/E | Avg Yield |
|---|
Summary
This is not financial advice. Data is for informational purposes only.
# High-dividend large caps (dividend_yield is a fraction: 0.03 = 3%; nyse avoids OTC junk; <=0.25 caps broken yields)
python eodhd_client.py --endpoint screener --filters '[["dividend_yield",">=",0.03],["dividend_yield","<=",0.25],["market_capitalization",">=",10000000000],["exchange","=","nyse"]]' --sort dividend_yield.desc --limit 20
# then drop rows whose code contains '-' (preferred shares)
# Undervalued growth stocks
python eodhd_client.py --endpoint screener --filters '[["market_capitalization",">=",1000000000],["earnings_share",">=",1],["exchange","=","us"]]' --signals 200d_new_lo --limit 20
# Tech sector screening
python eodhd_client.py --endpoint screener --filters '[["sector","=","Technology"],["market_capitalization",">=",5000000000],["exchange","=","us"]]' --sort market_capitalization.desc --limit 30
| Endpoint | Purpose | Cost |
|---|---|---|
screener | Filter and rank stocks | 1 call |
fundamentals | Detailed data for top picks | 10 calls/ticker |
eod | Price context | 1 call/ticker |
../eodhd-api/references/endpoints/stock-screener-data.md../eodhd-api/references/endpoints/fundamentals-data.md../eodhd-api/references/endpoints/historical-stock-prices.mdnpx claudepluginhub eodhistoricaldata/eodhd-claude-skills --plugin eodhd-apiDrafts EODHD screener queries from natural language criteria and handles API pitfalls: currency consistency, venue scoping, preferred-stock and cross-listing noise, and valid filter/sort formats.
Systematic stock screening and investment idea sourcing using quantitative screens, thematic research, and pattern recognition. Use when looking for new long/short ideas.
Analyzes dividend safety via payout ratios, FCF coverage, debt metrics, stress tests; evaluates growth rates and income opportunities for US stocks and REITs.