Health — entry 014 of 23

LAPIS

Verified Jul 2026

LAPIS is the open, keyless REST API behind covSPECTRUM, serving aggregated counts, sequence details, and mutation queries over SARS-CoV-2 genomic data drawn from public sources like GenBank and Nextstrain, documented via an OpenAPI v2 endpoint at lapis.cov-spectrum.org. The frontend's old ETH Zurich domain, cov-spectrum.ethz.ch, now 301-redirects permanently to cov-spectrum.org — 'url' corrected to the live domain. A live GET against lapis.cov-spectrum.org/open/v2/ returns Access-Control-Allow-Origin: *, reconfirming the stored 'yes' cors.

genomicscovid-19sars-cov-2open-databioinformatics
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score94out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 94 on greatapis.com
<a href="https://greatapis.com/api/lapis/"><img src="https://greatapis.com/badge/lapis.svg" alt="Scored 94 on greatapis.com"></a>

Auth quickstart

  1. No key needed — call it now.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://lapis.cov-spectrum.org/open/v2
info-controller4
GET/sample/databaseConfig
Parameters
NameInRequiredType
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKDatabaseConfig
500Internal Server ErrorLapisErrorResponse
GET/sample/info
Parameters
NameInRequiredType
X-Request-IDheaderno
Responses
StatusDescriptionSchema
200OKLapisInfo
500Internal Server ErrorLapisErrorResponse
GET/sample/lineageDefinition/{column}
Parameters
NameInRequiredType
columnpathyesstring
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
GET/sample/referenceGenome
Parameters
NameInRequiredType
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKReferenceGenome
500Internal Server ErrorLapisErrorResponse
lapis-controller20
GET/sample/aggregated
Parameters
NameInRequiredType
sequenceFiltersqueryno
fieldsqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKAggregatedResponse
500Internal Server ErrorLapisErrorResponse
POST/sample/aggregated
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonAggregatedPostRequest (required)

Responses
StatusDescriptionSchema
200OKAggregatedResponse
500Internal Server ErrorLapisErrorResponse
GET/sample/alignedAminoAcidSequences
Parameters
NameInRequiredType
genesquerynoarray
sequenceFiltersqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
fastaHeaderTemplatequeryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
POST/sample/alignedAminoAcidSequences
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonAllAminoAcidSequenceRequest (required)

Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
GET/sample/alignedAminoAcidSequences/{gene}
Parameters
NameInRequiredType
genepathyes
sequenceFiltersqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
fastaHeaderTemplatequeryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
POST/sample/alignedAminoAcidSequences/{gene}
Parameters
NameInRequiredType
genepathyes
X-Request-IDheaderno
Request body

application/jsonAminoAcidSequenceRequest (required)

Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
GET/sample/aminoAcidInsertions
Parameters
NameInRequiredType
sequenceFiltersqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKAminoAcidInsertionsResponse
500Internal Server ErrorLapisErrorResponse
POST/sample/aminoAcidInsertions
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonInsertionsRequest (required)

Responses
StatusDescriptionSchema
200OKAminoAcidInsertionsResponse
500Internal Server ErrorLapisErrorResponse
GET/sample/aminoAcidMutations
Parameters
NameInRequiredType
sequenceFiltersqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
minProportionquerynonumber
orderByqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
fieldsqueryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKAminoAcidMutationsResponse
500Internal Server ErrorLapisErrorResponse
POST/sample/aminoAcidMutations
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonSequenceFiltersWithMinProportion (required)

Responses
StatusDescriptionSchema
200OKAminoAcidMutationsResponse
500Internal Server ErrorLapisErrorResponse
GET/sample/details
Parameters
NameInRequiredType
sequenceFiltersqueryno
fieldsqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
limitqueryno
offsetqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
X-Request-IDheaderno
dataFormatqueryno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKDetailsResponse
500Internal Server ErrorLapisErrorResponse
POST/sample/details
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonDetailsPostRequest (required)

