THE LEGAL DATA LAYER · FOR PRODUCT TEAMS

One citation.
Anywhere your
agent looks.

Legal and customs data your product can query, explain and cite, with the source, jurisdiction and document status attached to every answer. Start with the API that matches your workflow, then move from prototype to production without changing the data contract.

● Official sources● REST · SDK · MCP● Source-linked responses
European Unionresolved
celex:32016R0679 · article 17

Regulation (EU) 2016/679 — Right to erasure ("right to be forgotten")

"The data subject shall have the right to obtain from the controller the erasure of personal data concerning him or her without undue delay…"

CELEX
32016R0679
In force since
2018-05-25
Authority
European Parliament and Council
Article count
99
Source
eurlex
Language
en
eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679Link to the official publisher

Sources, jurisdictions, authorities and document counts are published live by GET /v2/coverage and GET /v2/atlas/stats.

CHOOSE YOUR INTEGRATION SURFACE

One legal data layer. Three clear ways to use it.

Each product below describes what is available today, where it fits, and which documentation to open next.

01 · LEGAL DATA API

Give your agent a source it can cite.

Search regulations, retrieve documents and articles, inspect changes and keep the source URL with the answer. Built for legal research, RAG and compliance workflows.

02 · CUSTOMS CLASSIFICATION API

Turn a product description into a trade decision.

Classify products, resolve duties, calculate landed cost and screen dual-use signals. Responses expose the resolution and provenance so teams can see what is seeded, derived or still missing.

03 · DEVELOPER DELIVERY

Ship the same contract through the channel you use.

Use authenticated REST for your backend, the TypeScript SDK for product code, MCP for Claude and Cursor, and webhooks when your index needs to stay current.

HOW IT WORKS

Three steps from your agent to a verifiable citation.

We do the boring part — finding the law, parsing it, keeping it current. You get a clean answer with a link your agent can quote.

01

Ask in your agent's voice

Natural-language query, jurisdiction filter, or direct identifier. One endpoint covers all.

GET /v2/search?q=…
02

Get a structured document

Title, source, jurisdiction, publisher URL and full text, with a content hash to detect changes.

application/json
03

Quote it. Link the source.

Each result carries the publisher URL and a stable document id. GET /v2/changes lists updated documents, and a webhook can notify you.

GET /v2/documents/{id}
FOR DEVELOPERS

Four lines.
One verifiable answer.

One line to install, one call to query. Works inside your agent, your search pipeline, or a plain backend. Native plug-in for Claude Desktop and Cursor.

Read the docs →
// npm install https://github.com/Cleo-Labs-IA/cleo-customs-examples/releases/download/sdk-v0.9.0/cleo-legal-sdk-0.9.0.tgz
import { LegalData } from "@cleo-legal/sdk";

// Cite GDPR Article 17 in your agent
const ld = new LegalData({ apiKey: process.env.CLEO_API_KEY! });
const r = await ld.search({ q: "GDPR right to erasure", country: "EU" });
WHO BUILDS WITH IT

A reference layer for three kinds of teams.

One API. Three persona-shaped entrances depending on what you're building.

COVERAGE AT A GLANCE

Built on official sources, listed one by one in the API.

Eight featured below. GET /v2/coverage lists every source with its jurisdiction, document count and date of last check.

EU
European Union
US
United States
FR
France
DE
Germany
GB
United Kingdom
JP
Japan
KZ
Kazakhstan
CN
China
See full coverage map →
PRICING

Free until you've shipped. Then one line.

A Sandbox with 200 units and no card to see if it fits. Then a single monthly price — no per-seat games, no hidden quotas.

SANDBOX

Test real API requests before you pay anything.

€0
200 units, no card
Get my Sandbox key →
INCLUDED
  • 200 units, lifetime
  • All endpoints — no feature gating
  • Classification and legal data APIs
  • Coverage map full access
  • Community support
RECOMMENDED
STARTER

For a live product integration.

€100/ month
Or €80/mo billed yearly · cancel anytime
Choose Starter →
INCLUDED
  • 100,000 units / month
  • 60 requests / minute
  • Built for production integrations
  • Email alerts when laws change
  • Community + priority email support
PRO

For higher-volume production workloads.

€349/ month
Or €279/mo billed yearly · cancel anytime
Choose Pro →
INCLUDED
  • 1,000,000 units / month
  • 300 requests / minute
  • Higher-volume production capacity
  • Priority queue at peak hours
  • Email support — same business day
  • Onboarding call with our team

One call is one unit. A few endpoints, such as customs classification of a kit or a catalog batch, weigh more — see request weight.

Running more than 1,000,000 calls a month? Get in touch →

FAQ

What developers ask first.

Is this legal advice?

No. Cleo Legal returns regulatory data with a link to the publisher: EUR-Lex, Legifrance, the BOE and every other source listed live in GET /v2/coverage. Every compliance endpoint carries an explicit disclaimer. It's data, not advice.

How fresh is the data?

Each source shows the date of its last check in GET /v2/coverage, so you can see how recent every source is before you integrate.

Which jurisdictions are deepest?

EU and member states are deepest. Strong on UK, US federal, Switzerland, Japan, and EAEU. GET /v2/coverage lists every jurisdiction with its document count, updated live.

Can I use it with Claude / GPT / open-source models?

Yes. We ship a TypeScript SDK, REST, and a Claude/Cursor plug-in.

What happens when I reach my quota?

Past your monthly quota, the API returns a 402 until the quota resets on the 1st of the month (UTC), or until you upgrade from the dashboard. When the Sandbox lifetime units run out, the API also returns a 402, and a paid plan picks up from there. Past the per-minute limit, it returns a 429 with a Retry-After header. We never auto-charge for overage.