# Quickstart

Your first API call in 60 seconds.

## 1. Get your API key

Pick a plan at [roxyapi.com/pricing](/pricing). The key lands in your inbox seconds after checkout. No account, no approval.

Want to try before paying? The [API Playground](/api-reference) ships with a pre-filled test key. Make live calls from your browser, zero signup.

## 2. Call your first endpoint

Pick a language tab and paste.


### curl
```bash
curl -X POST https://roxyapi.com/api/v2/tarot/daily \
  -H "X-API-Key: $ROXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### TypeScript SDK
```bash
npm install @roxyapi/sdk
```

```typescript
import { createRoxy } from '@roxyapi/sdk';

const roxy = createRoxy(process.env.ROXY_API_KEY!);

const { data } = await roxy.tarot.getDailyCard({ body: {} });
console.log(data.card.name);      // "The Star"
console.log(data.dailyMessage);   // concise daily guidance
```

### Python SDK
```bash
pip install roxy-sdk
```

```python
from roxy_sdk import create_roxy

roxy = create_roxy("your-api-key")

card = roxy.tarot.get_daily_card()
print(card["card"]["name"])       # "The Star"
print(card["dailyMessage"])
```

### PHP SDK
```bash
composer require roxyapi/sdk
```

```php
<?php

use function RoxyAPI\Sdk\createRoxy;

$roxy = createRoxy(getenv('ROXY_API_KEY'));

$card = $roxy->tarot->getDailyCard();
echo $card['card']['name'];    // "The Star"
echo $card['dailyMessage'];
```

### MCP
Register Roxy once as an MCP server and any agent (Claude Code, Cursor, Claude Desktop) can call every Roxy endpoint in natural language. Full setup in the [MCP guide](/docs/mcp).

```bash
claude mcp add-json --scope user roxy-tarot \
  '{"type":"http","url":"https://roxyapi.com/mcp/tarot","headers":{"X-API-Key":"YOUR_KEY"}}'
```

Then ask Claude: "draw me a tarot card."

## 3. See the response

```json
{
  "date": "2026-04-23",
  "card": {
    "name": "The Star",
    "arcana": "major",
    "keywords": ["Hope", "faith", "renewal"],
    "meaning": "A welcome reprieve after upheaval...",
    "imageUrl": "https://roxyapi.com/img/tarot/major/star.jpg"
  },
  "dailyMessage": "Your card for today: The Star..."
}
```

That is it. Every Roxy endpoint works the same way: send a request, get typed JSON back.

## What to do next

- **Ship production code.** The [SDK guide](/docs/sdk) covers the typed TypeScript, Python, and PHP clients, error handling, and framework examples.
- **Build with AI agents.** The [MCP guide](/docs/mcp) covers Claude Code, Cursor, Antigravity, Claude Desktop, and custom Streamable HTTP clients. One command per tool, then the agent picks the right endpoint from natural language.
- **Pick the right endpoint.** Every [domain guide](/docs/guides/astrology) lists the most-used endpoints in order, with copy-paste code per domain.
- **Browse every endpoint.** The [API reference](/api-reference) has a pre-filled test key and lets you call any of the 145+ endpoints live in the browser.

## Prefer to vibe-code?

If you are building in Cursor, Claude Code, Bolt, Lovable, or Next.js, paste one of our [AI Prompts](/docs/prompts) and the agent scaffolds a working app end to end. No endpoint-picking required.

## Coding agent? Read AGENTS.md first

If you are an AI coding agent (Cursor, Codex, Windsurf, Aider, Claude Code, Gemini CLI), point yourself at <a href="/AGENTS.md" target="_blank" rel="noopener" title="AGENTS.md execution playbook - Rule 0, common tasks, body shapes, gotchas, no filler. Built for blind agents to ship apps without combing the full docs site.">AGENTS.md</a> first. It is the tight 120-line execution playbook with Rule 0 (location first), all common-task body shapes, the error contract, and field gotchas. Built for blind agents to ship without crawling the full docs site.