Responses
StatusDescriptionSchema
200OKDetailsResponse
500Internal Server ErrorLapisErrorResponse
GET/sample/mostRecentCommonAncestor
Parameters
NameInRequiredType
sequenceFiltersqueryno
phyloTreeFieldqueryyes
printNodesNotInTreequerynoboolean
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
dataFormatqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKMostRecentCommonAncestorResponse
500Internal Server ErrorLapisErrorResponse
POST/sample/mostRecentCommonAncestor
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonMostRecentCommonAncestorRequest (required)

Responses
StatusDescriptionSchema
200OKMostRecentCommonAncestorResponse
500Internal Server ErrorLapisErrorResponse
GET/sample/nucleotideInsertions
Parameters
NameInRequiredType
sequenceFiltersqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKNucleotideInsertionsResponse
500Internal Server ErrorLapisErrorResponse
POST/sample/nucleotideInsertions
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonInsertionsRequest (required)

Responses
StatusDescriptionSchema
200OKNucleotideInsertionsResponse
500Internal Server ErrorLapisErrorResponse
GET/sample/nucleotideMutations
Parameters
NameInRequiredType
sequenceFiltersqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
minProportionquerynonumber
orderByqueryno
limitqueryno
offsetqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
fieldsqueryno
X-Request-IDheaderno
dataFormatqueryno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OKNucleotideMutationsResponse
500Internal Server ErrorLapisErrorResponse
POST/sample/nucleotideMutations
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonSequenceFiltersWithMinProportion (required)

Responses
StatusDescriptionSchema
200OKNucleotideMutationsResponse
500Internal Server ErrorLapisErrorResponse
GET/sample/phyloSubtree
Parameters
NameInRequiredType
sequenceFiltersqueryno
phyloTreeFieldqueryyes
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
dataFormatqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
POST/sample/phyloSubtree
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonPhyloSubtreeRequest (required)

Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
queries-over-time-controller3
POST/component/aminoAcidMutationsOverTime
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonMutationsOverTimeRequest (required)

Responses
StatusDescriptionSchema
200OKQueriesOverTimeResponseMutationsOverTimeResult
500Internal Server ErrorLapisErrorResponse
POST/component/nucleotideMutationsOverTime
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonMutationsOverTimeRequest (required)

Responses
StatusDescriptionSchema
200OKQueriesOverTimeResponseMutationsOverTimeResult
500Internal Server ErrorLapisErrorResponse
POST/component/queriesOverTime
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonQueriesOverTimeRequest (required)

Responses
StatusDescriptionSchema
200OKQueriesOverTimeResponseQueriesOverTimeResult
500Internal Server ErrorLapisErrorResponse
query-controller1
POST/query/parse
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonQueryParseRequest (required)

Responses
StatusDescriptionSchema
200OKQueryParseResponse
500Internal Server ErrorLapisErrorResponse
single-segmented-sequence-controller4
GET/sample/alignedNucleotideSequences
Parameters
NameInRequiredType
sequenceFiltersqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
fastaHeaderTemplatequeryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
POST/sample/alignedNucleotideSequences
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonNucleotideSequenceRequest (required)

Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
GET/sample/unalignedNucleotideSequences
Parameters
NameInRequiredType
sequenceFiltersqueryno
orderByqueryno
nucleotideMutationsqueryno
aminoAcidMutationsqueryno
nucleotideInsertionsqueryno
aminoAcidInsertionsqueryno
limitqueryno
offsetqueryno
dataFormatqueryno
fastaHeaderTemplatequeryno
X-Request-IDheaderno
downloadAsFilequerynoboolean
downloadFileBasenamequerynostring
compressionquerynostring
Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse
POST/sample/unalignedNucleotideSequences
Parameters
NameInRequiredType
X-Request-IDheaderno
Request body

application/jsonNucleotideSequenceRequest (required)

Responses
StatusDescriptionSchema
200OK
500Internal Server ErrorLapisErrorResponse

Try it

Developer reference

Base URLhttps://lapis.cov-spectrum.org/open/v2
Key endpoints
  • GET/sample/aggregated
  • GET/sample/details

Availability

Uptime100%
Median latency576.5 ms
Last checkUp · 200 · Sep 2026

4 checks since Aug 2026. A person runs this check by hand, not an automated monitor.

Changelog

Spec versionv0
Tracked paths26
  • Aug 2026gained an OpenAPI spec
  • Sep 2026content changed

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