Skip to main content
This guide takes you from a blank screen to your first successful request to OpenAI / Claude / Gemini through RuAPI.
Base URL — in your client this is the only thing you swap (click the icon at the top-right of each box to copy):OpenAI-compatible · Cursor / Cline / Codex / OpenAI SDK — with /v1
https://www.ruapi.ai/v1
Anthropic · Claude Code / Anthropic SDK — without /v1
https://www.ruapi.ai
⚠️ The Anthropic endpoint takes no /v1 — the SDK appends /v1/messages itself, so an extra /v1 returns 404.

Step 1. Sign up

Open www.ruapi.ai and click Sign up. Enter email, password and the verification code that arrives in your inbox.
Didn’t get the email? Check your Spam folder. Still nothing — write to [email protected].

Step 2. Top up (USDT)

Once logged in, go to Wallet and pick an amount to top up. Minimum is 10 USDT.
Send USDT only via the network you selected on the payment page (TRC20 / BEP20 / Polygon). Sending via a different network will result in permanent loss of funds.
After the on-chain transaction is confirmed (typically 1-5 minutes), your balance updates automatically.

Step 3. Create an API key

In the dashboard, go to TokensCreate token.
  • Name: anything for your own reference, e.g. local-dev.
  • Expiry: leave “Never” unless you need otherwise.
  • Spend limit: you can cap the token at a USD amount.
Copy the resulting key — it starts with sk-.... Save it somewhere safe; if you need it again later, you can view the full key from the Tokens page in the console.

Step 4. Base URL (base_url)

RuAPI supports two protocols, and the address differs between them — this is the #1 place people get wrong:
ProtocolWhat to put in base_urlUsed by
OpenAI-compatiblehttps://www.ruapi.ai/v1  ← with /v1Cursor, Cline, Codex, OpenAI SDK
Anthropichttps://www.ruapi.ai  ← without /v1Claude Code, Anthropic SDK
For Anthropic, do not append /v1 to the URL. The SDK adds /v1/messages itself, and an extra /v1 results in a 404. See the Claude Code and Codex guides.

Step 5. First request

Example for the OpenAI-compatible protocol — use your favourite SDK and just swap the base_url:
from openai import OpenAI

client = OpenAI(
    api_key="sk-YOUR_KEY",
    base_url="https://www.ruapi.ai/v1",
)

response = client.chat.completions.create(
    model="claude-opus-4-8",  # exact model names are on the main site pricing page
    messages=[{"role": "user", "content": "Hello!"}],
)

print(response.choices[0].message.content)

Step 6. Switch models

To switch to another model, change only the model parameter:
model="claude-opus-4-8"  # exact model names are on the main site pricing page
Change the model field to switch models. See the main site pricing page for available models. The full list of available models is on the Pricing page of the main site.

What’s next