# BSE India Stock API
> Live individual-stock data from the Bombay Stock Exchange (BSE), Asia's oldest exchange, with no key. Read the live quote for any listed stock by its BSE scrip code (last price, day change, open/high/low, previous close); get the company master detail (ISIN, industry, trading group, face value, index membership); search BSE-listed companies by name to resolve a scrip code; and read the 52-week high/low. The Indian single-stock / equity-quote / company-lookup layer for trading dashboards, screeners and fintech — distinct from index-and-movers readers, this is stock-level BSE data by scrip code. Live from BSE; short cache only.

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

## Pricing
- **Free** (Free) — 19,000 calls/Mo, 3 req/s
- **Starter** ($17/Mo) — 380,000 calls/Mo, 8 req/s
- **Pro** ($47/Mo) — 1,950,000 calls/Mo, 20 req/s
- **Enterprise** ($116/Mo) — 9,700,000 calls/Mo, 60 req/s

## Endpoints

### Stocks

#### `GET /v1/company` — Company master detail

**Parameters:**
- `scrip` (query, required, string) — BSE scrip code, e.g. 532540 (TCS) Example: `532540`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bse-api/v1/company?scrip=532540"
```

**Response:**
```json
{
    "data": {
        "isin": "INE467B01029",
        "note": "The company master detail for one BSE-listed stock — its security id, ISIN, industry, trading group, index membership and face value. Pass scrip (the BSE scrip code, e.g. 532540 for TCS).",
        "group": "A",
        "index": "BSE SENSEX",
        "source": "BSE India",
        "industry": "Computers - Software & Consulting",
        "face_value": 1,
        "scrip_code": "532540",
        "group_index": "A / BSE SENSEX",
        "security_id": "TCS"
    },
    "meta": {
        "timestamp": "2026-06-15T02:11:15.761Z",
        "request_id": "808b062c-bfba-4c5d-9a8d-3aee7ed36269"
    },
    "status": "ok",
    "message": "Company detail retrieved successfully",
    "success": true
}
```

#### `GET /v1/highlow` — 52-week high / low for a stock

**Parameters:**
- `scrip` (query, required, string) — BSE scrip code, e.g. 500325 Example: `500325`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bse-api/v1/highlow?scrip=500325"
```

**Response:**
```json
{
    "data": {
        "note": "The 52-week high and low for one BSE stock, with the dates each was set. Pass scrip (the BSE scrip code, e.g. 500325).",
        "source": "BSE India",
        "scrip_code": "500325",
        "week52_low": null,
        "week52_high": null,
        "week52_low_date": null,
        "week52_high_date": null
    },
    "meta": {
        "timestamp": "2026-06-15T02:11:15.993Z",
        "request_id": "1347c1d8-4d49-4503-9e08-e6dd38ce6214"
    },
    "status": "ok",
    "message": "52-week high/low retrieved successfully",
    "success": true
}
```

#### `GET /v1/quote` — Live quote for a stock

**Parameters:**
- `scrip` (query, required, string) — BSE scrip code, e.g. 500325 (Reliance) Example: `500325`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bse-api/v1/quote?scrip=500325"
```

**Response:**
```json
{
    "data": {
        "low": 1262.1,
        "high": 1297.45,
        "name": "Reliance Industries Ltd",
        "note": "The live BSE quote for one listed stock by its scrip code — last price, day change (absolute and percent), open/high/low and previous close. Pass scrip (the BSE scrip code, e.g. 500325 for Reliance). Use /v1/search to find a code by name.",
        "open": 1278.95,
        "as_on": "12 Jun 26 | 16:00",
        "change": 30.15,
        "source": "BSE India",
        "category": "Listed",
        "last_price": 1292.75,
        "scrip_code": "500325",
        "short_name": "reliance",
        "percent_change": 2.39,
        "previous_close": 1262.6
    },
    "meta": {
        "timestamp": "2026-06-15T02:11:17.148Z",
        "request_id": "b0b1037b-72ac-4c52-9c68-676852f2a628"
    },
    "status": "ok",
    "message": "Quote retrieved successfully",
    "success": true
}
```

#### `GET /v1/search` — Find a scrip code by company name

**Parameters:**
- `q` (query, required, string) — Company name / keyword (min 2 chars) Example: `reliance`

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

**Response:**
```json
{
    "data": {
        "note": "Search BSE-listed companies by name — each match with its scrip code, company name and ISIN. Pass q (e.g. reliance, tata). Use a returned scrip_code with the quote and company endpoints.",
        "count": 8,
        "query": "reliance",
        "source": "BSE India",
        "results": [
            {
                "isin": "INE002A01018",
                "name": "RELIANCE INDUSTRIES LTD",
                "scrip_code": "500325"
            },
            {
                "isin": "INE036A01016",
                "name": "RELIANCE INFRASTRUCTURE LTD",
                "scrip_code": "500390"
            },
            {
                "isin": "INE750D01016",
                "name": "RELIANCE CHEMOTEX INDUSTRIES LTD",
                "scrip_code": "503162"
            },
            {
                "isin": "INE046A01015",
                "name": "RELIANCE INDUSTRIAL INFRASTRUCTURE LTD",
                "scrip_code": "523445"
            },
            {
                "isin": "INE330H01018",
                "name": "RELIANCE COMMUNICATIONS LTD",
                "scrip_code": "532712"
            },
            {
                "isin": "INE614G01033",
                "name": "RELIANCE POWER LTD",
                "scrip_code": "532939"
            },
            {
                "isin": "INE217K01011",
                "name": "RELIANCE HOME FINANCE LTD",
                "scrip_code": "540709"
            },
            {
                "is
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Endpoints & source

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

**Response:**
```json
{
    "data": {
        "sample": {
            "reliance_ltp": 1292.75
        },
        "source": "BSE India public site API (api.bseindia.com), keyless",
        "service": "bse-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/quote": "Live quote for a stock (scrip code).",
            "GET /v1/search": "Find a scrip code by company name (q).",
            "GET /v1/company": "Company master detail (scrip code).",
            "GET /v1/highlow": "52-week high/low (scrip code)."
        },
        "description": "Live individual-stock data from the Bombay Stock Exchange (BSE) with no key: the live quote for any listed stock by its scrip code (last price, day change, open/high/low, previous close), the company master detail (ISIN, industry, group, face value, index membership), a name-to-scrip-code search, and the 52-week high/low. The Indian single-stock / equity-quote / company-lookup layer for trading dashboards, screeners and fintech. Distinct from index-and-movers readers. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-15T02:11:17.477Z",
        "request_id": "b4636b42-0b4e-49bf-836c-dfa03b961604"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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