HedgeFriend
API

One bearer token. Predictable JSON. Visible rate limits.

Everything you need to wire up an HTTP client. Interactive OpenAPI docs ship at /docs on the API host once you have a key.

Authentication

Every request requires an Authorization: Bearer <api_key> header. Keys are issued on signup and shown once — store them in a secret manager. Lost a key? Rotate it via POST /v1/auth/rotate-key.

Authenticated request
bash
curl -s \
  -H "Authorization: Bearer hf_live_..." \
  'https://api.hedgefriend.dev/v1/sec/filings/AAPL?filing_type=10-K'

Rate limits

Per-key limits are enforced per UTC day. Three headers come back on every response — read them, don't guess.

X-RateLimit-Limit
Daily request budget for this key
X-RateLimit-Remaining
Requests left in the current UTC day
X-RateLimit-Reset
ISO-8601 timestamp when the budget resets

When the budget is exhausted, the API responds with 429 and a Retry-After header.

Errors

Errors are JSON. Codes are stable strings — they will not change wording across versions.

401 Unauthorized
json
{
  "error": "invalid_api_key",
  "message": "API key is missing, malformed, or revoked."
}
429 Too Many Requests
json
{
  "error": "rate_limited",
  "message": "Daily request budget exhausted.",
  "retry_after_seconds": 3214
}

Endpoint reference

Path parameters in {braces}. Query filters are documented inline in the OpenAPI schema served from the API.

Account

Issue and manage API keys. Track daily usage.

POST/v1/auth/registerCreate account, return API key
POST/v1/auth/rotate-keyRevoke old key, issue a new one
GET/v1/account/usageRequests used today / this month

Market

Symbol lookup, plus SEC settlement fails by ticker.

GET/v1/market/searchSymbol lookup by name or ticker
GET/v1/market/fails-to-deliver/{symbol}Settlement fails history for a ticker
GET/v1/market/fails-to-deliverLargest fails-to-deliver across all securities

SEC

Filings and their 8-K item codes, insider trades and proposed sales, activist stakes, institutional holdings, XBRL financials.

GET/v1/sec/filings/{symbol}10-K, 10-Q, 8-K and other filings
GET/v1/sec/8k-items8-K material-event items across all issuers
GET/v1/sec/8k-items/{symbol}8-K material-event items for a ticker
GET/v1/sec/8k-items/{symbol}/summaryWhich 8-K items a company files most
GET/v1/sec/insider-trades/{symbol}Form 4 insider transactions
GET/v1/sec/insider-trades/{symbol}/summaryNet buys vs sales over a window
GET/v1/sec/form-144Form 144 notices of proposed insider sale
GET/v1/sec/form-144/{symbol}Proposed insider sales for a ticker
GET/v1/sec/institutional/{symbol}13-F institutional holdings
GET/v1/sec/13f/institutionsTracked 13-F filers + portfolio AUM
GET/v1/sec/13f/holdingsRaw CUSIP-level 13-F positions
GET/v1/sec/13dSchedule 13D / 13G beneficial-ownership filings
GET/v1/sec/13d/{symbol}Activist and 5%+ stakes in a ticker
GET/v1/sec/financials/{symbol}XBRL structured financials
GET/v1/sec/reg-aForm 1-A Reg-A+ offerings
GET/v1/sec/reg-a/{symbol}Reg-A+ offerings for a ticker
GET/v1/sec/compensation/{symbol}DEF 14A CEO compensation history
GET/v1/sec/late-filingsNT 10-K / NT 10-Q late-filing notifications
GET/v1/sec/late-filings/{symbol}Late-filing notifications for a ticker

Alternative data

Positioning, disasters, attention, regulations, congress, lobbying, layoffs, hiring, immigration filings, ETF trades, TV picks.

GET/v1/alt/cftc/contractsList tracked futures contracts
GET/v1/alt/cftc/positions/{code}COT positioning time series
GET/v1/alt/cftc/positions/{code}/netNet long-short + net % of OI
GET/v1/alt/weather/eventsFEMA disaster declarations
GET/v1/alt/wiki/{symbol}Wikipedia daily pageviews
GET/v1/alt/regulationsFederal Register rules & proposed rules
GET/v1/alt/regulations/{symbol}Federal Register docs by ticker
GET/v1/alt/congress/tradesCongressional STOCK Act disclosures
GET/v1/alt/congress/trades/{symbol}Congress trades for a ticker
GET/v1/alt/congress/trades/{symbol}/summaryPer-member buy/sell rollup
GET/v1/alt/lobbyingLDA lobbying filings (filter by ticker / client / issue)
GET/v1/alt/lobbying/{symbol}Lobbying filings for a ticker
GET/v1/alt/lobbying/{symbol}/summaryLobbying spend per reporting period
GET/v1/alt/warn/noticesWARN Act mass-layoff notices
GET/v1/alt/warn/notices/{symbol}WARN notices for a ticker
GET/v1/alt/hiring/{symbol}Hiring velocity by department
GET/v1/alt/h1bH-1B / LCA aggregates by employer × occupation
GET/v1/alt/h1b/{symbol}H-1B / LCA aggregates for a ticker
GET/v1/alt/ports/throughputMonthly TEU + border-crossing throughput
GET/v1/alt/ark/tradesARK Invest daily ETF trades, all tickers
GET/v1/alt/ark/trades/{symbol}ARK buys and sells in one ticker
GET/v1/alt/ark/summary/{symbol}ARK net activity and share count over time
GET/v1/alt/cnbc/mad-moneyMad Money picks, newest first
GET/v1/alt/cnbc/mad-money/{symbol}Every Cramer call on a ticker

GitHub

Repository activity for each company's tracked open-source repos.

GET/v1/github/{symbol}/reposTracked repos for a ticker
GET/v1/github/{symbol}/metricsStars, forks, issues over time
GET/v1/github/{symbol}/commitsWeekly commit activity

Subdomains

Newly observed subdomains under each company's primary domain.

GET/v1/subdomains/{symbol}/subdomainsAll known subdomains
GET/v1/subdomains/{symbol}/subdomains/newRecently discovered only

News

Tagged finance articles and daily sentiment aggregates.

GET/v1/news/ticker/{symbol}Articles mentioning a ticker
GET/v1/news/searchFull-text article search
GET/v1/news/sentiment/{symbol}Daily sentiment time series

Macro

FRED indicators, CBOE volatility surface, US Census economic series, and freight and travel volumes — under one shape.

GET/v1/macro/seriesList tracked series (filter by source: FRED, CBOE, CENSUS)
GET/v1/macro/series/{code}Time series for one indicator
GET/v1/macro/latestLatest observation per series (optional source filter)
GET/v1/macro/reverse-repoNY Fed reverse-repo operations (counterparties, amounts, rate)
GET/v1/macro/rail-carloadsMonthly US rail carloads and intermodal units
GET/v1/macro/tsa-throughputDaily TSA airport passenger throughput

Need an API key?

Free tier is 500 requests/day on every endpoint. No card required.

Get a key →