# Quintarthai Developer Documentation

Programmatic access to North American equity market data, fundamentals and filing-derived metrics.

- **Specification:** [openapi.json](https://quintarthai.com/openapi.json) ·
  [openapi.yaml](https://quintarthai.com/openapi.yaml) (OpenAPI 3.1)
- **Agent overview:** [llms.txt](https://quintarthai.com/llms.txt)
- **Base URL:** `https://quintarthai.com`

## Authentication

Every operation in the published specification is **public and requires no key**. Call them directly.

An API key raises rate limits and unlocks additional surfaces. Issue one from
[developers.html](https://quintarthai.com/developers.html) while signed in, then send it as a header:

```
X-API-Key: qt_your_key_here
```

Rate limits per tier are published keylessly - do not guess them:

```
curl https://quintarthai.com/api/v1/data/plans
```

## First calls

Resolve a symbol, then fetch data for it.

```
# 1. validate the ticker
curl "https://quintarthai.com/api/v1/market/symbols?exchange=TO&limit=5"

# 2. batch quotes - up to 30 symbols in ONE call; do not loop
curl "https://quintarthai.com/api/v1/market/quotes?symbols=AAPL,MSFT,SHOP.TO"

# 3. fundamentals
curl "https://quintarthai.com/api/v1/market/fundamentals/AAPL"

# 4. daily bars
curl "https://quintarthai.com/api/v1/market/eod/AAPL?from=2026-01-01"

# 5. screen the whole universe
curl "https://quintarthai.com/api/v1/market/screener?limit=50&sort=market_capitalization.desc"
```

## Symbols

US symbols carry no suffix (`AAPL`). Other venues use a suffix: `SHOP.TO` (Toronto),
`ABC.V` (TSX Venture). Use the symbols operation to resolve a ticker before relying on it.

## Errors

Errors are JSON, never HTML, and carry a stable machine-readable code plus a resolution hint:

```json
{
  "detail": "No such API endpoint.",
  "code": "not_found",
  "hint": "This path is not part of the public API. Fetch https://quintarthai.com/openapi.json ...",
  "docs": "https://quintarthai.com/openapi.json"
}
```

| Status | `code` | Meaning |
|---|---|---|
| 400 | `bad_request` | Malformed parameters. The hint names what to change. |
| 404 | `not_found` | Unknown endpoint, or no data for that resource. |
| 429 | `rate_limited` | Slow down, or use a key for a higher tier. |
| 5xx | `upstream_unavailable` | Transient. Retry with exponential backoff. |

## Notes that will save you time

- `adjusted_close` is **restated retroactively** after a split or dividend. A cached price series
  goes stale after a corporate action - check
  [corporate-actions](https://quintarthai.com/api/v1/market/corporate-actions/AAPL) before trusting a cache.
- `next_report_date` on the earnings operation is present **only when the issuer has confirmed it**.
  It is never inferred, so `null` means "not yet announced", not "no data".
- An unknown symbol on the end-of-day operation returns `count: 0` with an empty array rather than a
  404. Gate on the row count, not on the status code.

## CLI

```
npm install -g https://quintarthai.com/cli/quintarthai-cli.tgz
quintarthai quotes AAPL,SHOP.TO
quintarthai screen --limit 25 | jq '.data[].code'
```

Zero dependencies, Node 18+. Command table generated from `openapi.json`.
[README](https://quintarthai.com/cli/README.md).

## MCP

Both endpoints refuse anonymous callers with HTTP 401.

- [https://quintarthai.com/mcp](https://quintarthai.com/mcp) - general research tools. Requires a Trader-tier or higher subscription.
- [https://quintarthai.com/mcp/mineral](https://quintarthai.com/mcp/mineral) - mineral and mining data. Requires an API key.

## Terms

Use is governed by the [Terms of Service](https://quintarthai.com/legal/terms-of-service.html).
Data sourcing and regulatory disclosures: [disclosures](https://quintarthai.com/legal/disclosures.html).

This API returns research data. It is not investment advice and contains no recommendations.
