Saltar al contenido principal

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)

No AuthAutoP2P VerifiedCritical

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_ads

Utilidad: Hora del Servidor

No AuthAutoP2P Verified