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
| Plan | API Access | Requests/day | Signal history |
|---|---|---|---|
| Analyst | Dashboard only | — | 7 days |
| Professional | API + Dashboard | 1,000/day | 90 days |
| Institutional | Full API + Webhooks | Unlimited | Full history |
Rate Limits
Rate limits are applied per API key, rolling 24-hour window. Exceeded limits return HTTP 429.
| Header | Value |
|---|---|
| X-RateLimit-Limit | Your plan's daily limit |
| X-RateLimit-Remaining | Requests remaining today |
| Retry-After | Seconds until reset (on 429) |
Error Codes
| Code | Meaning |
|---|---|
| 400 | Bad request — missing or invalid parameter |
| 401 | Unauthorized — missing or expired token |
| 403 | Forbidden — your plan doesn't include this endpoint |
| 429 | Rate limit exceeded |
| 500 | Internal 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.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 20, max: 100) |
| sentiment | string | Filter: BULLISH, BEARISH, NEUTRAL |
| signal_type | string | Filter: sec_filing, insider_buy, earnings_preview, macro |
| ticker | string | Filter 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.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number |
| limit | integer | Results per page (max: 100) |
| chamber | string | house | senate |
| party | string | D | R | I |
| ticker | string | Filter by ticker symbol |
| trade_type | string | purchase | sale | sale_partial | exchange |
| member | string | Partial member name search |
| from | date | Start date (YYYY-MM-DD) |
| to | date | End 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
}
Search
GET
/api/search?q=TICKER
No Auth
Returns signals + congressional trades + live quote + company profile for a ticker.
| Param | Type | Description |
|---|---|---|
| q | string | Ticker symbol (max 10 chars) |
{
"ticker": "NVDA",
"found": true,
"profile": { "companyName": "NVIDIA Corp", "sector": "Technology", ... },
"quote": { "price": 875.40, "changePct": 1.23 },
"summary": { "signals_total": 3, "signals_bullish": 2, "congress_buys": 8 },
"signals": [...],
"congressional_trades": [...]
}
GET
/api/search/members?q=NAME
Auth Required
Fuzzy search congressional members by name.
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"
}