# Yahoo Finance Quotes API

Price history from Yahoo Finance with open, high, low, close and volume over the range and interval you choose. Pass Yahoo tickers or index names, US or global (AAPL, RELIANCE.NS, NIFTY, SENSEX).

**Pricing:** $0.002 per quote

**Endpoint:** `POST /v1/data/yahoo-finance/quotes/run`

**Auth:** `Authorization: Bearer mk_live_...`

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tickers` | array | Yes | One or more Yahoo Finance tickers. US listings as AAPL or BRK-B; other markets need the exchange suffix (RELIANCE.NS or 500325.BO for India, VOD.L, 7203.T); NSE:RELIANCE also works. Indices as ^ symbols (^NSEI, ^BSESN, ^GSPC) or by name: NIFTY, BANKNIFTY, SENSEX, SP500, NASDAQ100, FTSE100. An unknown ticker is reported as an error. One request reads them all. |
| `range` | string | No | Range to use. 1 month by default. |
| `interval` | string | No | Interval to use. 1 day by default. |
| `maxResults` | integer | No | How many quotes to return in total. Defaults to 100; use 0 for all. |

## Example

`?wait=true` holds the request open until the run finishes (up to 60s) and returns the rows inline: one request, no polling.

```bash
curl -X POST "https://api.mindcase.co/v1/data/yahoo-finance/quotes/run?wait=true" \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"params":{"tickers":["..."]}}'
```

```python
import requests

resp = requests.post(
    "https://api.mindcase.co/v1/data/yahoo-finance/quotes/run",
    params={"wait": "true"},
    headers={"Authorization": "Bearer mk_live_YOUR_API_KEY"},
    json={"params": {
    "tickers": [
        "..."
    ]
}},
)
rows = resp.json()["data"]
```

## Longer runs

If the run is still going at the 60s ceiling you get back `{ job_id, status: "running" }` instead of rows (same if the result is over 100 rows; those come back `truncated`). Poll with that `job_id`:

```bash
# 1) check status
curl https://api.mindcase.co/v1/jobs/JOB_ID \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY"

# 2) when status == completed, fetch the rows
curl https://api.mindcase.co/v1/jobs/JOB_ID/results \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY"
```

Full API reference (auth, jobs, balance, SDKs, MCP): https://mindcase.co/skills.md

## Response columns

| Field | Display name | Type |
|-------|--------------|------|
| `symbol` | Symbol | text |
| `date` | Date | date |
| `name` | Name | text |
| `exchange` | Exchange | text |
| `currency` | Currency | text |
| `open` | Open | number |
| `high` | High | number |
| `low` | Low | number |
| `close` | Close | number |
| `adjClose` | Adj Close | number |
| `volume` | Volume | number |
