# 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"
```

**Response:**
```json
{
    "data": {
        "dataset": {
            "uid": "200282680",
            "url": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE282680",
            "date": "2026/05/27",
            "type": "GSE",
            "assay": "Expression profiling by high throughput sequencing",
            "title": "Uncontrolled endoplasmic reticulum stress response leads to pancreatic beta cell death via JNK andp53",
            "series": "GSE282680",
            "samples": 16,
            "summary": "Endoplasmic reticulum (ER) stress is a cause of beta cell death in both T1D and T2D. However, no therapeutics to reduce beta cell death have been approved, in part because molecular mechanisms driving beta cell death during ER stress are insufficiently defined. GRP78, an ER chaperone, is the critical regulator of unfolded protein response (UPR) stress response pathways. GRP78 binds and suppresses UPR initiators during the unstressed state, releasing them to promote UPR activation during stress. To study pathways causing beta cell decompensation during active ER stress and the related stress response, we engineered mice genetically lacking GRP78 in pancreatic beta cells. GRP78 deletion caused acute insulin deficient diabetes in pups before weaning, with reduced beta cell mass due to increased apoptosis. Molecular studies identified deregulated UPR, specifically IRE1 activity, as driving cell death. Unbiased and targeted analyses outline a pathway in which JNK activity downstream of IRE1
…(truncated, see openapi.json for full schema)
```

#### `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"
```

**Response:**
```json
{
    "data": {
        "count": 20,
        "query": "diabetes islet",
        "total": 7593,
        "datasets": [
            {
                "date": "2026/05/28",
                "type": "GSE",
                "assay": "Expression profiling by high throughput sequencing",
                "title": "A dish-to-biobank framework links β-cell nutrient-stress programs to genetic and dietary risk for Type 2 Diabetes",
                "samples": 6,
                "organism": "Homo sapiens",
                "platform": "GPL24676",
                "accession": "GSE333721",
                "pubmed_ids": []
            },
            {
                "date": "2026/05/27",
                "type": "GSE",
                "assay": "Expression profiling by high throughput sequencing",
                "title": "Uncontrolled endoplasmic reticulum stress response leads to pancreatic beta cell death via JNK andp53",
                "samples": 16,
                "organism": "Mus musculus",
                "platform": "GPL21103",
                "accession": "GSE282680",
                "pubmed_ids": []
            },
            {
                "date": "2026/05/25",
                "type": "GSE",
                "assay": "Genome binding/occupancy profiling by high throughput sequencing; Expression profiling by high throughput sequencing",
                "title": "Temporal Single-Cell Transcriptional Dynamics of Murine Pancreatic Islet Remodeling During Hyperglycaemia Progression",
   
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "note": "GEO (the Gene Expression Omnibus) is NCBI's public repository of functional-genomics data — gene-expression series and curated datasets from microarray and high-throughput sequencing experiments. /v1/search?q=diabetes islet finds experiments by keyword (optionally filter by organism=Homo sapiens), returning each record's GEO accession (e.g. GSE282680), type (GSE series / GDS dataset), assay type (expression profiling by array or sequencing), organism, number of samples, platform (GPL id), submission date and linked PubMed ids; /v1/dataset?id=GSE282680 returns a single record's full metadata — title, summary, assay, organism, sample count, platform, series and the experiment's description (you may also pass a numeric uid). Accessions look like GSE282680 (series), GDS… (dataset), GPL… (platform). Data from NCBI GEO (public domain). A gene-expression / functional-genomics dataset repository — distinct from sequence (ENA), variant (ClinVar/dbVar), structure (PDB) and ontology databases. Ideal for bioinformatics, transcriptomics and research-data discovery tools.",
        "source": "NCBI GEO — Gene Expression Omnibus (ncbi.nlm.nih.gov/geo)",
        "endpoints": [
            "/v1/search",
            "/v1/dataset",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T23:40:59.300Z",
        "request_id": "3bebdd6e-c82b-4efa-a8ae-af2ddf35855a"
    },
    "status": "ok",
    "message": "Meta retrieved",
…(truncated, see openapi.json for full schema)
```


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