Install Fintel Data
Pick your agent. Every command is ready to paste.
npx skills add himself65/finance-skills --skill fintel-dataThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads fintel-data when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the fintel-data skill”. In Codex, type $fintel-data.
Fintel Data Skill
If your host has not already executed the shell probes below (for example, in Codex), run the commands inside the ! wrappers with its shell tool before choosing a setup path. Use the actual output; if shell access is unavailable, report that limitation.
Fintel (fintel.io) is an institutional-grade market intelligence platform. Its strongest datasets are the ones most other providers lack: short interest, borrow rates, short volume, fails-to-deliver, 13F institutional ownership, and insider transactions.
Fintel exposes two surfaces backed by the same data contract:
| Surface | Endpoint | Auth | Best for |
|---|---|---|---|
| REST | https://api.fintel.io/v1/* |
X-API-KEY header |
Default — curl from any CLI agent |
| MCP | https://mcp.fintel.io/mcp |
X-API-KEY header |
MCP-native clients, tool auto-discovery |
Both require a Fintel API key. This skill is read-only — only call GET endpoints. The API also exposes write endpoints (create/delete stock lists, alert subscriptions, teams); do not call them.
Step 1: Resolve FINTEL_API_KEY
The skill resolves FINTEL_API_KEY in this order:
FINTEL_API_KEYenvironment variableFINTEL_API_KEYin.envin the current directoryFINTEL_API_KEYin.envat the git repo root (so a worktree inherits the key from the main checkout)
!`if [ -n "$FINTEL_API_KEY" ]; then echo "KEY_FROM_ENV_VAR"; elif [ -f .env ] && grep -qE "^FINTEL_API_KEY=" .env; then echo "KEY_FROM_LOCAL_DOTENV:$(pwd)/.env"; else GIT_COMMON=$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null); if [ -n "$GIT_COMMON" ]; then ROOT=$(dirname "$GIT_COMMON"); if [ -f "$ROOT/.env" ] && grep -qE "^FINTEL_API_KEY=" "$ROOT/.env"; then echo "KEY_FROM_ROOT_DOTENV:$ROOT/.env"; else echo "KEY_NOT_SET"; fi; else echo "KEY_NOT_SET"; fi; fi`
Then act on the result:
KEY_FROM_ENV_VAR— use$FINTEL_API_KEYdirectly in curl calls.KEY_FROM_LOCAL_DOTENV:<path>/KEY_FROM_ROOT_DOTENV:<path>— load once before calling:export FINTEL_API_KEY=$(grep -E "^FINTEL_API_KEY=" <path> | head -1 | cut -d= -f2- | sed 's/^["'\'']//;s/["'\'']$//')KEY_NOT_SET— ask the user for their key. Keys come with a Fintel API plan (fintel.io, docs at api.fintel.io/docs). They can eitherexport FINTEL_API_KEY="..."or addFINTEL_API_KEY=...to.envat the repo root (preferred for worktrees).
Step 2: Resolve the Security
Most endpoints are addressed by {country}/{symbol} — an ISO country
code plus ticker, e.g. us/AAPL. Default to us when the user gives
only a ticker.
If the ticker is ambiguous or the user gives a company name, CUSIP, ISIN, or FIGI, resolve it first:
# name / ticker / CUSIP / ISIN / FIGI search
curl -s -H "X-API-KEY: $FINTEL_API_KEY" "https://api.fintel.io/v1/securities?query=apple&country=us"
# exact identifier lookup (type: cusip, isin, ticker, id)
curl -s -H "X-API-KEY: $FINTEL_API_KEY" "https://api.fintel.io/v1/identifiers/isin/US0378331005"
Step 3: Match the Request to an Endpoint
| User wants | Endpoint | Notes |
|---|---|---|
| Short interest, days to cover | /v1/securities/{country}/{symbol}/short-interest |
Trailing year, NYSE/NASDAQ-reported. Limited availability — must be enabled per account; 403 means not entitled |
| Borrow rate, cost to borrow, shares available | /v1/securities/{country}/{symbol}/borrow-rate |
Latest securities-lending fee rate, rebate rate, shares available |
| Daily short volume | /v1/securities/{country}/{symbol}/short-volume |
Trailing year: short, short-exempt, total volume |
| Fails-to-deliver / FTD | /v1/securities/{country}/{symbol}/fails-to-deliver |
Trailing-year SEC FTD records (US only) |
| Institutional owners / 13F holders | /v1/securities/{country}/{symbol}/owners |
Current SEC 13F-derived holders |
| Insider transactions / Form 4 | /v1/securities/{country}/{symbol}/insiders |
SEC Form 3/4/5-derived; count param |
| Analyst price targets | /v1/securities/{country}/{symbol}/price-targets |
High, low, mean, median |
| Analyst buy/hold/sell ratings | /v1/securities/{country}/{symbol}/analyst-ratings |
Aggregated recommendations |
| Revenue / EPS forecasts | /v1/securities/{country}/{symbol}/forecast |
Aggregated analyst estimates |
| EOD price history | /v1/securities/{country}/{symbol}/eod |
period: 1m, 3m, 6m, 1y (default), 2y, 3y, 5y, all |
| Latest price + derived stats | /v1/securities/{country}/{symbol}/last-price |
52w high/low, WTD/MTD/YTD change; falls back to EOD close with meta.warnings=["quote_stale"] |
| Dividend history | /v1/securities/{country}/{symbol}/dividends |
|
| Earnings history and surprises | /v1/securities/{country}/{symbol}/earnings |
|
| Upcoming earnings (one stock / market-wide) | /v1/securities/{country}/{symbol}/calendar/earnings or /v1/calendar/earnings |
from/to ISO dates, default today +7d, max 90d window |
| Upcoming dividends (one stock / market-wide) | /v1/securities/{country}/{symbol}/calendar/dividends or /v1/calendar/dividends |
Same window rules |
| A specific fundamental metric | /v1/securities/{country}/{symbol}/data-points/{key} |
Discover keys via /v1/data-definitions?query=... |
| Top/bottom ranked stocks | /v1/leaderboards then /v1/leaderboards/{key}/entries |
503 not_available means retry later; meta.status="beta" means stub data |
| Security profile, listings, identifier history | /v1/securities/{country}/{symbol} |
|
| User's watchlists | /v1/stock-lists, /v1/stock-lists/{id}/items |
Also /insiders, /owners, /filings per list |
| User's alerts | /v1/alerts, /v1/alert-messages |
|
| Account / entitlements | /v1/account |
Full parameter details, country/exchange discovery endpoints, and more
curl examples: read references/api-reference.md.
Step 4: Call the API
curl -s -H "X-API-KEY: $FINTEL_API_KEY" \
"https://api.fintel.io/v1/securities/us/AAPL/short-volume" | python3 -m json.tool
- Success responses are JSON; some carry a
metaobject (warnings, freshness, status). Surfacemeta.warningsto the user when present. - Errors return
{"error": {"code": "...", "message": "..."}}— e.g.unauthorized(bad/missing key),403(dataset not enabled for the account, common for short-interest),503 not_available(ranking service down — retry later, don't treat as empty data). - Usage is metered per account — batch thoughtfully; don't poll.
Step 5: MCP Alternative (Optional)
For MCP-native setups, the same tools are discoverable from the official
server (tool names like fintel.get_short_interest,
fintel.get_security_owners — REST parity, same entitlements):
claude mcp add --transport http fintel https://mcp.fintel.io/mcp --header "X-API-KEY: your_key_here"
Prefer REST via curl when shell access is available — it needs no setup beyond the key. Use MCP when the user explicitly asks for it or shell access is restricted (note: neither works on Claude.ai's sandbox).
Step 6: Respond to the User
- Format numbers cleanly: prices to 2 decimals, percentages to 1-2 decimals, share counts with commas or abbreviations (2.3M, 1.1B).
- For short data: contextualize — short interest as % of float, days to cover, borrow fee trend direction. High borrow fee + falling shares available is the classic squeeze setup; present the data, not a prediction.
- For ownership/insiders: use tables (holder, shares, change, date). Distinguish buys from sells and option exercises in Form 4 data.
- Note the data source: "Fintel" with dataset provenance (SEC 13F, Form 3/4/5, NYSE/NASDAQ short reports) when relevant.
- Never turn the data into a trading recommendation, price target, or squeeze call — present facts and let the user draw conclusions.
Reference Files
references/api-reference.md— full REST endpoint reference: all GET endpoints with parameters, defaults, limits, error semantics, MCP tool name mapping, and curl examples.
Tips for Fintel Data
- • Start a fresh session after installing so your agent picks up the new skill.
- • It bundles reference files. The agent reads them only when needed, so they cost no context until then.
- • It is part of a pack with 26 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Fintel Data
What does the Fintel Data skill do?
Query Fintel (fintel.io) institutional market data through its REST API or official MCP server. Use this skill whenever the user mentions Fintel or asks about short interest, short interest ratio or days to cover, short squeeze data, borrow rate or cost to borrow, shares available to borrow, daily short volume, fails-to-deliver (FTD), 13F institutional owners ("who owns X"), insider buying or selling from SEC Form 3/
How do I install Fintel Data?
Run "npx skills add himself65/finance-skills --skill fintel-data" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Fintel Data work in Cursor and Codex?
Yes. Fintel Data uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Fintel Data free?
Fintel Data is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.
Who made Fintel Data?
Fintel Data is published by himself65 in the himself65/finance-skills repository, together with 25 other skills.


