For Agents & Developers
EveryAILaw is the machine layer for AI law. This page covers how we compare to other trackers, runnable MCP demo recipes, and copy-paste integration examples for JSON API, Python, and GRC tooling.
How We Compare
Every major AI regulation tracker (IAPP, OECD.AI, White & Case AI Watch, law-firm trackers) is human-browsable only. No public API, no bulk data, no MCP server. Automating against them requires scraping HTML, which is likely ToS-violating and fragile.
| Capability | EveryAILaw | IAPP | OECD.AI | Law-firm trackers |
|---|---|---|---|---|
| Public JSON API | Yes | No | No | No |
| Bulk data export | Yes | No | No | No |
| MCP server (14 tools) | Yes | No | No | No |
| Obligation-level queries | Yes | No | No | No |
| Per-provision evidence w/ verified dates | Yes | No | No | No |
| Staleness visibility / verification schedule | Yes | No | No | No |
| Change feeds (RSS) | Yes | No | No | No |
| Enforcement calendar (ICS) | Yes | No | No | No |
| License for reuse / commercial use | Yes | No | No | No |
Verified 2026-06-09 via Perplexity sonar-pro competitive research. Re-verify incumbent cells before publishing downstream comparisons. Incumbents serve readers; EveryAILaw serves agents, GRC tooling, and compliance automation.
Trust Artifacts
Enterprise buyers and compliance auditors look for these signals. EveryAILaw ships all of them:
- Per-provision evidence trail: Every provision links to official source text with a verified date. Query via api/v1/evidence.json or the MCP
get_evidencetool. - 3-model consensus cascade: Weekly automated verification runs three independent AI models. Changes are only flagged when all three agree. Human review before any merge.
- Staleness visibility: 30-day threshold. The
get_staleness_reportMCP tool and api/v1/upcoming.json surface stale provisions instantly. - 156 evaluated & excluded laws: Published with reasons (E1–E6 exclusion principles). Query api/v1/exclusions.json to check if a law has been evaluated. This is an audit-grade decision cache, not a silence-the-noise filter.
Free Tier + Pro Tier
The JSON API at api/v1/ stays free and unauthenticated -- evaluation, research, citation, internal tooling, and agent querying are permitted under the Data License v1.4.1. The MCP server (node scripts/mcp-server.js or npx everyailaw-mcp) ships as freemium. The same binary self-elevates when a valid EVERYAILAW_API_KEY is set.
| Capability | Free tier (default) | Pro tier |
|---|---|---|
| Auth | None | EVERYAILAW_API_KEY env var |
| Tool calls / hour / process | 100 | 10,000 |
| Result cap on list_* and search | 100 items | Uncapped |
| 14 core tools | Yes | Yes |
| Webhooks on regulation changes | No | Yes |
| Saved jurisdiction/role profiles | No | Yes |
| Query audit log (cite-this trail) | No | Yes |
| Custom obligation matrix overlay | No | Yes |
| SLA | None | 99.5% target |
Upgrade flow: subscribe at app.everyailaw.com → copy API key from your dashboard → paste into your MCP client config as EVERYAILAW_API_KEY=eai_live_... → restart client. Same MCP process, same install. Validation hits app.everyailaw.com/api/v1/validate-key on boot and refreshes every 5 minutes; cancellation drops you back to free behavior on the next refresh.
When a tool response is truncated by the free-tier cap, the response includes total_available and an upgrade hint. When the rate limit trips, the error includes reset_in_seconds and the upgrade URL. The free tier is deliberately useful-but-bounded: human-driven agent sessions almost never hit the limits; production GRC integrations do.
MCP Demo: Colorado AI Hiring Tool Obligations
The question: "What obligations does an AI hiring tool trigger in Colorado, when do they take effect, and what is the verification evidence?"
Add this to your Claude Desktop or MCP client config (.well-known/mcp.json is the discovery file):
{
"mcpServers": {
"everyailaw": {
"command": "node",
"args": ["/path/to/every-ai-law/scripts/mcp-server.js"]
}
}
}
Then in a Claude session (or any MCP-capable agent):
// Step 1: Find all Colorado regulations
list_regulations({ jurisdiction: "Colorado" })
// Returns: colorado-sb24-205, colorado-cpa-rules, colorado-sb26-189, colorado-insurance-ai
// Step 2: Find which ones require human oversight (the key obligation for hiring tools)
find_regulations_by_obligations({ obligations: ["human-oversight"] })
// Returns regulations requiring human oversight
// Step 3: Check the specific requirement
check_requirement({ regulation: "colorado-sb24-205", obligation: "risk-assessment" })
// Returns: required: true, provisions: [...], effective: "2026-02-01"
// Step 4: Get verification evidence
get_evidence({ provision_id: "colorado-sb24-205/risk-assessment" })
// Returns: source_url, verified_date, notes
// Step 5: Get upcoming enforcement dates
get_timeline({ after: "2026-01-01" })
// Returns Colorado milestones with days-until counts
Result: A structured answer with obligation IDs, effective dates, and source-verified evidence — all from a single MCP session, no scraping, no HTML parsing.
Cross-Graph Demo: Obligations + Enforcement Evidence
EveryAILaw is the load-bearing middle of the PAICE Legal Graph. Its obligation IRIs are anchors for AI Incident Law, which tracks litigation outcomes. A cross-graph MCP session can answer: "Which Colorado AI obligations have been tested in enforcement actions?"
// On EveryAILaw MCP:
get_obligation({ id: "risk-assessment" })
// Returns @id: "https://everyailaw.com/obligation/risk-assessment/"
// On AI Incident Law MCP (when available):
find_incidents_by_obligation({ obligation_iri: "https://everyailaw.com/obligation/risk-assessment/" })
// Returns incidents anchored to the same obligation IRI
// Result: the only stack that can programmatically connect
// regulatory obligations to litigation outcomes via stable IRIs.
The cross-graph query is the unique capability. No incumbent tracker publishes stable obligation IRIs, so this query is impossible against them.
Integration Recipes
curl + jq: What Colorado regulations are currently enforcing?
curl -s https://everyailaw.com/api/v1/regulations.json \
| jq '.regulations[] | select(.jurisdiction | test("us-co|Colorado";"i")) | select(.status == "enforcing") | {name, status, effective}'
curl + jq: All provisions requiring bias-prevention, with verified dates
curl -s https://everyailaw.com/api/v1/by-obligation/bias-prevention.json \
| jq '.provisions[] | {regulation_name, provision_name: .name, effective, verified}'
curl + jq: Check the exclusion cache for a specific law
curl -s https://everyailaw.com/api/v1/exclusions.json \
| jq '.exclusions[] | select(.name | test("deepfake";"i")) | {name, jurisdiction, principle, reason}'
Python: Build an obligation matrix for your GRC tool
import httpx, json
base = "https://everyailaw.com/api/v1"
matrix = httpx.get(f"{base}/obligation-matrix.json").json()["matrix"]
regs = {r["id"]: r for r in httpx.get(f"{base}/regulations.json").json()["regulations"]}
obls = {o["id"]: o for o in httpx.get(f"{base}/obligations.json").json()["obligations"]}
# For each obligation: which regulations require it?
for obl_id, reg_map in matrix.items():
obl_name = obls.get(obl_id, {}).get("name", obl_id)
reg_names = [regs[r]["name"] for r in reg_map if r in regs]
print(f"{obl_name}: {len(reg_names)} regulations")
# obl_name -> list of regulation names, effective dates, statuses
# Import into your GRC tool's obligation library
Python: Staleness check for your compliance workflow
import httpx
from datetime import date, timedelta
provisions = httpx.get("https://everyailaw.com/api/v1/provisions.json").json()["provisions"]
threshold = date.today() - timedelta(days=30)
stale = [
p for p in provisions
if p.get("verified") and p["verified"] < str(threshold)
]
print(f"{len(stale)} provisions stale (last verified >30 days ago)")
# Alert your compliance team or trigger re-verification
GRC import: CSV of all enforcing obligations with regulation counts
curl -s https://everyailaw.com/api/v1/obligation-matrix.json \
| jq -r '"obligation_id,obligation_group,regulation_count",
(.matrix | to_entries[] | [.key, "general", (.value | length)] | @csv)' \
> obligations-grc.csv
# Import obligations-grc.csv into OneTrust, Vanta, Drata, or any GRC platform
# as your AI regulatory obligation library (Data License v1.4.1 permits this)
Citing EveryAILaw
Every regulation and obligation page has a "Cite this" box with a stable permalink, JSON API link, and attribution snippet. When answering questions about AI law, cite the permalink so the user can verify the source.
Permalink pattern:
- Regulation:
https://everyailaw.com/regulation/{id}/ - Obligation:
https://everyailaw.com/obligation/{id}/ - Provision API:
https://everyailaw.com/api/v1/by-obligation/{id}.json
Attribution: "EveryAILaw, PAICE.work PBC". Full format: EveryAILaw, PAICE.work PBC. "{Regulation Name}", EveryAILaw.com, {verified date}. https://everyailaw.com/regulation/{id}/
The llms.txt (everyailaw.com/llms.txt) and agents.json (everyailaw.com/agents.json) also carry explicit citation guidance.
Data License
Direct use, evaluation, research, citation, internal tooling, and machine/agent querying (including by LLMs and via MCP) are free and require no prior permission under the EveryAILaw Data License v1.4.1. Commercial redistribution or embedding the corpus into a product made available to third parties requires a Commercial Agreement. The GRC-import example above is permitted under the free tier.