https://inboxmarket.shop/gmails-api
Todas as requisições à API devem incluir o header X-API-Key com uma chave válida gerada no painel do site.
X-API-Key: gdm_a1b2c3d4_e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
Sem este header, a resposta será 401 Unauthorized.
POST /store/purchase
Compra uma ou mais contas Gmail. O saldo é deduzido automaticamente da conta associada à API key.
| Header | Obrigatório | Descrição |
|---|---|---|
X-API-Key | Sim | Sua API key |
Content-Type | Sim | application/json |
{
"quantity": 1
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
quantity | integer | Não (padrão: 1) | Quantidade de contas (1–5) |
{
"success": true,
"orderId": 42,
"email": "usuario@gmail.com",
"totalPaid": 2.50,
"message": "Gmail comprado com sucesso! Use o botão Verificar código para obter o OTP."
}
| Status | Código | Descrição |
|---|---|---|
| 400 | invalid_quantity | Quantidade fora do intervalo 1–5 |
| 401 | unauthorized | API key ausente, inválida ou desativada |
| 402 | insufficient_balance | Saldo insuficiente para a compra |
| 429 | rate_limited | Limite de 30 req/min excedido |
| 502 | upstream_error | Falha temporária no processamento |
| 503 | no_provider | Nenhum provedor configurado |
{
"error": "Saldo insuficiente",
"required": 2.50,
"current": 1.00
}
POST /store/check-code
Busca o código OTP de verificação de um pedido. Faz polling por até 2 minutos aguardando o código ficar disponível.
| Header | Obrigatório | Descrição |
|---|---|---|
X-API-Key | Sim | Sua API key |
Content-Type | Sim | application/json |
{
"orderId": 42
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
orderId | integer | Sim | ID do pedido retornado na compra |
Código recebido:
{
"status": "ready",
"code": "123456",
"message": "Código OTP recebido!"
}
Email inativo:
{
"status": "exhausted",
"code": null,
"message": "Este Gmail não está mais ativo e não pode receber códigos."
}
Timeout (código ainda não disponível):
{
"status": "timeout",
"code": null,
"message": "Tempo limite esgotado (2 minutos). O código pode chegar depois — tente novamente."
}
GET /store/balance
Retorna o saldo atual da conta associada à API key.
{
"balance": 47.50
}
GET /store/orders
Retorna os últimos 50 pedidos da conta associada à API key.
[
{
"id": 42,
"product_type": "gmail",
"quantity": 1,
"unit_price": 2.50,
"total_price": 2.50,
"status": "completed",
"instacaster_order_id": "abc123...",
"delivery_data": "{\"email\":\"usuario@gmail.com\",\"priorityMode\":0}",
"created_at": "2026-09-10 18:30:00",
"completed_at": "2026-09-10 18:30:05"
}
]
GET /store/transactions
Retorna as últimas 50 transações (compras e recargas) da conta.
[
{
"id": 15,
"user_id": 3,
"type": "purchase",
"amount": -2.50,
"description": "Compra de 1 Gmail(s)",
"reference_id": "order_42",
"created_at": "2026-09-10 18:30:05"
}
]
GET /store/last-gmail
Retorna o último email comprado e o último código OTP recebido (se houver).
{
"hasGmail": true,
"orderId": 42,
"email": "usuario@gmail.com",
"lastCode": "123456",
"lastCodeAt": "2026-09-10T18:35:00.000Z",
"status": "completed"
}
Se nenhum Gmail foi comprado:
{
"hasGmail": false
}
| Endpoint | Limite | Janela |
|---|---|---|
/store/* | 30 requisições | 1 minuto |
| Demais rotas | 100 requisições | 15 minutos |
Ao exceder o limite, a API retorna 429 Too Many Requests.
| Produto | Preço unitário |
|---|---|
| Gmail | R$ 2,50 |
Os preços podem ser alterados sem aviso prévio. O valor cobrado é sempre o vigente no momento da requisição.
const axios = require('axios');
const API_KEY = 'gdm_sua_chave_aqui';
const BASE_URL = 'https://inboxmarket.shop/gmails-api';
async function buyGmail(quantity = 1) {
const res = await axios.post(
BASE_URL + '/store/purchase',
{ quantity },
{ headers: { 'X-API-Key': API_KEY } }
);
return res.data;
}
async function checkCode(orderId) {
const res = await axios.post(
BASE_URL + '/store/check-code',
{ orderId },
{ headers: { 'X-API-Key': API_KEY }, timeout: 130000 }
);
return res.data;
}
async function getBalance() {
const res = await axios.get(
BASE_URL + '/store/balance',
{ headers: { 'X-API-Key': API_KEY } }
);
return res.data.balance;
}
// Exemplo de uso
(async () => {
const balance = await getBalance();
console.log('Saldo: R$ ' + balance.toFixed(2));
const purchase = await buyGmail(1);
console.log('Email:', purchase.email);
console.log('Order ID:', purchase.orderId);
// Aguardar e buscar código OTP
const codeResult = await checkCode(purchase.orderId);
if (codeResult.status === 'ready') {
console.log('Código OTP:', codeResult.code);
} else {
console.log('Status:', codeResult.message);
}
})();
import requests
API_KEY = "gdm_sua_chave_aqui"
BASE_URL = "https://inboxmarket.shop/gmails-api"
HEADERS = {"X-API-Key": API_KEY}
def buy_gmail(quantity=1):
resp = requests.post(
f"{BASE_URL}/store/purchase",
json={"quantity": quantity},
headers=HEADERS
)
resp.raise_for_status()
return resp.json()
def check_code(order_id):
resp = requests.post(
f"{BASE_URL}/store/check-code",
json={"orderId": order_id},
headers=HEADERS,
timeout=130
)
resp.raise_for_status()
return resp.json()
def get_balance():
resp = requests.get(f"{BASE_URL}/store/balance", headers=HEADERS)
resp.raise_for_status()
return resp.json()["balance"]
# Exemplo de uso
balance = get_balance()
print(f"Saldo: R$ {balance:.2f}")
purchase = buy_gmail(1)
print(f"Email: {purchase['email']}")
print(f"Order ID: {purchase['orderId']}")
code_result = check_code(purchase["orderId"])
if code_result["status"] == "ready":
print(f"Código OTP: {code_result['code']}")
else:
print(f"Status: {code_result['message']}")