# Quickstart

From no account to a live response in about a minute.

## 1. Get a key

[Sign in with your email](https://developers.motorsdynamic.com/signin). We send a 6-digit code, and your first key is created the moment you enter it. The Free plan gives you 1,000 calls a month and needs no card.

Keys start with `md_dev_`. Keep one in an environment variable:

```bash
export MD_API_KEY="md_dev_..."
```

## 2. Make a call

VIN decode:

```bash
curl "https://api.motorsdynamic.com/api/v2/vin/1HGCM82633A004352" \
  -H "x-api-key: $MD_API_KEY"
```

The same call in JavaScript:

```javascript
const res = await fetch("https://api.motorsdynamic.com/api/v2/vin/1HGCM82633A004352", {
  headers: { "x-api-key": process.env.MD_API_KEY },
});
if (!res.ok) throw new Error(`${res.status} ${(await res.json()).error}`);
const data = await res.json();
console.log(data);
```

And in Python:

```python
import os, requests

res = requests.get(
    "https://api.motorsdynamic.com/api/v2/vin/1HGCM82633A004352",
    headers={"x-api-key": os.environ["MD_API_KEY"]},
    timeout=10,
)
res.raise_for_status()
print(res.json())
```

## 3. Read the headers

Every response tells you where you stand:

| Header | Meaning |
| --- | --- |
| `X-MD-Plan` | The plan the key is on. |
| `X-MD-Units` | Billing units this endpoint costs per successful call. |
| `X-MD-Calls-Used`, `X-MD-Calls-Remaining` | Free plan: calls used and left this month. |
| `X-RateLimit-Remaining`, `X-RateLimit-Reset` | Requests left in the current minute, and seconds until it resets. |

## 4. Go further

- Browse every endpoint in the [API reference](https://developers.motorsdynamic.com/docs).
- Give an AI agent the same data with the [hosted MCP server](https://developers.motorsdynamic.com/docs/mcp). No key to paste, you sign in once.
- Watch usage and manage keys in the [dashboard](https://developers.motorsdynamic.com/dashboard).
