LegisNode
State & Federal Legislation Tracker API
Machine-readable congressional bills, state legislature updates, and voting records.
[
{
"id": "legis-0000",
"source": "example",
"source_id": "legis-0000",
"type": "legis",
"discovered_at": "1970-01-01T00:00:00.000Z",
"payload": {
"status": "Passed Senate",
"committee": "House Armed Services"
}
},
{
"id": "legis-0001",
"source": "example",
"source_id": "legis-0001",
"type": "legis",
"discovered_at": "1969-12-31T18:00:00.000Z",
"payload": {
"status": "Passed House",
"committee": "House Armed Services"
}
},
{
"id": "legis-0002",
"source": "example",
"source_id": "legis-0002",
"type": "legis",
"discovered_at": "1969-12-31T22:00:00.000Z",
"payload": {
"status": "Passed House",
"committee": "House Judiciary"
}
}
]titleBill Number / Namepayload.statusCurrent Statuspayload.committeeAssigned Committee
Wire LegisNode into your agent — one snippet, seven frameworks.
curl https://www.aiagentnode.io/api/v1/nodes/legis/records?limit=10 \ -H "Authorization: Bearer $AIAGENTNODE_KEY"
LegisNode powers…
Pipe LegisNode into your LangChain / Vercel AI / Lovable agent for real-time decisions.
Schema-stable JSON drops straight into your vector store with predictable embeddings and no parsing.
Webhook into Slack, Notion, Linear, or your own ops console. Same auth across every node.
Sourced from primary registries. Normalized for agents.
- Congress.gov bulk data
- GovInfo
- OpenStates (all 50 state legislatures)
- Federal Register
We ingest from the upstream of record — never from secondary scrapers — so every legisnode record in your agent traces back to an authoritative publisher.
- Continuous polling of upstream sources with adaptive backoff
- Deduplication via stable source_id + content fingerprint
- LLM-friendly normalization into a single JSON envelope
- Schema versioning so existing agents never break
- HMAC-signed webhooks for guaranteed-delivery push
Stop maintaining brittle scrapers. Ship the agent.
Most teams spend a quarter rebuilding what LegisNode ships in a single API key. Here's the honest tradeoff.
| Dimension | LegisNode | DIY scraper |
|---|---|---|
| Setup time | One API key, one endpoint | Weeks of scraper engineering |
| Schema stability | Versioned JSON contract | Breaks every upstream redesign |
| Freshness | <60s from publication | Cron job, often hours stale |
| Delivery | Polling + HMAC webhooks | Build your own queue |
| LLM readiness | Token-optimized payload | Manual cleaning per record |
| Compliance | Source TOS handled upstream | Your legal exposure |
From signup to first LegisNode record in under 5 minutes.
- 1. Generate an API key
Pick a tier, complete checkout, and a Bearer token is minted instantly — no email handoff.
- 2. Call /v1/legislation
Send an authenticated GET to receive a paginated JSON envelope. Cursor in, more records out.
- 3. Subscribe to webhooks
Register an HTTPS endpoint to receive HMAC-signed pushes within seconds of upstream publication.
LegisNode questions, answered.
How fresh is the LegisNode API data?+
New records appear in /v1/legislation within ~60 seconds of being published upstream. The full dataset is polled every 5 minutes and pushed to webhook subscribers in the same window.
What format does LegisNode return?+
Every endpoint returns a stable JSON envelope: { id, source, source_id, type, discovered_at, payload }. The payload mirrors the source's natural shape, normalized and token-optimized for direct ingestion into LLMs, vector stores, and RAG pipelines.
Is LegisNode suitable for AI agents and RAG pipelines?+
Yes — that is the primary design goal. Field keys are stable, units are normalized, free text is cleaned, and total token weight per record is minimized so you can drop responses directly into LangChain, Vercel AI SDK, OpenAI tools, MCP, n8n, or Lovable agents without preprocessing.
How is authentication handled?+
A single API key (Bearer token) works across every node. Webhook payloads are HMAC-SHA256 signed with your tenant secret so you can verify provenance before acting on a record.
Can I get historical LegisNode data for backtesting?+
Pro tiers include a rolling 24-month backfill via the same endpoint with ?since=<ISO date>. Scale and Agency tiers can request full historical exports as compressed JSONL.
What is the rate limit?+
Curator: 60 req/min. Pro: 600 req/min. Scale: 6,000 req/min. Agency: 60,000 req/min. Enterprise: negotiated. All tiers support paginated cursors so you never need to spike for a backfill.
Why not just scrape legisnode sources directly?+
Upstream sources change formats, throttle aggressively, and break silently. We absorb that fragility, version the schema, sign deliveries, and republish a single contract so your agent stays online when the source moves.
Five tiers. One API surface.
- 10,000 API requests / month
- 5 req/sec burst
- No webhooks · poll only
- 100,000 API requests / month
- 20 req/sec burst
- Webhooks (10 endpoints)
- 1,000,000 API requests / month
- 100 req/sec burst
- Webhooks + GraphQL endpoint
- 10,000,000 API requests / month
- 500 req/sec burst
- Webhooks + GraphQL + MCP server
- Unmetered API access
- Private endpoints + dedicated edge
- Multi-region data residency