1ToolRing Docs Get a key
View as markdown
getting-started

1. Create an account

  1. Open the dashboard.
  2. Register with email and password, or continue with Google or GitHub.
  3. Verify your email. A verified email is required before you can create a key.

2. Add credits

Calls are paid from a prepaid balance (1 credit = Rp1). Open Billing in the dashboard and top up through Polar checkout in one of the amounts on the pricing page. Credits are added once the payment is confirmed.

New accounts currently receive a one-time 3,000-credit signup bonus when the email is verified (the grant is limited per network per day). It is not a monthly allowance.

3. Create an API key

Open API keys in the dashboard and create a key. The raw key is shown once. 1ToolRing stores only its SHA-256 hash, so copy it now.

4. Find a tool

The catalog needs no key.

curl "https://api.1toolring.com/api/v1/catalog/search?q=email"

Each result carries id, method, path, price_credits and price_unit. Read the price before you call.

5. Call it

curl -X POST https://api.1toolring.com/api/v1/email/verify \
  -H "Authorization: Bearer $TOOLRING_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com"}'
// JavaScript
const res = await fetch('https://api.1toolring.com/api/v1/email/verify', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.TOOLRING_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ email: 'user@example.com' }),
});
const body = await res.json();
# Python
import os
import requests

res = requests.post(
    "https://api.1toolring.com/api/v1/email/verify",
    headers={"Authorization": f"Bearer {os.environ['TOOLRING_KEY']}"},
    json={"email": "user@example.com"},
    timeout=30,
)
data = res.json()

6. Read the response and the charge

{
  "data": {
    "email": "user@example.com",
    "quality": "good",
    "result": "ok",
    "resultcode": 1,
    "is_free": false,
    "is_role": false,
    "is_disposable": false,
    "credits_used": 105,
    "cached": false,
    "checked_at": "2026-11-01T09:00:00Z"
  }
}

The X-ToolRing-Credits response header is the number of credits actually charged for the call. Here it is 105. A catch_all or unknown verdict charges 0, a cached repeat charges 0, and a failed call charges 0.

Next