# Gene Expression API
> Functional-genomics experiments as an API — powered by NCBI GEO (Gene Expression Omnibus), the largest public repository of gene-expression data. GEO archives expression series and curated datasets from microarray and high-throughput-sequencing experiments across every organism. Search experiments by keyword and optionally by organism, and look up any series or dataset to get its metadata: title, summary, assay type (expression profiling by array or by sequencing), organism, number of samples, platform and the publication behind it. From β-cell stress studies to cancer transcriptomics across human and mouse, it turns the GEO archive into a simple search-and-fetch API for transcriptomics, bioinformatics and research-data discovery. A gene-expression / functional-genomics dataset repository — distinct from sequence (ENA), variant (ClinVar, dbVar), structure (PDB) and ontology databases. Open data from NCBI GEO (public domain).

## 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/geodatasets-api/..."
```

## Pricing
- **Free** (Free) — 2,250 calls/Mo, 2 req/s
- **Starter** ($6/Mo) — 45,000 calls/Mo, 8 req/s
- **Pro** ($21/Mo) — 225,000 calls/Mo, 20 req/s
- **Mega** ($57/Mo) — 825,000 calls/Mo, 50 req/s

## Endpoints

### Gene Expression

#### `GET /v1/dataset` — A GEO series/dataset's metadata

**Parameters:**
- `id` (query, optional, string) — A GEO accession (from /v1/search) Example: `GSE282680`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/geodatasets-api/v1/dataset?id=GSE282680"
```

#### `GET /v1/search` — Search gene-expression experiments

**Parameters:**
- `q` (query, optional, string) — Search keywords Example: `diabetes islet`
- `organism` (query, optional, string) — Organism filter, e.g. Homo sapiens
- `limit` (query, optional, string) — Max results (1-100, default 20)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/geodatasets-api/v1/search?q=diabetes+islet"
```

### Meta

#### `GET /v1/meta` — Endpoint catalogue & notes

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


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