# Cell Reference API
> Spreadsheet cell-reference maths for Excel, Google Sheets, LibreOffice and CSV tooling. Parse an A1 reference (AA10) into its column letter, 1-based column number, row and R1C1 form; build an A1 (and R1C1) reference from a row and a column given either as a letter or a number; and convert a column letter to its number and back (A→1, Z→26, AA→27, ZZ→702). Absolute markers ($A$1) are accepted. Perfect for code that generates spreadsheets, maps data to cells, builds formulas, or imports and exports ranges. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. Distinct from CSV parsing and from generic number-base conversion.

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

## Pricing
- **Free** (Free) — 800 calls/Mo, 2 req/s
- **Starter** ($1/Mo) — 6,500 calls/Mo, 8 req/s
- **Pro** ($19/Mo) — 127,000 calls/Mo, 20 req/s
- **Mega** ($55/Mo) — 655,000 calls/Mo, 50 req/s

## Endpoints

### Cell Reference

#### `GET /v1/column` — Column letter <-> number

**Parameters:**
- `column` (query, required, string) — A letter (AA) or a number (27) Example: `AA`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cellref-api/v1/column?column=AA"
```

**Response:**
```json
{
    "data": {
        "letter": "AA",
        "number": 27
    },
    "meta": {
        "timestamp": "2026-06-03T01:09:50.566Z",
        "request_id": "48e73862-41dc-4216-b506-6f0d1c41c440"
    },
    "status": "ok",
    "message": "Column letter <-> number",
    "success": true
}
```

#### `GET /v1/parse` — Parse an A1 cell reference

**Parameters:**
- `cell` (query, required, string) — A1 reference Example: `AA10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cellref-api/v1/parse?cell=AA10"
```

**Response:**
```json
{
    "data": {
        "row": 10,
        "cell": "AA10",
        "r1c1": "R10C27",
        "column": "AA",
        "column_number": 27
    },
    "meta": {
        "timestamp": "2026-06-03T01:09:50.661Z",
        "request_id": "83dbc09d-995b-4a58-99aa-4930d7c2dec0"
    },
    "status": "ok",
    "message": "Parse an A1 cell reference",
    "success": true
}
```

#### `GET /v1/to-a1` — Build an A1 reference

**Parameters:**
- `row` (query, required, string) — Row (1-based) Example: `3`
- `column` (query, required, string) — Column letter or number Example: `AA`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cellref-api/v1/to-a1?row=3&column=AA"
```

**Response:**
```json
{
    "data": {
        "a1": "AA3",
        "row": 3,
        "r1c1": "R3C27",
        "column": "AA",
        "column_number": 27
    },
    "meta": {
        "timestamp": "2026-06-03T01:09:50.755Z",
        "request_id": "760b3b7b-3f13-4f43-8b0e-b8423a1e0d04"
    },
    "status": "ok",
    "message": "Row+column to A1",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Spec

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

**Response:**
```json
{
    "data": {
        "name": "Cell Reference API",
        "notes": "Columns A–ZZZ (1–18278); rows 1–1048576 (the Excel maximum). Absolute markers ($) are accepted and ignored. Nothing is stored.",
        "version": "v1",
        "endpoints": [
            {
                "path": "/v1/parse",
                "params": {
                    "cell": "an A1 reference, e.g. AA10 (required)"
                },
                "returns": "column letter + number, row, R1C1 form"
            },
            {
                "path": "/v1/to-a1",
                "params": {
                    "row": "1-based row (required)",
                    "column": "letter or number (required)"
                },
                "returns": "the A1 and R1C1 references"
            },
            {
                "path": "/v1/column",
                "params": {
                    "column": "a letter (AA) or a number (27) (required)"
                },
                "returns": "the other form"
            },
            {
                "path": "/v1/meta",
                "params": [],
                "returns": "this document"
            }
        ],
        "description": "Spreadsheet cell-reference maths for Excel, Google Sheets and CSV tooling — convert between A1 and R1C1 notation and between column letters and numbers. Pure local, no key."
    },
    "meta": {
        "timestamp": "2026-06-03T01:09:50.845Z",
        "request_id": "f6414d78-0feb-4667-9ed6-9bf1acdcbd4d"
   
…(truncated, see openapi.json for full schema)
```


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