Cited legal rules, as an API
Legal answers with the law attached.
Ask for Oregon leases. Your product holds Oregon’s rules and the federal rules that apply, each with its citation and the date it was last checked, and hears the day one of them changes.
A model fine-tuned last year asserts last year’s law with this year’s confidence. A grounded model reads the current rule, and its citation, when your user asks.Why Pandect exists
Why ground a model
Law changes. Your answers should too.
New York cut its consumer-debt statute of limitations in half. A model trained before that still quotes the old one.

Read at Request Time
California capped security deposits at one month in mid-2024. A federal court vacated click-to-cancel in 2025. A grounded model reads the rule as it stands today.
Reviewed by Pull Request
Every rule changes only by pull request and carries lastVerified, verifiedBy and an append-only changelog. The JSON is the easy part; what you pay for is the review behind it, with a date on every rule.
Cited in Every Response
Every response carries its citations, its verification status and the not-legal-advice disclaimer, so your user sees all three. When a rule needs re-verification, your product knows.
One call
Every rule that applies, in one request.
One call returns a bundle: the state’s rules for one subject and the federal rules beside them. A helper folds them into your system prompt with their citations, so your model answers from the source and names it. A hash on every bundle tells you when to refresh.
import { PandectClient, groundingContext } from "@pandect/sdk";
const pandect = new PandectClient({
apiKey: process.env.PANDECT_API_KEY!,
});
// State rules + applicable federal rules,
// hashed for caching.
const bundle = await pandect.getBundle(
"US-OR",
"lease"
);
// Ground your model. Citations flow through.
const system = [
"You analyze residential leases.",
groundingContext(bundle),
].join("\n\n");
// Poll daily. Never miss a law change.
const changed = await pandect.changesSince(
"2026-06-01"
);
Coverage
23 domains, 67 jurisdictions, every gap shown.
From residential leases and debt collection to special education, export controls and VA benefits. The map is drawn from the registry, so it shows what the API serves today. The empty cells are the roadmap.
What “verified” means here
Every verified rule carries its signature.
A rule reaches verified after four checks. Its text is anchored to the exact sentence of the government source. A daily job reads that source again. A model that never sees the stored rule derives it from the source alone. A named operator signs the run. Tier-2 domains add review by qualified professionals.
The pipeline has been revised since the first rules were signed, so the counts below show every standard, whether or not it flatters us. A rule with no pipeline stamp is unsigned. The full partition is in the signature-standard disclosure.

Plans
Free for legal aid, per bundle for products.
Internal
Our own products, which run on these rules every day.
Community
For legal aid organizations and nonprofits, with attribution. Every gap you report shapes what we cover next.
Commercial
For fintech, proptech, insurtech and AI products with no research team to keep rules current. The changes feed and the verify endpoint are included.
The commercial price is a hypothesis we’re still testing. Before you buy, find your states on the coverage map, then read every citation yourself.
