# Quickstart

> From no account to a first answer in three steps; then the same call in Python and Node.

Source: https://firmtape.com/docs/developers/quickstart

From no account to a first answer in three steps; then the same call in Python and Node.

## With no key: the archive

```sh
curl \
  "https://firmtape.com/api/days"
```

## With a key: the live levels

1. Start LIVE on https://firmtape.com/pricing.
2. Make a key on Account, Integrations (https://firmtape.com/account#integrations). It starts `ftpl_`.
3. Call it:

```sh
curl \
  -H "Authorization: Bearer $FIRMTAPE_LIVE_KEY" \
  "https://firmtape.com/api/v1/levels?sym=SPX,ES,QQQ"
```

```python
import os, requests

H = {"Authorization": f"Bearer {os.environ['FIRMTAPE_LIVE_KEY']}"}
r = requests.get("https://firmtape.com/api/v1/levels?sym=SPX,ES,QQQ", headers=H)
print(r.status_code, r.text[:500])
```

```js
const r = await fetch("https://firmtape.com/api/v1/levels?sym=SPX,ES,QQQ", {
  method: "GET",
  headers: { Authorization: `Bearer ${process.env.FIRMTAPE_LIVE_KEY}` },
});
console.log(r.status, await r.text());
```

## Poll it well

One call for every symbol, `If-None-Match` with the last `ETag` (a 304 is not counted), `next_update_s` between calls.
