# ENA API
> The European Nucleotide Archive (ENA) as an API, powered by EMBL-EBI — one of the three INSDC partners alongside NCBI GenBank and DDBJ, and the comprehensive public archive of the world's nucleotide sequence data. ENA holds raw sequencing reads, assembled and annotated genomes, individual sequences, biological samples and the studies behind them, for every domain of life — the backbone resource for genomics, microbiology, ecology, evolution and clinical research. This API gives a clean three-step workflow over that archive. First, /v1/taxon resolves an organism name (e.g. "Homo sapiens") to its NCBI taxon id, scientific name, taxonomic rank and full lineage — or looks a taxon up directly by id. Then /v1/search queries the archive for that taxon's records of a chosen type: genome assemblies (with assembly name, level and base count), sequencing runs (with platform, instrument and read counts), biological samples (with collection date and country), annotated sequences, read experiments, analyses, coding and non-coding sequences, and studies — by default including all descendant taxa, or restricted to the exact taxon. Finally /v1/record returns a summary for any ENA accession — assemblies (GCA_…), studies and projects (PRJ…), samples (SAM…/ERS…), sequencing runs (ERR…/SRR…) and sequences — with its title, data type, taxon, scientific name, base and sequence counts and public status. Ideal for bioinformatics pipelines, genome-data discovery, sequencing-metadata harvesting, biodiversity and metagenomics tooling, and research reproducibility. Taxon ids look like 9606 (human); accessions like GCA_000001405. Data from EMBL-EBI ENA, an INSDC archive, free to use.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/ena-api/..."
```

## Pricing
- **Free** (Free) — 600 calls/Mo, 2 req/s
- **Starter** ($9/Mo) — 24,000 calls/Mo, 5 req/s
- **Pro** ($27/Mo) — 115,000 calls/Mo, 12 req/s
- **Mega** ($69/Mo) — 470,000 calls/Mo, 35 req/s

## Endpoints

### Taxonomy

#### `GET /v1/taxon` — Resolve an organism name to its NCBI taxon id

**Parameters:**
- `name` (query, required, string) — Organism scientific name, e.g. Homo sapiens Example: `Homo sapiens`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ena-api/v1/taxon?name=Homo+sapiens"
```

**Response:**
```json
{
    "data": {
        "taxa": [
            {
                "rank": "species",
                "tax_id": "9606",
                "lineage": "Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Euarchontoglires; Primates; Haplorrhini; Catarrhini; Hominidae; Homo",
                "division": "HUM",
                "common_name": "human",
                "scientific_name": "Homo sapiens"
            }
        ],
        "count": 1
    },
    "meta": {
        "timestamp": "2026-06-01T16:23:52.544Z",
        "request_id": "de2b5933-c7fb-4df3-be45-83f9c4afea6a"
    },
    "status": "ok",
    "message": "Taxon resolved",
    "success": true
}
```

### Archive

#### `GET /v1/record` — A record summary by accession

**Parameters:**
- `accession` (query, required, string) — Any ENA accession, e.g. GCA_000001405 Example: `GCA_000001405`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ena-api/v1/record?accession=GCA_000001405"
```

**Response:**
```json
{
    "data": {
        "record": {
            "url": "https://www.ebi.ac.uk/ena/browser/view/GCA_000001405",
            "title": "Genome Reference Consortium Human Build 38 patch release 14 (GRCh38.p14)",
            "status": "public",
            "tax_id": null,
            "accession": "GCA_000001405",
            "data_type": "ASSEMBLY",
            "base_count": null,
            "description": "The human reference assembly defines a standard upon which other whole genome studies are based. Providing the best representation of the human genome is essential for facilitating continued progress in understanding and improving human health. <p>The Human Genome Project (HGP) was an international research collaboration coordinated by the U.S. Department of Energy (DOE) and National Institutes of Health (NIH) whose goals were to determine the sequence of the human chromosomes and identify and map all human genes. The project began in 1988 when Congress funded both the NIH and the DOE and was completed in April of 2003. The HGP used a clone-oriented approach to produce map data, clone reagents, and the assembled human genome sequence. The International Human Genome Sequencing Consortium published the first draft of the human genome, with the sequence 90% complete, in the journal Nature in February 2001. The full sequence was completed in April 2003. The HGP resulted in significant technology, tool, and resource development that continues to have a significant impact on medicin
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search the archive for a taxon's records

**Parameters:**
- `taxon` (query, required, string) — NCBI taxon id (from /v1/taxon), e.g. 9606 Example: `9606`
- `type` (query, optional, string) — Record type: assembly, sequence, read_run, read_experiment, sample, study, analysis, coding, noncoding Example: `assembly`
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ena-api/v1/search?taxon=9606&type=assembly"
```

**Response:**
```json
{
    "data": {
        "type": "assembly",
        "count": 10,
        "scope": "taxon and descendants",
        "taxon": "9606",
        "records": [
            {
                "accession": "GCA_000001405",
                "base_count": "3298912062",
                "assembly_name": "GRCh38.p14",
                "assembly_level": "chromosome",
                "scientific_name": "Homo sapiens",
                "genome_representation": "full"
            },
            {
                "accession": "GCA_000001405",
                "base_count": "3272116950",
                "assembly_name": "GRCh38.p13",
                "assembly_level": "chromosome",
                "scientific_name": "Homo sapiens",
                "genome_representation": "full"
            },
            {
                "accession": "GCA_000001405",
                "base_count": "3257347282",
                "assembly_name": "GRCh38.p12",
                "assembly_level": "chromosome",
                "scientific_name": "Homo sapiens",
                "genome_representation": "full"
            },
            {
                "accession": "GCA_000001405",
                "base_count": "3253848404",
                "assembly_name": "GRCh38.p11",
                "assembly_level": "chromosome",
                "scientific_name": "Homo sapiens",
                "genome_representation": "full"
            },
            {
                "accession": "GCA_000001405",
                "base_count": "3241
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ena-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "The European Nucleotide Archive (ENA) is EMBL-EBI's comprehensive public archive of nucleotide sequence — one of the three INSDC partners alongside NCBI GenBank and DDBJ — holding raw sequencing reads, assembled and annotated genomes, sequences, samples and studies for all of life. Workflow: /v1/taxon?name=Homo sapiens resolves an organism name to its NCBI taxon id, scientific name, rank and lineage (or pass taxon=9606 to look up by id); then /v1/search?taxon=9606&type=assembly searches the archive for that taxon's records — type is one of assembly, sequence, read_run, read_experiment, sample, study, analysis, coding, noncoding (default assembly), tree=false restricts to the exact taxon instead of including descendants, limit 1-100; finally /v1/record?accession=GCA_000001405 returns a record's summary (title, data type, taxon, scientific name, base/sequence counts, status) for any ENA accession — assemblies (GCA_…), studies/projects (PRJ…), samples (SAM…/ERS…), runs (ERR…/SRR…), sequences and more. Data from EMBL-EBI ENA (INSDC, free to use). For protein sequences see the UniProt API, for annotated reference genomes Ensembl, for protein structures AlphaFold, for metagenomics MGnify.",
        "source": "European Nucleotide Archive — EMBL-EBI (ebi.ac.uk/ena), an INSDC partner",
        "endpoints": [
            "/v1/taxon",
            "/v1/search",
            "/v1/record",
            "/v1/meta"
        ],
        "resu
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/ena-api
OpenAPI spec: https://www.oanor.com/api/ena-api/openapi.json
