Dokumentace pro vývojáře

LawGPT API

REST rozhraní a remote MCP server pro vyhledávání českých zákonů, načítání paragrafů z e-Sbírky, výzkum judikatury, veřejné otázky LawGPT a právní fact-check v ChatGPT.

Přehled

LawGPT používá veřejné HTTP rozhraní pro e-Sbírku, judikaturu a aplikační funkce LawGPT. Judikatura kombinuje rozhodnutí obecných soudů z justice.cz a nálezy Ústavního soudu z NALUS.

Zákony a paragrafy

Načtení zákona podle čísla a roku, struktury, úplného znění, paragrafů a dětských fragmentů.

Vyhledávání

Lokální hledání v názvech zákonů a v cacheovaných textech fragmentů.

Judikatura

Obsahové hledání, vazby na paragrafy a omezené načítání výroků a odůvodnění.

Dokumenty

AI flow pro rozpoznání typu dokumentu, doplňující otázky a návrh šablony.

Produkční integrace by měla volat API ze serveru vašeho webu, pokud potřebujete cache, logování, limity nebo stabilní normalizaci odpovědí.

Base URL

Služba Base URL Použití
LawGPT eSbírka API https://lawgpt.cz/api/esbirka Zákony, struktura, fragmenty, paragrafy, fulltext, vyhledávání.
LawGPT API https://lawgpt.cz/api Otázky, kategorie, chat, modal fragmenty, exporty.
LawGPT Judikatura API https://lawgpt.cz/api/judgments Vyhledávání rozhodnutí, vazby na ustanovení a detail judikátu.
Generátor dokumentů https://lawgpt.cz/api/contract-generator.php AI generování právních dokumentů a šablon.
LawGPT MCP https://lawgpt.cz/mcp Remote MCP konektor pro ChatGPT, Claude a další klienty s podporou Streamable HTTP.

MCP pro ChatGPT

LawGPT vystavuje read-only remote MCP server nad eSbírka API a Judgments API. Je určený pro výzkum a fact-check českého práva v ChatGPT/Claude: model může hledat zákony i judikaturu, načítat úplná znění, paragrafy a child fragmenty a vracet přesné citační podklady.

Položka Hodnota
MCP URL https://lawgpt.cz/mcp
Transport Streamable HTTP
Autentizace Žádná, pouze veřejné read-only právní texty
Runtime Node.js MCP server jako tenká vrstva nad https://lawgpt.cz/api/esbirka, iOS API a https://lawgpt.cz/api/judgments

Dostupné nástroje

Nástroj Použití
search_laws Vyhledá zákony stejným rozhraním jako místní MCP v aplikaci Zákony by lawgpt.
list_popular_laws Vrátí často používané nebo důležité české předpisy.
search_law Vyhledá zákony podle titulku nebo obsahu fragmentů.
get_law Načte metadata zákona podle čísla a roku.
get_paragraph Načte paragraf a volitelně všechny jeho child fragmenty s textem.
get_law_text Načte omezené úplné znění zákona v Markdownu, prostém textu nebo XHTML.
search_judgments Vyhledá rozhodnutí obecných soudů a Ústavního soudu; před citací použijte get_judgment.
find_judgments_by_provision Najde rozhodnutí citující konkrétní zákon nebo paragraf.
get_judgment Načte metadata a volitelně omezený text soudního rozhodnutí.
get_fragment Načte konkrétní fragment podle ID vráceného search/list/paragraph odpovědí.
list_fragments Vypíše fragmenty zákona, typicky type=PARAGRAF pro discovery.
fact_check_czech_law_claim Sestaví evidence packet pro právní tvrzení: search výsledky, známé zákony, paragrafy a citace.

Remote MCP obsahuje všech osm nástrojů místní Mac verze a navíc search_law, get_fragment, list_fragments a fact_check_czech_law_claim. Vystavuje také resource templates zakony://law/{number}/{year} a zakony://judgment/{source}/{identifier}.

Smoke test

curl -s -X POST "https://lawgpt.cz/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

