From eodhd-api
Drafts 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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/eodhd-api:eodhd-screen <criteria, e.g. high dividend large cap US><criteria, e.g. high dividend large cap US>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Screen stocks using EODHD screener based on these criteria: $ARGUMENTS
Screen stocks using EODHD screener based on these criteria: $ARGUMENTS
Translate the user's criteria into EODHD screener filters.
Filter format (critical): filters is a JSON array of [field, operation, value] triples, NOT
dot-notation and NOT a JSON object. A JSON object is rejected with HTTP 422 ("must be an array").
Operations: =, !=, >, >=, <, <=, match.
Sort format: --sort field.direction, e.g. market_capitalization.desc or pe.asc. A bare field name
(or a separate order flag) is rejected with HTTP 422 ("sort.0.direction is required").
Currency caveat (important): absolute-money fields — market_capitalization, revenue, ebitda — are
reported in each listing's local currency, not normalized to USD. So a raw threshold leaks huge non-USD
companies (e.g. a Vietnam-listed firm shows "3.88T" ₫ ≈ $150M but passes a >= 10B filter). Each result row
carries a currency_symbol field telling you the currency. Therefore:
["exchange","=","us"]
(or the user's 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 (important — the screener has NO type filter): there is no field to restrict
results to common stock. Passing ["type", ...] is rejected with HTTP 422 (filters.0.field is invalid).
Two kinds of junk leak into unscoped screens, especially dividend screens:
["exchange","=","us"] virtual exchange includes OTC
grey-market listings (codes ending in F/Y, e.g. TCANF, RNECF) with broken dividend_yield
(55–110%). Scope to a real venue instead — ["exchange","=","nyse"] or ["exchange","=","nasdaq"]
— to drop them. (us is still fine when you only need currency consistency, not clean common stock.)- in code
(e.g. JPM-PD, DLR-PJ) and a coupon rate in name, and dominate high-yield screens. The API can't
filter them, so post-filter the results: for a common-stock screen, drop rows whose code contains -.["dividend_yield","<=",0.25] (no real common
stock yields >25%) to discard rows with corrupt data.Common mappings (note: dividend_yield is a fraction — 0.03 = 3%):
["market_capitalization",">=",10000000000]["market_capitalization",">=",2000000000],["market_capitalization","<=",10000000000]["market_capitalization","<=",2000000000]["dividend_yield",">=",0.03],["dividend_yield","<=",0.25] (upper cap drops broken-data OTC/preferred rows)["pe",">",0],["pe","<",15] + --sort pe.asc["sector","=","Technology"]["sector","=","Healthcare"]["exchange","=","nyse"] or ["exchange","=","nasdaq"] for clean common stock (avoids OTC junk); use ["exchange","=","us"] only when you need currency consistency, not a clean instrument set[field,"=",value] triplesExample: "high dividend large cap (US)" →
--filters '[["dividend_yield",">=",0.03],["dividend_yield","<=",0.25],["market_capitalization",">=",10000000000],["exchange","=","nyse"]]' --sort dividend_yield.desc
(then drop result rows whose code contains - — those are preferred shares, not common stock)
Use the stock-screener skill workflow:
code contains -
(preferred shares) before presenting — the API has no instrument-type filter to do this server-sidePresent:
currency_symbol), P/E, dividend yield, price, 30d change. Show the currency next to any cap/revenue figure; never present a non-USD cap as if it were USD.If criteria are vague, ask for clarification or suggest reasonable defaults.
Include disclaimer: "This is not financial advice. Data is for informational purposes only."
npx claudepluginhub eodhistoricaldata/eodhd-claude-skills --plugin eodhd-apiScreens stocks by fundamental and technical criteria using the EODHD screener API, with enrichment of top results via fundamentals and price data.
Systematic stock screening and investment idea sourcing using quantitative screens, thematic research, and pattern recognition. Use when looking for new long/short ideas.
Generates A-share stock picks and long/short opportunities via quantitative value/growth/quality screens, fund flows, dragon-tiger lists, and market microstructure data. Triggers on '选股','筛选','推荐股票' requests.