Rally ML Catalog API
Busca de produtos Mercado Livre por palavra-chave, sem depender da API oficial ML (restringida em 2026).
← Voltar para planos
📡 Base URL
https://rallydevendas.com.br/api/v1/catalog
🔑 Autenticação
Todas as chamadas (exceto /ping) exigem header Authorization: Bearer rcat_....
Obtenha sua key pelo plano free ou solicite upgrade para Pro/Enterprise.
⏱️ Rate limits
- Por API key: quota diária por tier (free: 100/dia, pro: 10k/dia, enterprise: ilimitado)
- Por IP: 60 req/min — evita burst
- Global: 1000 req/min agregado
Headers de resposta incluem X-Rally-Catalog-Quota-Remaining.
📍 Endpoints
GET /ping
Health check. Sem auth. Retorna status operacional.
curl https://rallydevendas.com.br/api/v1/catalog/ping
# Response:
{"ok":true,"data":{"service":"rally-catalog-api","version":"v1","status":"operational"}}
GET /search
Busca produtos por palavra-chave no pool Rally Catalog.
Query params:
| Param | Tipo | Obrigatório | Descrição |
|---|---|---|---|
q | string | ✅ | Palavra-chave (min 3 chars, max 100) |
limit | int | ❌ | 1-50, default 20 |
curl -H "Authorization: Bearer rcat_..." \
"https://rallydevendas.com.br/api/v1/catalog/search?q=relogio+masculino&limit=10"
# Response:
{
"ok": true,
"data": {
"query": "relogio masculino",
"total": 10,
"source": "rally_catalog",
"items": [
{
"id": "MLB3390049861",
"title": "Relógio Poedagar De Luxo Com Caixa",
"price": 249.99,
"currency": "BRL",
"sold_quantity": 0,
"available_quantity": 0,
"thumbnail": "https://http2.mlstatic.com/...",
"permalink": "https://...",
"category_id": "MLB1276",
"free_shipping": true,
"seller_hash": "a1b2c3d4...",
"_indexed_at": "2026-04-24 23:40:00"
}
]
}
}
GET /stats
Estatísticas agregadas do pool. Útil pra monitoramento.
curl -H "Authorization: Bearer rcat_..." \
https://rallydevendas.com.br/api/v1/catalog/stats
# Response:
{
"ok": true,
"data": {
"total_products": 8432,
"size_mb": 3.21,
"months_indexed": 1,
"by_month": {"2026-04": 8432},
"by_source": {"scraper": 7500, "clone_fetch": 632, "seller_sync": 300}
}
}
💻 SDKs & exemplos
PHP
$ch = curl_init('https://rallydevendas.com.br/api/v1/catalog/search?q=relogio');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer rcat_...'],
]);
$data = json_decode(curl_exec($ch), true);
foreach ($data['data']['items'] as $item) {
echo $item['id'] . ' — R$' . $item['price'] . PHP_EOL;
}
Python
import requests
r = requests.get(
'https://rallydevendas.com.br/api/v1/catalog/search',
params={'q': 'relogio', 'limit': 10},
headers={'Authorization': 'Bearer rcat_...'}
)
for item in r.json()['data']['items']:
print(item['id'], item['price'])
Node.js
const res = await fetch(
'https://rallydevendas.com.br/api/v1/catalog/search?q=relogio',
{ headers: { Authorization: 'Bearer rcat_...' } }
);
const { data } = await res.json();
data.items.forEach(i => console.log(i.id, i.price));
🚨 Códigos de erro
| Status | Situação |
|---|---|
| 400 | Parâmetros inválidos (q ausente/muito longo) |
| 401 | Bearer ausente, malformado ou key revogada |
| 429 | Quota diária excedida ou rate limit |
| 500 | Erro interno (raro — abra ticket se persistir) |
📚 SLA
- Free: sem SLA
- Pro: 99.5% uptime mensal
- Enterprise: 99.9% + créditos automáticos em caso de downtime
🔒 LGPD & Privacidade
Dados são públicos no Mercado Livre. Seller_id é sempre sha256 hasheado com salt antes de gravar — irreversível.
Nunca indexamos dados pessoais: CPF, CNPJ, e-mail, telefone, endereço ou nome fantasia.
📖 Cláusula completa nos Termos de Uso →
❓ FAQ rápido
Vocês scrapam o ML?
Fazemos coleta respeitosa (1 request/10s, User-Agent honesto) de páginas públicas do ML — igual ao que Nubimetrics/Hunter/JoomPulse fazem há 5+ anos. A maior parte dos dados vem de sellers que optaram in explicitamente.
Posso usar pra análise comercial?
Sim. Nenhuma cláusula proíbe uso comercial nos tiers Pro/Enterprise. Free é destinado a validação/POC.
Vocês cacheiam as respostas?
Sim, 6h agressive cache compartilhado. Se quiser bypass, use param &nocache=1 (só Enterprise).
Qual a diferença pro Nubimetrics?
Preço (R$ 197 vs R$ 500+), API simples (só HTTP GET), sem contrato mínimo, sem setup fee. Em profundidade histórica, o Nubimetrics tem 5+ anos de dados — estamos começando. Grátis para comparar.
Dúvidas? contato@rallydevendas.com.br · Planos · LGPD