Api Endpoint

2s

Search individual US Congress member stock trades, parsed from STOCK Act Periodic Transaction Reports into clean rows. Filter by member name (q, e.g. "Pelosi"), ticker (e.g. NVDA), transaction type (purchase | sale | exchange | partial_sale), party (D | R | I), 2-letter state, chamber, or transaction-date range (dateFrom/dateTo). Each trade returns the member + party + state/district, owner (self/spouse/joint/dependent), ticker + asset description, buy/sell, the disclosed dollar RANGE (amountMin/amountMax — disclosures are ranges, not exact), the transaction date, the disclosure date, days-to-disclose (compliance lag), and a link to the source filing PDF. The envelope total is the full count matching your filter — so ticker=NVDA&type=purchase counts who bought NVIDIA. Amounts are ranges by law; trades are disclosed up to 45 days after they happen (current-to-the-filing). Coverage: US House + Senate e-filed PTRs; scanned/handwritten reports are parsed separately. Data: US House Clerk / US Senate eFD (public domain). Cross-ref /api/gov/congress-filings for the raw filing index.

Open interactive test console

Offering

Provider
2s.io
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Legal And Compliance
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://2s.io/api/gov/congress-trades
MIME type
application/json
First seen
2026-10-16T01:54:06.400Z
Last seen
Tags
public-records, identifiers, AI-agents, us-gov-data, X402, upto-billing, ai-gateway, agent-infrastructure

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.003 USDC
Atomic price: 3000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.003 USDC
Atomic price: 3000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "3000",
    "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "3000",
    "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn"
  }
]

Observed health

Status
Healthy
Latest latency
121 ms
Average latency
232 ms
HTTP status
402
Last checked
Reachability
100% over 11 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "const": "http"
    },
    "method": {
      "const": "GET"
    },
    "queryParams": {
      "properties": {
        "q": {
          "type": "string",
          "description": "Member name substring (e.g. \"Pelosi\")."
        },
        "ticker": {
          "type": "string",
          "description": "Stock symbol (e.g. NVDA)."
        },
        "type": {
          "type": "string",
          "description": "purchase | sale | exchange | partial_sale."
        },
        "chamber": {
          "type": "string",
          "description": "house | senate (both covered)."
        },
        "party": {
          "type": "string",
          "description": "D | R | I (or Democrat/Republican/Independent)."
        },
        "state": {
          "type": "string",
          "description": "2-letter state."
        },
        "dateFrom": {
          "type": "string",
          "description": "Transaction date >= YYYY-MM-DD."
        },
        "dateTo": {
          "type": "string",
          "description": "Transaction date <= YYYY-MM-DD."
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "description": "Max rows (default 25)."
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        }
      }
    }
  },
  "required": [
    "type",
    "method",
    "queryParams"
  ]
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "const": "http"
        },
        "method": {
          "const": "GET"
        },
        "queryParams": {
          "properties": {
            "q": {
              "type": "string",
              "description": "Member name substring (e.g. \"Pelosi\")."
            },
            "ticker": {
              "type": "string",
              "description": "Stock symbol (e.g. NVDA)."
            },
            "type": {
              "type": "string",
              "description": "purchase | sale | exchange | partial_sale."
            },
            "chamber": {
              "type": "string",
              "description": "house | senate (both covered)."
            },
            "party": {
              "type": "string",
              "description": "D | R | I (or Democrat/Republican/Independent)."
            },
            "state": {
              "type": "string",
              "description": "2-letter state."
            },
            "dateFrom": {
              "type": "string",
              "description": "Transaction date >= YYYY-MM-DD."
            },
            "dateTo": {
              "type": "string",
              "description": "Transaction date <= YYYY-MM-DD."
            },
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "description": "Max rows (default 25)."
            },
            "offset": {
              "type": "integer",
              "minimum": 0
            }
          }
        }
      },
      "required": [
        "type",
        "method",
        "queryParams"
      ]
    }
  },
  "required": [
    "input"
  ]
}