VertData API

Programmatic access to congressional trades, SEC filing signals, insider activity, and Smart Money intelligence. All responses are JSON. Base URL: https://vertdata.com/api

Authentication

All authenticated endpoints require a Bearer token. You can use either your session JWT (from login) or a generated API key for server-to-server integrations.

Authorization header
Authorization: Bearer YOUR_API_KEY_OR_JWT

Generate API keys from Settings → API Keys. Keys are scoped to your plan's rate limits.

📌 Endpoints marked No Auth are publicly accessible without a key — used for the demo page and public stats.

Plans & Access

PlanAPI AccessRequests/daySignal history
AnalystDashboard only7 days
ProfessionalAPI + Dashboard1,000/day90 days
InstitutionalFull API + WebhooksUnlimitedFull history

Rate Limits

Rate limits are applied per API key, rolling 24-hour window. Exceeded limits return HTTP 429.

HeaderValue
X-RateLimit-LimitYour plan's daily limit
X-RateLimit-RemainingRequests remaining today
Retry-AfterSeconds until reset (on 429)

Error Codes

CodeMeaning
400Bad request — missing or invalid parameter
401Unauthorized — missing or expired token
403Forbidden — your plan doesn't include this endpoint
429Rate limit exceeded
500Internal server error

Signals

Real-time intelligence signals from SEC 8-K filings, Form 4 insider transactions, earnings previews, and macro indicators.

GET /api/signals Auth Required
Returns paginated signals. Supports filtering by sentiment, signal type, and ticker.
ParamTypeDescription
pageintegerPage number (default: 1)
limitintegerResults per page (default: 20, max: 100)
sentimentstringFilter: BULLISH, BEARISH, NEUTRAL
signal_typestringFilter: sec_filing, insider_buy, earnings_preview, macro
tickerstringFilter by ticker symbol
{
  "signals": [
    {
      "id": "uuid",
      "ticker": "AAPL",
      "company_name": "Apple Inc.",
      "signal_type": "sec_filing",
      "filing_type": "8-K",
      "ai_summary": "Apple disclosed a material agreement...",
      "materiality_score": 82,
      "sentiment": "BULLISH",
      "urgent": false,
      "source_url": "https://www.sec.gov/Archives/...",
      "created_at": "2026-03-19T03:00:00Z"
    }
  ],
  "total": 157,
  "page": 1,
  "pages": 8
}

Congressional Trades

Full congressional trade history: 12,140+ trades from 141 members (House + Senate). Updated every 6 hours.

GET /api/congressional-trades Auth Required
Paginated congressional trade records with filtering.
ParamTypeDescription
pageintegerPage number
limitintegerResults per page (max: 100)
chamberstringhouse | senate
partystringD | R | I
tickerstringFilter by ticker symbol
trade_typestringpurchase | sale | sale_partial | exchange
memberstringPartial member name search
fromdateStart date (YYYY-MM-DD)
todateEnd date (YYYY-MM-DD)
{
  "trades": [
    {
      "member_name": "Nancy Pelosi",
      "bioguide_id": "P000197",
      "party": "D",
      "chamber": "house",
      "ticker": "NVDA",
      "trade_type": "purchase",
      "amount_range": "$1,000,001 - $5,000,000",
      "trade_date": "2026-01-15",
      "disclosure_date": "2026-01-30",
      "source": "ptr_pdf_parsed"
    }
  ],
  "total": 12140,
  "page": 1
}

Smart Money Convergence

GET /api/leads/convergence Auth Required
Returns tickers where congressional buys (last 90 days) and recent signals align — your highest-confidence leads.
{
  "leads": [
    {
      "ticker": "AMGN",
      "company_name": "Amgen Inc.",
      "congress_buys": 3,
      "total_signals": 5,
      "congress_members": ["David J. Taylor", "..."]
    }
  ]
}

Watchlist

GET/api/watchlistAuth Required
Get watchlist with enriched live prices, latest signal, and latest congressional activity.
POST/api/watchlistAuth Required
Add a ticker. Body: { "ticker": "AAPL", "company_name": "Apple" }
GET/api/watchlist/:tickerAuth Required
Remove a ticker from the watchlist.

Enrichment

GET /api/enrich/:ticker Auth Required
Returns FMP company profile for a ticker (cached, refreshed periodically). Includes sector, market cap, CEO, description.

Daily Briefings

GET /api/briefings Auth Required
List available daily intelligence briefings.
GET /api/briefings/:date Auth Required
Fetch full HTML content of a briefing by date (YYYY-MM-DD).

Public Stats

GET /api/stats/public No Auth
Live platform-wide metrics. No authentication required.
{
  "congressional_trades": 12140,
  "signals_7d": 157,
  "members_tracked": 141,
  "tickers_tracked": 1438,
  "last_updated": "2026-03-19T03:00:00Z"
}