ChatGPT nastavení

  1. V ChatGPT otevřete nastavení konektorů nebo MCP nástrojů.
  2. Přidejte remote MCP server s URL https://lawgpt.cz/mcp.
  3. Autentizaci nevyplňujte. Server je veřejný a read-only.
  4. Pro zákonný fact-check požádejte model, aby nejdřív použil search_law, potom get_paragraph s includeChildren=true a citoval fullCitation a plainText. U judikatury má po search_judgments vždy následovat get_judgment.

Načtení paragrafu přes MCP

curl -s -X POST "https://lawgpt.cz/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_paragraph","arguments":{"number":542,"year":2020,"paragraph":"113","collection":"sb","includeChildren":true}}}'
MCP vrací podklady a citace. Klient má právní tvrzení vyhodnotit opatrně: pokud text není v indexu, je nejednoznačný nebo se týká historického znění, označte výsledek jako neověřený a ověřte z dalšího zdroje.

eSbírka zákony

Výchozí kolekce je Sb.. Pokud stejné číslo/rok existuje i ve Sbírce mezinárodních smluv, použijte ?collection=sm nebo ?collection=ms.

Metoda Endpoint Popis
GET /laws Seznam cacheovaných zákonů s filtrováním.
GET /laws/{number}/{year} Detail zákona podle čísla a roku.
GET /laws/{number}/{year}/structure Hierarchická struktura zákona.
GET /laws/{number}/{year}/fragments Seznam fragmentů, volitelně s obsahem.
GET /laws/{number}/{year}/fragments/{id} Konkrétní fragment podle lokálního nebo API ID.
GET /laws/{number}/{year}/paragraph/{paragraph} Rychlé načtení paragrafu.
GET /laws/{number}/{year}/fulltext Celé znění zákona ve formátu XHTML, plaintext nebo markdown.
GET /laws/{number}/{year}/versions Historie časových znění, pokud je dostupná.

Parametry

Parametr Endpointy Hodnoty
collection Všechny zákonné endpointy sb, sm, ms. Výchozí: sb.
status /laws active, deprecated, all.
type /fragments PARAGRAF, CLANEK, ODSTAVEC, CAST, HLAVA, DIL.
from, to /fragments Rozsah paragrafů.
includeContent /fragments true nebo false.
format /fulltext xhtml, plaintext, markdown.
Některé paragrafy vrací v hlavním uzlu pouze nadpis, například § 2235. Skutečný text bývá v navigation.children. Pro přesnou citaci načtěte dětské fragmenty přes /fragments/{child.id}.

Judikatura

Read-only API sjednocuje rozhodnutí obecných soudů a Ústavního soudu. Vyhledávání vrací krátké relevantní výřezy; před citací vždy načtěte detail rozhodnutí.

Metoda Endpoint Popis
GET /api/judgments/search?q={query}&source=all Obsahové hledání. source: all, court, nalus.
GET /api/judgments/by-provision?number=89&year=2012&paragraph=580 Rozhodnutí obecných soudů, která citují zákon nebo konkrétní paragraf.
GET /api/judgments/{identifier}?source=court Metadata rozhodnutí podle UUID, ECLI, spisové značky nebo NALUS identifikátoru.

Vyhledání judikatury

curl -sG "https://lawgpt.cz/api/judgments/search" \
  --data-urlencode "q=neplatnost spotřebitelské úvěrové smlouvy" \
  --data-urlencode "source=all" \
  --data-urlencode "limit=5"

Omezený text rozhodnutí

curl -sG "https://lawgpt.cz/api/judgments/UUID" \
  --data-urlencode "source=court" \
  --data-urlencode "include_text=true" \
  --data-urlencode "maximum_characters=60000"
Fulltext je opt-in a omezený parametrem maximum_characters v rozsahu 1 000–200 000. Vyhledávání automaticky přejde na BM25, pokud není dostupné embeddingové hodnocení.

LawGPT API

