fintel-data skill
✓ VerifiedQuery institutional market intelligence including short interest, borrow rates, insider transactions, and 13F ownership data via REST API or MCP.
- GitHub stars
- 3,526
- Files
- 3
- Last commit
- Nov 4, 2026
- License
- MIT
- Allowed tools
- —
What does the fintel-data skill do?
fintel-data queries institutional market intelligence including short interest, borrow rates, insider transactions, and 13F ownership data via REST API or MCP.
Summary generated from the skill's SKILL.md.
About the fintel-data skill
Financial analysts and traders can access institutional-grade market intelligence by querying Fintel datasets through this skill. It provides specialized data that many other providers lack, including short interest, borrow rates, short volume, fails-to-deliver, 13F institutional ownership, and insider transactions derived from SEC Form 3, 4, and 5.
An agent should load this skill when a user asks about market sentiment, ownership structures, or specific security identifiers like CUSIP, ISIN, or FIGI. The skill operates as a read-only interface using GET endpoints to retrieve JSON data. It can be used via direct REST API calls using curl or through an MCP-native connection for tool auto-discovery.
Users must provide a FINTEL_API_KEY via environment variables or a local .env file to authenticate requests. The skill handles security resolution by mapping tickers to country codes, such as us/AAPL, and can retrieve diverse information ranging from analyst price targets and earnings calendars to dividend history and EOD price data.
What an agent can do with it
- 1Analyze short squeeze potentialRetrieve short interest, days to cover, and borrow rates to evaluate market conditions.
- 2Track institutional ownership changesIdentify which institutions own a specific stock using 13F filing data.
- 3Monitor insider trading activityCheck for recent buying or selling actions by company insiders via SEC filings.
- 4Research analyst sentimentAccess aggregated price targets and buy/sell ratings for a specific security.
Written from the skill's SKILL.md. Every use case is checked against a quote from it.
How to install the fintel-data skill
Each command copies the skill folder into the client's skills directory. Restart the client or start a new session to load it.Install the fintel-data skill in Plugin
/plugin marketplace add himself65/finance-skills /plugin install finance-data-providers@finance-skills
Install the fintel-data skill in Claude Code
~/.claude/skills/fintel-data/SKILL.md
$ npx degit himself65/finance-skills/plugins/data-providers/skills/fintel-data ~/.claude/skills/fintel-dataInstall the fintel-data skill in Claude Code (project)
.claude/skills/fintel-data/SKILL.md
$ npx degit himself65/finance-skills/plugins/data-providers/skills/fintel-data .claude/skills/fintel-dataInstall the fintel-data skill in Codex
~/.agents/skills/fintel-data/SKILL.md
$ npx degit himself65/finance-skills/plugins/data-providers/skills/fintel-data ~/.agents/skills/fintel-dataInstall the fintel-data skill in Gemini CLI
~/.gemini/skills/fintel-data/SKILL.md
$ npx degit himself65/finance-skills/plugins/data-providers/skills/fintel-data ~/.gemini/skills/fintel-dataInstall the fintel-data skill in Claude.ai
npx degit himself65/finance-skills/plugins/data-providers/skills/fintel-data fintel-data && zip -r fintel-data.zip fintel-data # claude.ai → Customize → Skills → + → Create skill → Upload a skill → fintel-data.zip
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the scripts before you let an agent run them. How checks work
- Source repository linked and reachablehimself65/finance-skills/plugins/data-providers/skills/fintel-data is public and reachablegithub.com/himself65/finance-skills/tree/HEAD/plugins/data-p ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit 2026-11-04github.com/himself65/finance-skills/commits ↗Pass
- No download-and-run or credential theft in scriptsNo scripts in the skill folderPass
- No hidden instructions in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/himself65/finance-skills/blob/HEAD/plugins/data-p ↗Pass
- Pre-approved tools are scopedNo pre-approved tools; the agent asks before using onegithub.com/himself65/finance-skills/blob/HEAD/plugins/data-p ↗Pass
SKILL.md
View on GitHubFintel 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.
Files in this skill
3fintel-data skill questions
How do I install the fintel-data skill in Claude Code?
Run npx degit himself65/finance-skills/plugins/data-providers/skills/fintel-data ~/.claude/skills/fintel-data. Claude Code loads skills from ~/.claude/skills (all projects) or .claude/skills (one project) and uses a skill when its description matches the task.
Which clients can use the fintel-data skill?
Any client that reads the Agent Skills format: Claude Code, Codex, Gemini CLI and claude.ai (upload as a ZIP). Scripts in the skill run only where the client allows code execution.
What kind of market data does Fintel provide?
Fintel provides institutional-grade data such as short interest, borrow rates, short volume, fails-to-deliver, 13F institutional ownership, and insider transactions.
Is the Fintel skill capable of making changes to my account or stock lists?
No, this skill is read-only and only supports GET endpoints. It should not be used to call write endpoints like creating or deleting stock lists.
How can I resolve a security if I only have a company name or CUSIP?
You can use the securities search endpoint with a query or use the exact identifier lookup endpoint for CUSIP, ISIN, ticker, or ID.