{"openapi":"3.1.0","info":{"title":"KOMET Archiv Recherche-API","version":"1.0.0","license":{"name":"KOMET-Archive-NC-1.0 (only rights KOMET controls; public-domain and statutory uses unaffected)","url":"https:\/\/komet-archiv.de\/lizenz"},"description":"\u00d6ffentliche, rein lesende vollst\u00e4ndige PostgreSQL-Archivsuche. Keine Anmeldung, kein API-Schl\u00fcssel. Die Typesense-gest\u00fctzte Schnellsuche \/search dient dem schnellen Einstieg; diese API und MCP suchen im vollst\u00e4ndigen \u00f6ffentlichen OCR-Index. Alle Ergebnisseiten und matching_pages ber\u00fccksichtigen. OCR ist fehlerbehaftetes Quellenmaterial; Archivseiten zitieren und Zitate am Scan pr\u00fcfen. IP-Limits gelten gemeinsam f\u00fcr REST, MCP und Web. Bei HTTP 429 Retry-After abwarten. Aktuelle Werte: \/mcp-info.json."},"x-rate-limits":{"scope":"shared_per_ip_including_authenticated_users","buckets":{"global":{"burst":30,"seconds":5,"minute":300},"search":{"burst":10,"seconds":5,"minute":60},"read":{"minute":240},"image":{"burst":4,"seconds":10,"minute":30},"pdf":{"burst":2,"seconds":10,"minute":10},"protocol":{"minute":120},"registration":{"minute":3,"hour":10}}},"externalDocs":{"description":"MCP, API und Einrichtung f\u00fcr ChatGPT, Claude und weitere KI-Clients","url":"https:\/\/komet-archiv.de\/recherche-api"},"x-mcp":{"url":"https:\/\/komet-archiv.de\/mcp","transport":"streamable-http","authentication":"none","instructions_url":"https:\/\/komet-archiv.de\/ki-anleitung.txt"},"servers":[{"url":"https:\/\/komet-archiv.de"}],"security":[],"paths":{"\/api\/v1\/search":{"get":{"operationId":"searchArchive","summary":"Vollst\u00e4ndige Archivsuche anhand seitenbezogener OCR-Fundstellen","description":"Sucht im vollst\u00e4ndigen \u00f6ffentlichen PostgreSQL-OCR-Index. total_issues z\u00e4hlt Ausgaben, nicht Erw\u00e4hnungen. hits liefert h\u00f6chstens f\u00fcnf Seitenausz\u00fcge je Ausgabe; matching_pages enth\u00e4lt alle passenden Seiten. links.next bis null folgen. Historische Schreibweisen und OCR beeinflussen die Abdeckung.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200},"description":"Bis zu acht W\u00f6rter. F\u00fcr exakte Wortfolgen die gesamte Abfrage in Anf\u00fchrungszeichen setzen."},{"name":"from_year","in":"query","required":false,"schema":{"type":"integer","minimum":1883,"maximum":2024,"default":1883},"description":"Erster Jahrgang, einschlie\u00dflich."},{"name":"to_year","in":"query","required":false,"schema":{"type":"integer","minimum":1883,"maximum":2024,"default":2024},"description":"Letzter Jahrgang, einschlie\u00dflich; mindestens from_year."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"description":"Ergebnisseite."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Ausgaben pro Ergebnisseite."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["relevance","date_asc","date_desc"],"default":"relevance"},"description":"Sortierung vor der Paginierung."}],"responses":{"200":{"description":"Erfolgreicher Abruf","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":1},"title":{"type":"string"},"date":{"type":["string","null"],"format":"date"},"year":{"type":["integer","null"]},"page_count":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"},"image_url":{"type":"string","format":"uri"},"thumbnail_url":{"type":"string","format":"uri"},"updated_at":{"type":["string","null"],"format":"date-time"},"pages":{"type":"array","items":{"type":"object","required":["page","url","api_url"],"properties":{"page":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"}}}},"matching_pages":{"type":"array","items":{"type":"integer","minimum":1}},"score":{"type":"integer"},"hits":{"type":"array","items":{"type":"object","required":["page","url","api_url"],"properties":{"page":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"},"snippet":{"type":"string"},"match_type":{"type":"string","enum":["normalized","approximate"]}}}}}}},"meta":{"type":"object","properties":{"query":{"type":"string"},"total_issues":{"type":"integer"},"current_page":{"type":"integer","minimum":1},"last_page":{"type":"integer","minimum":1},"per_page":{"type":"integer","minimum":1},"search_mode":{"type":"string","const":"full_archive"},"snippet_pages_per_issue":{"type":"integer"},"from_year":{"type":"integer"},"to_year":{"type":"integer"},"ocr_notice":{"type":"string"}}},"links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"next":{"type":["string","null"],"format":"uri"},"previous":{"type":["string","null"],"format":"uri"}}}}}}}},"404":{"description":"Ausgabe oder Seite nicht vorhanden"},"422":{"description":"Ung\u00fcltige Parameter; JSON mit message und errors"},"429":{"description":"Anfragelimit erreicht; Retry-After beachten"},"503":{"description":"Dienst vor\u00fcbergehend nicht verf\u00fcgbar"}}}},"\/api\/v1\/issues\/{id}":{"get":{"operationId":"getArchiveIssue","summary":"Ausgabe mit Links zu allen Seiten abrufen","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Erfolgreicher Abruf","content":{"application\/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","title","page_count","url"],"properties":{"id":{"type":"integer","minimum":1},"title":{"type":"string"},"date":{"type":["string","null"],"format":"date"},"year":{"type":["integer","null"]},"page_count":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"},"image_url":{"type":"string","format":"uri"},"thumbnail_url":{"type":"string","format":"uri"},"updated_at":{"type":["string","null"],"format":"date-time"},"pages":{"type":"array","items":{"type":"object","required":["page","url","api_url"],"properties":{"page":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"}}}}}}}}}}},"404":{"description":"Ausgabe oder Seite nicht vorhanden"},"422":{"description":"Ung\u00fcltige Parameter; JSON mit message und errors"},"429":{"description":"Anfragelimit erreicht; Retry-After beachten"},"503":{"description":"Dienst vor\u00fcbergehend nicht verf\u00fcgbar"}}}},"\/api\/v1\/issues\/{id}\/pages\/{page}":{"get":{"operationId":"getArchivePage","summary":"Vollst\u00e4ndigen OCR-Originaltext einer Seite mit zitierbarer URL und Scan abrufen","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"page","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Erfolgreicher Abruf","content":{"application\/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["page","text","url","image_url"],"properties":{"page":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"},"title":{"type":"string"},"text":{"type":"string"},"ocr_notice":{"type":"string"},"image_url":{"type":"string","format":"uri"},"text_url":{"type":"string","format":"uri"},"issue":{"type":"object","required":["id","title","page_count","url"],"properties":{"id":{"type":"integer","minimum":1},"title":{"type":"string"},"date":{"type":["string","null"],"format":"date"},"year":{"type":["integer","null"]},"page_count":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"},"image_url":{"type":"string","format":"uri"},"thumbnail_url":{"type":"string","format":"uri"},"updated_at":{"type":["string","null"],"format":"date-time"},"pages":{"type":"array","items":{"type":"object","required":["page","url","api_url"],"properties":{"page":{"type":"integer","minimum":1},"url":{"type":"string","format":"uri"},"api_url":{"type":"string","format":"uri"}}}}}}}}}}}}},"404":{"description":"Ausgabe oder Seite nicht vorhanden"},"422":{"description":"Ung\u00fcltige Parameter; JSON mit message und errors"},"429":{"description":"Anfragelimit erreicht; Retry-After beachten"},"503":{"description":"Dienst vor\u00fcbergehend nicht verf\u00fcgbar"}}}}}}