Query genetic variants programmatically. No authentication required.
The genome.sh API gives you access to ClinVar, gnomAD, dbSNP, AlphaMissense, and more through a simple REST interface. All endpoints return JSON. Rate limits are generous and no API key is needed.
All API requests use this base URL. The API is served over HTTPS only.
https://api.genome.shThe genome.sh API is completely free and open. No API key, no registration, no authentication of any kind. Just send requests.
# No API key needed
curl https://api.genome.sh/v1/stats
The API uses standard HTTP status codes. Errors return a JSON object with an error field describing the issue.
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Invalid query format |
| 500 | Internal database error |
| 502 | Upstream API error (gnomAD proxy) |
{
"error": "Invalid query: not a valid rsID, gene, or HGVS notation"
}
/v1/query/:queryLook up a variant by rsID, gene name, or HGVS notation. Returns clinical significance, gene, position, and associated conditions from ClinVar.
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Required | rsID (e.g. rs1799945), gene name (e.g. BRCA1), or HGVS notation |
| limit | integer | Optional | Maximum number of results to return. Default: 100 |
curl https://api.genome.sh/v1/query/rs1799945
[{
"rsid": "rs1799945",
"chromosome": "chr6",
"position": 26090951,
"ref": "C",
"alt": "G",
"gene": "HFE",
"clinical_significance": "Pathogenic",
"condition": "Hereditary hemochromatosis"
}]
/v1/variant/:chrom/:pos/:ref/:altQuery a specific variant by exact genomic coordinates. Provide chromosome, position, reference allele, and alternate allele.
| Name | Type | Description |
|---|---|---|
| chrom | string | Chromosome (e.g. chr6 or 6) |
| pos | integer | Genomic position |
| ref | string | Reference allele |
| alt | string | Alternate allele |
curl https://api.genome.sh/v1/variant/chr6/26090951/C/G
/v1/gene/:geneRetrieve all known variants for a given gene. Returns a list of ClinVar entries with clinical significance and conditions.
| Name | Type | Required | Description |
|---|---|---|---|
| gene | string | Required | Gene symbol (e.g. BRCA1, HFE). Case insensitive. |
| limit | integer | Optional | Maximum number of results to return. Default: 100 |
curl https://api.genome.sh/v1/gene/BRCA1?limit=5
/v1/gnomad/:rsidFetch population frequency data from gnomAD for a given variant. Data is proxied and cached from the gnomAD GraphQL API.
| Name | Type | Description |
|---|---|---|
| rsid | string | rsID of the variant (e.g. rs1799945) |
curl https://api.genome.sh/v1/gnomad/rs1799945
{
"rsid": "rs1799945",
"genome": {
"af": 0.0921,
"ac": 14032,
"an": 152312,
"homozygote_count": 712
}
}
/v1/sourcesList all data sources in the database with their version, variant count, and last update timestamp.
curl https://api.genome.sh/v1/sources
[{
"source": "clinvar",
"version": "2026-03",
"variant_count": 2843191,
"updated_at": "2026-03-01T00:00:00Z"
}]
/v1/statsGet database statistics including total variant count across all sources.
curl https://api.genome.sh/v1/stats
{
"total_variants": 2843191,
"sources": [...]
}
/healthHealth check endpoint. Returns 200 with status "ok" if the API server is running.
curl https://api.genome.sh/health
{ "status": "ok" }
Install the CLI to query variants locally, annotate VCF files, or pipe output to other tools. All commands support JSON, TSV, and human-readable output.
cargo install genome-shgenome queryLook up variants by rsID, gene, or coordinates. Uses the API by default, add --local for offline mode.
genome query rs1799945genome annotateAnnotate a VCF file with clinical data from all databases.
genome annotate my_variants.vcfgenome compareCompare two VCF files. Shows shared and unique variants with kinship estimation.
genome compare sample1.vcf sample2.vcfgenome predictGet AlphaMissense pathogenicity predictions for variants.
genome predict rs1799945genome db buildDownload and build the local database from open sources.
genome db build --tier fullgenome db statsShow database statistics and source versions.
genome db statsgenome serveStart the REST API server locally.
genome serve --port 3042