Developer Resources
API & Embed Widget
Bring congressional absurdity to your own website
1. Embed Widget
Add interactive bill cards to your website with a simple script tag. The widget automatically fetches bill data and displays a styled card that matches your site.
Basic Usage
Add this script tag where you want the bill card to appear:
<script
src="https://absurdityindex.org/embed.js"
data-bill="real-hr-2617-112"
></script> Options
| Attribute | Required | Description |
|---|---|---|
| data-bill | Yes |
The bill ID (e.g., real-hr-25,
ra-001)
|
| data-theme | No | light (default) or
dark |
Live Preview
Here's what the embed looks like with a real bill:
Light Theme
Dark Theme
And here's a satirical "not-bill":
2. JSON API
Access bill data programmatically with our public JSON API. All endpoints support CORS and return data in a consistent format.
Endpoints
/api/bills.json Returns all bills (real and satirical) with full metadata.
/api/real-bills.json Returns only real bills from Congress with absurdity scores.
/api/not-bills.json Returns only satirical "not-bills" (sensible and absurd types).
/api/stats.json Returns aggregate statistics: totals, average absurdity, bills by category, and more.
Response Format
Bill endpoints return data in this structure:
{
"generated": "2025-01-15T12:00:00.000Z",
"count": 42,
"bills": [
{
"id": "real-hr-25",
"title": "FairTax Act of 2025",
"billNumber": "H.R. 25",
"billType": "real",
"category": "Budget",
"tags": ["taxes", "irs", "fair tax"],
"sponsor": "Rep. Buddy Carter (R-GA)",
"status": "Referred to Committee",
"dateIntroduced": "2025-01-03T00:00:00.000Z",
"summary": "Abolishes the IRS entirely...",
"absurdityIndex": 8,
"congressDotGovUrl": "https://congress.gov/...",
"url": "https://absurdityindex.org/bills/real-hr-25/"
}
]
} Example: Fetch with JavaScript
fetch('https://absurdityindex.org/api/bills.json')
.then(res => res.json())
.then(data => {
console.log(`Found ${data.count} bills`);
// Filter by absurdity score
const veryAbsurd = data.bills.filter(
b => b.absurdityIndex >= 8
);
console.log(`${veryAbsurd.length} bills scored 8+`);
}); Stats Response
The stats endpoint provides aggregate data:
{
"generated": "2025-01-15T12:00:00.000Z",
"totals": {
"all": 42,
"real": 25,
"satirical": 17,
"featured": 5
},
"absurdity": {
"average": 6.8,
"billsWithScore": 25,
"distribution": { "1": 0, "2": 1, ... }
},
"byCategory": {
"Budget": { "total": 8, "real": 5, "satirical": 3 }
},
"topTags": [
{ "tag": "taxes", "count": 12 }
]
} Terms of Use
- - The API is free for personal and non-commercial use. Attribution appreciated but not required.
- - For commercial use or high-volume access, please reach out first. We'd love to hear what you're building.
- - Data is regenerated at build time. For real-time congressional data, use Congress.gov directly.
- - Absurdity scores are editorial opinions, not objective measurements. Use responsibly.
Questions?
Building something with the API? Have a feature request? We'd love to hear from you.
Get in Touch