Metoda Endpoint Popis
GET /questions Seznam veřejných právních otázek.
GET /questions/{slug} Detail veřejné otázky.
GET /categories Kategorie otázek s počty.
GET /search?q={term} Vyhledávání ve veřejných Q&A stránkách.
POST /submit Odeslání nové otázky.
POST /chat Chat interakce.
GET /law-fragment?number=89&year=2012&paragraph=1721 Jednoduchý modal endpoint pro text paragrafu.
GET /law-fragments?law_id=123 Seznam fragmentů pro UI zákona.

Generátor dokumentů

Generátor běží jako session flow. Nejprve pošlete popis dokumentu, poté odpovědi na doplňující otázky a nakonec získáte šablonu.

Metoda Endpoint Popis
POST /api/contract-generator.php?action=start Založí session a vrátí otázky.
POST /api/contract-generator.php?action=answer Odešle odpovědi a vytvoří šablonu.
GET /api/contract-generator.php?action=session&session_id=... Načte stav a výsledek session.

Start request

curl -s -X POST "https://lawgpt.cz/api/contract-generator.php?action=start" \
  -H "Content-Type: application/json" \
  -d '{"description":"Potřebuji smlouvu o pronájmu bytu. Jsem pronajímatel."}'

Answer request

curl -s -X POST "https://lawgpt.cz/api/contract-generator.php?action=answer" \
  -H "Content-Type: application/json" \
  -d '{"session_id":"SESSION_ID","answers":{"q1":"1_rok","q2":"15_000"}}'

Odpovědi a chyby

Standardní úspěšná odpověď eSbírka API

{
  "success": true,
  "data": {},
  "meta": {
    "timestamp": "2026-04-20T09:00:00+00:00",
    "cached": true
  }
}

Standardní chyba

{
  "success": false,
  "error": {
    "code": "LAW_NOT_FOUND",
    "message": "Law 999/2025 Sb. not found"
  },
  "meta": {
    "timestamp": "2026-04-20T09:00:00+00:00"
  }
}
Status Význam
200Úspěšná odpověď.
400Neplatný dotaz nebo parametr.
404Zákon, fragment nebo endpoint nenalezen.
500Chyba serveru nebo upstream zdroje.

Integrace do jiného webu

  1. Pro veřejný frontend používejte serverový proxy endpoint, pokud očekáváte větší provoz.
  2. Cacheujte detail zákona, paragrafy a fulltext. Právní text není user-specific.
  3. Ukládejte citace jako {number}/{year} Sb. plus paragraf nebo fragment ID.
  4. Po vyhledávání vždy hydratujte přes detail paragrafu nebo fragmentu.
  5. Nespouštějte hromadné fulltext downloady z browseru.
  6. Pro Sb. m. s. explicitně posílejte collection=sm.
API vrací právní text a výzkumné podklady. Samo o sobě neposkytuje právní radu ani nenahrazuje advokátní posouzení konkrétní věci.

Příklady

Načtení zákona

curl -s "https://lawgpt.cz/api/esbirka/laws/56/2001"

Kolize Sb. vs Sb. m. s.

# 56/2001 Sb. - zákon o podmínkách provozu vozidel
curl -s "https://lawgpt.cz/api/esbirka/laws/56/2001"

# 56/2001 Sb. m. s. - mezinárodní smlouva
curl -s "https://lawgpt.cz/api/esbirka/laws/56/2001?collection=sm"

Paragraf a dětský fragment

# Paragraf často vrátí navigaci na odstavce
curl -s "https://lawgpt.cz/api/esbirka/laws/542/2020/paragraph/113"

# Konkrétní child fragment podle ID z navigation.children
curl -s "https://lawgpt.cz/api/esbirka/laws/542/2020/fragments/198579"

Content search

curl -sG "https://lawgpt.cz/api/esbirka/search" \
  --data-urlencode "q=zavazuje-li nájemní" \
  --data-urlencode "in=content" \
  --data-urlencode "limit=3"

Repealed law

curl -s "https://lawgpt.cz/api/esbirka/laws/168/1999"

LawGPT modal fragment

curl -s "https://lawgpt.cz/api/law-fragment?number=89&year=2012&paragraph=1721"