Market Data
El endpoint público BAPI de búsqueda — el más consultado de Binance P2P. No requiere autenticación.
Gotcha Semántico: tradeType
tradeType=BUY significa "quiero comprar" — devuelve anuncios SELL (vendedores).tradeType=SELL devuelve anuncios BUY (compradores). La perspectiva es del buscador, no del anunciante.
EP-0: Search Ads (Public)
El Secreto de publisherType
El parámetro publisherTypees no documentado pero crítico.
Sin publisherType: "merchant", algunos mercados (ej. USDT/USD) devuelven userType: "user" para todos los anunciantes — incluidos los merchants verificados. Filtrar por userType post-respuesta excluiría incorrectamente a merchants reales.
Descubierto mediante ingeniería inversa de la UI web de Binance al activar el filtro "Verified Merchants". Ver Features No Documentados para más detalles.
Stealth Headers
El endpoint público BAPI aplica soft rate limiting basado en los headers de la solicitud. Usar los headers por defecto de las librerías (ej. python-httpx/0.27) provoca respuestas vacías más rápido. AutoP2P rota User-Agent y headers similares a los de un navegador para evitar los soft limits.
Paginación
Máximo rows: 20 por solicitud. Para un análisis más profundo del order book, pagina con un delay de 100ms entre páginas:
async def search_all_pages(asset, fiat, trade_type, max_pages=5):
all_ads = []
for page in range(1, max_pages + 1):
data = await search_ads(asset, fiat, trade_type, page=page)
if not data:
break # Empty = no more results (or soft rate limit)
all_ads.extend(data)
await asyncio.sleep(0.1) # 100ms inter-page delay
return all_adsUtilidad: Hora del Servidor
Server Time
/api/v3/time