Documentation
API Ldata.fr
Endpoints JSON pour la jurisprudence open data et les codes LEGI. Auth par clé API, mêmes tools côté HTTP et MCP. Paramètres et champs JSON en anglais.
Base: https://ldata.fr/api
Authorization: Bearer oj_…
GET /health
À appeler une fois pour voir si les corpus sont là et s’ils sont périmés. No auth. Counts, age_days, stale.
GET /search
Pour trouver des décisions judiciaires (Cassation, cours d’appel, TJ, commerce) — pas le texte de loi, pas le contentieux administratif.
Parameters (English):
q— FTS5 query ("phrase", AND/OR/NOT, NEAR/20)mode— fts (default) | semantic | hybridjurisdiction— cc, ca, tj, tcomlocation,number,article,outcomeafter,before— YYYY-MM-DDsort— authority | rank | datesyn=true — legal synonymsreversed=true — CA possibly quashedcites/cited_by— citation graphlimit·offset
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/search?q=%22faute+grave%22&jurisdiction=ca&syn=true&limit=5"
GET /decisions/:id
Pour ouvrir une décision après /search (texte tronqué par défaut, full=1 pour l’intégral). Les champs graphe sont des aides à la recherche — revérifier verify_url.
GET /caselaw/by-article/:code (jurisprudence)
Décisions qui citent un article (visa), pas le texte de loi.
Ex. /caselaw/by-article/L1235-3.
Alias historique /articles/:code. Pour le texte de loi → /codes/….
Legislation — GET /codes/* (texte de loi)
Pour lire ou chercher le texte d’un code (C. civ., C. trav.) — pas la jurisprudence, pas le JO brut, pas les lois consolidées hors code.
GET /codes— catalogueGET /codes/:slug— one instrument (no auth)GET /codes/:slug/articles— TOC as of a dayGET /codes/:slug/articles/:num— full text for that dayGET /codes/:slug/articles/:num/versions— timelineGET /codes/search?q=…— FTS
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/codes/code-du-travail/articles/L1235-3?as_of=2017-01-01"
Statutes — GET /statutes/* (lois, décrets, ordonnances — TNC)
Pour chercher une loi ou un décret consolidé (pas un code, pas le JO du jour).
Même corpus LEGI que /codes, jamais un CODE. Lookup par slug, cid (JORFTEXT…) ou NOR.
GET /statutes— catalogue TNC (filtresnature,q,nor)GET /statutes/:id— un texte (slug, cid ou NOR)GET /statutes/:id/articles— TOCGET /statutes/:id/articles/:num— texte + vigueur (as_of)GET /statutes/search?q=…— FTS TNC
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/statutes/search?q=d%C3%A9l%C3%A9gations+de+signature&nature=DECRET"
Official journal — GET /official-journal/* (JORF)
Pour chercher ce qui a été publié au Journal officiel (version brute).
Pas le texte consolidé (/statutes).
GET /official-journal/search?q=…— FTS ; filtresnature,doc_type,after/beforeGET /official-journal/documents/:id— texte intégral (id JORFTEXT)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/official-journal/search?q=d%C3%A9l%C3%A9gations+de+signature&nature=DECRET"
Legislative dossiers — GET /legislative-dossiers/* (DOLE)
Travaux préparatoires (fonds DILA DOLE). Métadonnées et liens officiels, pas le texte de loi
(utiliser /statutes ou /official-journal).
GET /legislative-dossiers/search?q=…— FTS ; filtresdossier_type,after/beforeGET /legislative-dossiers/documents/:id— dossier (id JORFDOLE)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/legislative-dossiers/search?q=projet+de+loi&dossier_type=projet_loi"
Company agreements — GET /company-agreements/* (ACCO)
Accords d'entreprise (fonds DILA ACCO). Distinct des conventions collectives IDCC
(/collective-agreements). L'XML DILA est métadonnées (titre, SIRET, IDCC, thèmes) ;
le corps de l'accord est sur Légifrance.
GET /company-agreements/search?q=…— FTS ; filtresidcc,after/beforeGET /company-agreements/documents/:id— métadonnées (id ACCOTEXT)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/company-agreements/search?q=t%C3%A9l%C3%A9travail&idcc=1486"
Commercial notices — GET /commercial-notices/* (BODACC)
Annonces commerciales (fonds DILA BODACC : RCS, procédures collectives, comptes). Événements de publication, pas un registre SIRENE vivant — vérifier sur bodacc.fr.
GET /commercial-notices/search?q=…— FTS ; filtresedition,doc_type,siren,after/beforeGET /commercial-notices/notices/:id— avis (id nojo ou public_id)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/commercial-notices/search?q=immatriculation&siren=123456789"
Public procurement — GET /public-procurement/* (BOAMP)
Annonces de marchés publics (fonds DILA BOAMP). Vérifier chaque hit sur boamp.fr.
GET /public-procurement/search?q=…— FTS ; filtresdoc_type,after/beforeGET /public-procurement/notices/:id— avis (id IDWEB)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/public-procurement/search?q=travaux+voirie"
EU corpus — GET /eu/* (EUR-Lex + CJUE + CEDH)
Législation européenne consolidée (EUR-Lex, FR) + jurisprudence CJUE + CEDH (HUDOC).
GET /eu/search?q=…— FTS ; filtressource=eurlex_law|cjeu|echr,after/beforeGET /eu/documents/:id— texte intégral (id, CELEX ou ECLI)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/eu/search?q=obligation+alimentaire&source=cjeu&limit=5"
Administrative case-law — GET /admin-caselaw/* (CE, CAA, TA)
Fonds DILA JADE — Conseil d'État, cours administratives d'appel, tribunaux administratifs. Les tribunaux administratifs (source quasi absente de JADE) sont complétés par les données ouvertes officielles du Conseil d'État (opendata.justice-administrative.fr).
GET /admin-caselaw/search?q=…— FTS ; filtressource=ce|caa|ta|autre,after/beforeGET /admin-caselaw/decisions/:id— texte intégral (id CETATEXT, ouOJA_...pour le backfill TA)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/admin-caselaw/search?q=exc%C3%A8s+de+pouvoir&source=ce&limit=5"
Collective agreements — GET /collective-agreements/* (IDCC)
Fonds DILA KALI — conventions collectives nationales, textes attachés (avenants/accords), articles.
GET /collective-agreements/search?q=…— FTS ; filtresidcc,doc_type=convention|texte|article,after/beforeGET /collective-agreements/documents/:id— texte intégral (id KALI ; seuls les articles portent un corps de texte)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/collective-agreements/search?q=p%C3%A9riode+d%27essai&idcc=1979&limit=5"
Tax doctrine — GET /tax-doctrine/* (BOFiP)
BOFiP-Impôts (DGFiP) — doctrine fiscale versionnée et opposable. as_of sélectionne la version opposable à une date.
GET /tax-doctrine/search?q=…— FTS ; filtresdoc_type,serie,as_ofGET /tax-doctrine/documents/:id— texte intégral (id de version, identifiant BOI-… ou id de nœud ;as_ofoptionnel)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/tax-doctrine/search?q=location+meubl%C3%A9e&as_of=2020-01-01&limit=5"
Conseil constitutionnel — GET /constitutional/* (DC, QPC, LP, AN, SEN)
Fonds DILA CONSTIT — décisions du Conseil constitutionnel depuis 1958 (contrôle de constitutionnalité, QPC, lois de pays, contentieux électoral, et autres contentieux).
GET /constitutional/search?q=…— FTS ; filtresdecision_type=dc|qpc|lp|an|sen|autre,after/beforeGET /constitutional/decisions/:id— texte intégral (id CONSTEXT)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/constitutional/search?q=principe+d%27%C3%A9galit%C3%A9&decision_type=qpc&limit=5"
Autorités administratives indépendantes — GET /authorities/* (ADLC, CNIL)
Décisions de l'Autorité de la concurrence (ADLC, jeu de données data.gouv.fr) et délibérations/sanctions de la CNIL (fonds DILA CNIL).
GET /authorities/search?q=…— FTS ; filtresauthority=adlc|cnil,doc_type(libre, pas d'enum fixe),after/beforeGET /authorities/documents/:id— texte intégral (id CNILTEXT ou numéro de décision ADLC, ex. 26-DCC-149)
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/authorities/search?q=donn%C3%A9es+personnelles&authority=cnil&limit=5"
Circulaires — GET /circulars/* (instructions des administrations)
Fonds DILA CIRCULAIRES — les circulaires sont publiées en PDF ; le texte intégral est extrait (pdftotext) et indexé quand le PDF est disponible (full_text: true), sinon métadonnées seules (titre, résumé, mots-clés, émetteur) — c'est le cas du stock historique 2009-2014, XML sans PDF.
GET /circulars/search?q=…— FTS ; filtresdoc_type=organisation_services|directives_ministre|interpretation_juridique|autre,after/before(date de signature)GET /circulars/documents/:id— texte intégral ou métadonnées selonfull_text(idID_CIRCULAIRE) ;urlpointe vers le PDF officiel, seul document faisant foi
curl -H "Authorization: Bearer $KEY" \ "https://ldata.fr/api/circulars/search?q=t%C3%A9l%C3%A9travail&limit=5"
GET /me
Plan and remaining quota.
For LLMs / agents
- /llms.txt — index + hard rules
- /llms-full.txt — full manual
- /api-tools.json — function-calling schemas
- /openapi.yaml — OpenAPI 3
citation and verify_note.
Never cite a decision in a filing without re-checking the official source.