$npx -y skills add himself65/finance-skills --skill fintel-dataQuery Fintel (fintel.io) institutional market intelligence via the REST API at https://api.fintel.io/v1 with FINTEL_API_KEY (X-API-KEY header), or the official MCP server at https://mcp.fintel.io/mcp. Read-only data: short interest, borrow rate/fee and shares available to borrow,
| 1 | # Fintel Data Skill |
| 2 | |
| 3 | Fintel ([fintel.io](https://fintel.io)) is an institutional-grade market |
| 4 | intelligence platform. |
| 5 | Its strongest datasets are the ones most other providers lack: **short |
| 6 | interest, borrow rates, short volume, fails-to-deliver, 13F institutional |
| 7 | ownership, and insider transactions**. |
| 8 | |
| 9 | Fintel exposes two surfaces backed by the same data contract: |
| 10 | |
| 11 | | Surface | Endpoint | Auth | Best for | |
| 12 | |---|---|---|---| |
| 13 | | **REST** | `https://api.fintel.io/v1/*` | `X-API-KEY` header | Default — curl from any CLI agent | |
| 14 | | **MCP** | `https://mcp.fintel.io/mcp` | `X-API-KEY` header | MCP-native clients, tool auto-discovery | |
| 15 | |
| 16 | Both require a Fintel API key. **This skill is READ-ONLY** — only call |
| 17 | GET endpoints. The API also exposes write endpoints (create/delete stock |
| 18 | lists, alert subscriptions, teams); do not call them. |
| 19 | |
| 20 | --- |
| 21 | |
| 22 | ## Step 1: Resolve FINTEL_API_KEY |
| 23 | |
| 24 | The skill resolves `FINTEL_API_KEY` in this order: |
| 25 | 1. `FINTEL_API_KEY` environment variable |
| 26 | 2. `FINTEL_API_KEY` in `.env` in the current directory |
| 27 | 3. `FINTEL_API_KEY` in `.env` at the git repo root (so a worktree inherits the key from the main checkout) |
| 28 | |
| 29 | ``` |
| 30 | !`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` |
| 31 | ``` |
| 32 | |
| 33 | Then act on the result: |
| 34 | |
| 35 | - `KEY_FROM_ENV_VAR` — use `$FINTEL_API_KEY` directly in curl calls. |
| 36 | - `KEY_FROM_LOCAL_DOTENV:<path>` / `KEY_FROM_ROOT_DOTENV:<path>` — load once before calling: |
| 37 | ```bash |
| 38 | export FINTEL_API_KEY=$(grep -E "^FINTEL_API_KEY=" <path> | head -1 | cut -d= -f2- | sed 's/^["'\'']//;s/["'\'']$//') |
| 39 | ``` |
| 40 | - `KEY_NOT_SET` — ask the user for their key. Keys come with a Fintel API |
| 41 | plan ([fintel.io](https://fintel.io), docs at |
| 42 | [api.fintel.io/docs](https://api.fintel.io/docs)). They can either |
| 43 | `export FINTEL_API_KEY="..."` or add `FINTEL_API_KEY=...` to `.env` at |
| 44 | the repo root (preferred for worktrees). |
| 45 | |
| 46 | --- |
| 47 | |
| 48 | ## Step 2: Resolve the Security |
| 49 | |
| 50 | Most endpoints are addressed by `{country}/{symbol}` — an ISO country |
| 51 | code plus ticker, e.g. `us/AAPL`. Default to `us` when the user gives |
| 52 | only a ticker. |
| 53 | |
| 54 | If the ticker is ambiguous or the user gives a company name, CUSIP, |
| 55 | ISIN, or FIGI, resolve it first: |
| 56 | |
| 57 | ```bash |
| 58 | # name / ticker / CUSIP / ISIN / FIGI search |
| 59 | curl -s -H "X-API-KEY: $FINTEL_API_KEY" "https://api.fintel.io/v1/securities?query=apple&country=us" |
| 60 | # exact identifier lookup (type: cusip, isin, ticker, id) |
| 61 | curl -s -H "X-API-KEY: $FINTEL_API_KEY" "https://api.fintel.io/v1/identifiers/isin/US0378331005" |
| 62 | ``` |
| 63 | |
| 64 | --- |
| 65 | |
| 66 | ## Step 3: Match the Request to an Endpoint |
| 67 | |
| 68 | | User wants | Endpoint | Notes | |
| 69 | |---|---|---| |
| 70 | | 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 | |
| 71 | | Borrow rate, cost to borrow, shares available | `/v1/securities/{country}/{symbol}/borrow-rate` | Latest securities-lending fee rate, rebate rate, shares available | |
| 72 | | Daily short volume | `/v1/securities/{country}/{symbol}/short-volume` | Trailing year: short, short-exempt, total volume | |
| 73 | | Fails-to-deliver / FTD | `/v1/securities/{country}/{symbol}/fails-to-deliver` | Trailing-year SEC FTD records (US only) | |
| 74 | | Institutional owners / 13F holders | `/v1/securities/{country}/{symbol}/owners` | Current SEC 13F-derived holders | |
| 75 | | Insider transactions / Form 4 | `/v1/securities/{country}/{symbol}/insiders` | SEC Form 3/4/5-derived; `count` param | |
| 76 | | Analyst price targets | `/v1/securities/{country}/{symbol}/price-targets` | High, low, mean, median | |
| 77 | | Analyst buy/hold/sell ratings | `/v1/sec |