Use code "ST5" at checkout for 5% OFF your entire order.
Sarim Tools

Reseller API

Run your own store with our products. Your website reads 181 products with their prices, stock and images from our API. When your customer pays you, your site orders from us, the price comes out of your Sarim Tools wallet, and ready accounts are delivered in the same answer.

Create a free account Log in

How it works

  1. Create a free account, top up your wallet, and create a key under Account → Reseller API. Keep the key on your server: never put it in your website's JavaScript, or anyone could spend your wallet.
  2. Read GET /products to show our products, prices and images on your site.
  3. When your customer pays you, call POST /order. We take the price from your wallet and return the login straight away for ready accounts.

Base address and key

https://sarimtools.com/api/v1

Send your key in the X-API-Key header (or Authorization: Bearer YOUR_KEY). Every answer is JSON with "ok": true or "ok": false and an error code.

Machine-readable spec: openapi.json (OpenAPI 3.1). Import it into Postman, Insomnia or Swagger, or give it to an AI coding assistant to build your integration.

Endpoints

RequestWhat it does
GET /balanceYour wallet balance in PKR.
GET /brandsEvery brand with its logo and how many products are in stock.
GET /productsEvery product: id, name, brand, price (what you pay), stock, delivery type, length, warranty, what an order needs, description, image and banner. Filters: ?brand=chatgpt, ?in_stock=1, ?q=plus. One product: ?id=p_…
POST /orderBuy a product, paid from your wallet. Ready accounts come back with the login in the same answer.
GET /order?id=ST…One order with its status and logins. Also works with ?reference=your-order-number.
GET /ordersYour latest orders, newest first. ?limit=20&page=1

List products

curl "https://sarimtools.com/api/v1/products?in_stock=1" \
  -H "X-API-Key: YOUR_KEY"

Each product looks like this (from our live catalog):

{
    "id": "p_e064575d4165",
    "name": "ChatGPT Plus 30D",
    "brand": {
        "slug": "chatgpt",
        "name": "ChatGPT"
    },
    "price": 1800,
    "shop_price": 1800,
    "currency": "PKR",
    "in_stock": true,
    "stock": 26,
    "max_quantity": 20,
    "delivery": "ready_account",
    "duration": "30 days",
    "warranty": "7-day warranty",
    "requires": [],
    "months_options": null,
    "description": "ChatGPT Plus GGPay stable - Format: Mail | Pass | 2FA - Pac…",
    "image": "https://sarimtools.com/assets/brands/chatgpt.png",
    "banner": "https://sarimtools.com/og/tools/chatgpt/chatgpt-plus-30d-83763294.png",
    "url": "https://sarimtools.com/tools/chatgpt/chatgpt-plus-30d-83763294"
}

requires tells you what to send with an order: "email" for invites, "accounts" (one per quantity) for upgrades on the customer's own account, "months" with one of months_options.

Place an order

curl -X POST "https://sarimtools.com/api/v1/order" \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "p_e064575d4165", "quantity": 1, "reference": "order-1001"}'

Answer (status 201):

{
    "ok": true,
    "order": {
        "id": "ST3F9A1C2B7D",
        "reference": "order-1001",
        "status": "completed",
        "status_label": "Delivered",
        "total": 1800,
        "currency": "PKR",
        "items": [
            {
                "product_id": "p_e064575d4165",
                "name": "ChatGPT Plus 30D",
                "quantity": 1,
                "status": "completed",
                "delivery": [
                    {
                        "login": "name@example.com",
                        "password": "••••••••"
                    }
                ]
            }
        ]
    },
    "balance": 4200
}
  • Always send a reference (your own order number). If your request times out, send it again with the same reference: you get the first order back and are never charged twice.
  • Allow up to 2 minutes for the answer: we buy the product while you wait.
  • Invite and upgrade plans answer with status processing. Check GET /order?reference=… every few minutes until it says completed.
  • If an item cannot be delivered, its status is failed and the amount is back in your wallet automatically.
  • API orders also show under Orders and are emailed to you.

Errors

StatuserrorMeaning
401missing_key, invalid_keyNo key, or a wrong or revoked key.
402insufficient_balanceTop up your wallet. The answer includes balance and needed.
404not_foundNo such product or order.
409out_of_stockThe product sold out. Read /products again.
400bad_quantity, missing_details, …The message says what to fix.
429rate_limitedUp to 120 requests and 30 orders a minute per key.
503api_offThe API is paused for maintenance.

Prices are in Pakistani rupees and follow our prices and the dollar rate, so read /products again at least every few hours (caching for up to 10 minutes is fine). Questions? WhatsApp us.