Public API
Find a package and read its stored loading results. These requests need no account or API key and never start scans.
OpenAPI specification · API catalog
Find existing evidence
- Search with
GET /api/v1/search?q=express. - Read
GET /api/v1/packages?name=expressto resolve the latest version, or supply an exactversion. Tags such aslatestand version ranges are not accepted in that parameter. - If
reportIdis present, fetchGET /api/v1/reports/{id}. If onlyscanIdis present, checkGET /api/v1/scans/{id}for progress. A missing report is not a failure verdict.
URL-encode query parameters for scoped names. Version lists contain at most 200 entries; versionsTruncated tells you when there are more. An exact older version can still be requested.
Keep outcome, coverage and status separate
Read status.current before citing evidence. Historical reports remain readable and may link to a replacement. Include the package version, observation time, runtime pins and report URL in your answer.
Each cell has an outcome and separate passed, failed, interrupted and untested counts. Complete coverage means the planned checks ran; it does not mean they all passed. Loading success does not prove functional correctness or safety. Read the methodology and limitations.
Request a Markdown summary
Send Accept: text/markdown when requesting the homepage or a report page. HTML remains the default for browsers. Explicit alternatives are /index.md and /reports/{id}/markdown.
Report summaries include status, loading results, coverage and provenance. Use the linked JSON or full report for individual entries, named assertions, logs and reproduction inputs. Markdown is currently available for the homepage and report pages.
Access and limits
The public read API is anonymous. CompatLab does not provide agent registration, OAuth, MCP, A2A or payment endpoints. Maintainer tools are coming later.
Respect Retry-After when supplied and use bounded retries with backoff for HTTP 429 or 503. Revalidate stored report status before presenting it as current. Report and scan reads also support HEAD and conditional requests with ETags.
To request new work, use the package page and its explicit scan action. Admission checks, capacity limits and worker availability still apply. Do not automatically submit scans while browsing or indexing reports.
Our content signals allow search indexing and use in answers, while declining model training. They express preferences, not access controls. Request a correction or removal.