Authentication

All API requests require a valid API key. Generate one from your dashboard.

Include your API key in the Authorization header as a Bearer token:

Authorization: Bearer vd_sk_...
cURL Example
curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://vertdata.com/api/signals

Signals

Query SEC filings, insider transactions, and other financial intelligence signals.

GET /api/signals

Retrieve paginated signal feed with optional filters.

ParameterTypeDescription
typestringFilter by signal type: sec_filing, insider_buy, insider_sell
tickerstringFilter by ticker symbol (e.g., NVDA)
sentimentstringFilter by sentiment: BULLISH, BEARISH, NEUTRAL
limitintegerResults per page (default: 20, max: 200)
pageintegerPage number (default: 1)
Response Example
{
  "signals": [
    {
      "id": "9f026377-79ba-4f63-8aaa-ed52531356c0",
      "ticker": "NVDA",
      "company_name": "NVIDIA Corporation",
      "signal_type": "sec_filing",
      "filing_type": "8-K",
      "ai_summary": "NVIDIA announced a material agreement...",
      "materiality_score": 8,
      "sentiment": "BULLISH",
      "source_url": "https://www.sec.gov/...",
      "created_at": "2026-03-18T23:40:01.873Z"
    }
  ],
  "total": 847
}
GET /api/signals/ticker/:ticker

Get all signals for a specific ticker symbol.

Example Request
GET https://vertdata.com/api/signals/ticker/NVDA

Congressional Trades

Access STOCK Act disclosures from House and Senate members.

GET /api/congressional-trades

Query congressional stock trades with filters.

ParameterTypeDescription
tickerstringFilter by ticker symbol
memberstringSearch member name
chamberstringhouse or senate
trade_typestringpurchase, sale, sale_partial
daysintegerLast N days (default: 90)
limitintegerResults per page (default: 50, max: 200)
Response Example
{
  "count": 8473,
  "trades": [
    {
      "member_name": "Pelosi, Nancy",
      "chamber": "house",
      "party": "D",
      "ticker": "NVDA",
      "trade_type": "purchase",
      "amount_range": "$250,001 - $500,000",
      "trade_date": "2026-03-10",
      "filing_url": "https://disclosures-clerk.house.gov/..."
    }
  ]
}
GET /api/congressional-trades/summary

Get top members and most-traded tickers (last 90 days).

Watchlist

Manage your personal watchlist of tracked tickers.

GET /api/watchlist

Retrieve all tickers in your watchlist.

POST /api/watchlist

Add a ticker to your watchlist.

Request Body
{
  "ticker": "NVDA",
  "company_name": "NVIDIA Corporation"
}

Macro Data

Access real-time yield curve and FRED economic indicators.

GET /api/signals/macro/yield-curve

Get current US Treasury yield curve data.

Response Example
{
  "yield_curve": {
    "y2": 3.47,
    "y10": 4.19,
    "y30": 4.86,
    "spread_2_10": 0.72,
    "inverted": false
  }
}
GET /api/signals/macro/indicators

Get FRED macro indicators (Fed Funds, CPI, Unemployment, etc.).

Error Handling

VertData uses standard HTTP status codes:

  • 200 OK — Request succeeded
  • 400 Bad Request — Invalid parameters
  • 401 Unauthorized — Invalid or missing API key
  • 403 Forbidden — Subscription required or trial limit reached
  • 429 Too Many Requests — Rate limit exceeded
  • 500 Internal Server Error — Server error
Error Response Example
{
  "error": "Subscription required",
  "message": "Your trial has expired. Please upgrade.",
  "redirect": "/app/billing.html"
}

Rate Limits

API requests are rate-limited by plan:

PlanRate Limit
Analyst (Trial)60 requests/minute
Professional300 requests/minute
Institutional1,000 requests/minute

Rate limit info is included in response headers:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1710812460