Catálogo
Actualizado:
El catálogo recoge todo lo que se puede comprar: productos, países, períodos, precios unitarios, las condiciones vigentes y los parámetros del protocolo. No se necesita autorización.
Los precios del catálogo son orientativos. El precio vinculante es únicamente el importe que figura en el 402 Respuesta a tu pedido concreto.
Parámetros de consulta
Nombre | Tipo | Descripción |
|---|---|---|
producto | Cadena | Opcional. Entrega únicamente este producto, por ejemplo |
Almacenamiento en caché
El catálogo se actualiza cada 5 minutos. La respuesta tiene Cache-Control: public, max-age=300 y ETag: "<catalog_version>"; enviar If-None-Match con este valor para obtener 304 Not Modified. Con ?product=P El ETag es "<catalog_version>:P".
Respuesta
Nombre | Tipo | Descripción |
|---|---|---|
generated_at | Cadena | Cuando se creó el catálogo |
catalog_version | Cadena | Solo se modificará cuando cambie el contenido. |
moneda | Objeto |
|
términos | Objeto |
|
uso_previsto | Objeto |
|
productos | Matriz | Bloques de producto, véase más abajo |
guía_del_producto | Objeto | Una breve descripción de cada producto y |
protocolo | Objeto |
|
Solo se publican los productos que se pueden comprar en este momento. No se puede pedir un producto que no figure en el catálogo.
Bloques de producto
Nombre | Tipo | Descripción |
|---|---|---|
producto | Cadena |
|
display_name, description | Cadena | Nombre y descripción legibles para el usuario |
atributos | Objeto |
|
adecuado_para | Matriz | Fines recomendados |
países | Matriz |
|
opciones | Matriz | Siempre vacío |
El mismo bloque para IPv4_UPTIME y ISP_UPTIME, con display_name que termine en 100% uptime y attributes.uptime: true, attributes.gateways: true, auth_methods: ["userpass"]. Solo se incluyen los países y periodos en los que está disponible un tiempo de actividad del 100 %.
Nombre | Tipo | Descripción |
|---|---|---|
producto | Cadena |
|
atributos | Objeto |
|
traffic_tiers | Matriz |
|
conexión | Objeto | Servidores, puertos, protocolos y la sintaxis del sufijo de inicio de sesión para la segmentación geográfica y las sesiones (sin credenciales) |
locations_url | Cadena | Dónde consultar regiones, ciudades y proveedores de servicios de Internet, cuando estén disponibles |
Nombre | Tipo | Descripción |
|---|---|---|
producto | Cadena |
|
atributos | Objeto | Además, |
opciones | Matriz | Descripciones de las opciones de línea: |
países | Matriz |
|
Nombre | Tipo | Descripción |
|---|---|---|
producto | Cadena |
|
distribución | Cadena | Cómo se reparten las direcciones entre los países de un paquete |
paquetes | Matriz |
|
Ejemplo
https://proxy-seller.com/api/x402/v1/catalog?product=IPv4{
"generated_at": "2026-11-02T10:00:44Z",
"catalog_version": "df92823171697caa9dc15a42",
"currency": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"network": "eip155:8453",
"decimals": 6
},
"terms": {
"offer_version": "2026-07-01",
"offer_url": "https://proxy-seller.com/terms-of-service",
"privacy_version": "2026-07-01",
"privacy_url": "https://proxy-seller.com/privacy-policy",
"aup_summary": ["no CSAM", "no DDoS", "no spam", "no credential stuffing"],
"on_expiry": "access is disabled on the expiry date, no grace period",
"refund_policy": "no refund on AUP suspension"
},
"intended_use": {
"required": true,
"allowed": [
{ "value": "web-scraping", "label": "Web scraping / data collection" },
{ "value": "price-monitoring", "label": "Price and marketplace monitoring" },
{ "value": "seo-monitoring", "label": "SERP and SEO monitoring" },
{ "value": "ads-verification", "label": "Ad verification" }
]
},
"products": [
{
"product": "IPv4",
"display_name": "Dedicated IPv4",
"description": "Dedicated datacenter IPv4 address, not shared.",
"attributes": {
"dedicated": true,
"rotating": false,
"ip_version": 4,
"asn_type": "datacenter",
"protocols": ["http", "https", "socks5"],
"auth_methods": ["userpass", "ip"],
"min_quantity": 1
},
"suitable_for": ["web-scraping", "price-monitoring", "seo-monitoring"],
"countries": [
{
"country": "US",
"periods": [
{ "days": 7, "unit_price_usd": "0.90", "unit_price_atomic": "900000" },
{ "days": 30, "unit_price_usd": "1.80", "unit_price_atomic": "1800000" },
{ "days": 60, "unit_price_usd": "3.49", "unit_price_atomic": "3490000" }
]
}
],
"options": []
}
],
"product_guide": {
"IPv4": "Cheapest dedicated option with the highest throughput, easiest to detect. Best for tolerant targets.",
"recommendation_by_use": { "web-scraping": ["ISP", "MIX_ISP", "IPv4", "MIX", "RESIDENT", "MOBILE"] }
},
"protocol": {
"x402_versions": [2],
"schemes": ["exact"],
"networks": [
{
"network": "eip155:8453",
"assets": ["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],
"asset_transfer_methods": ["eip3009"],
"payment_flow": "upfront"
}
],
"extensions": ["bazaar"],
"quote_ttl_seconds": 900,
"max_timeout_seconds": 900,
"poll": { "default_interval_seconds": 10, "max_wait_seconds": 1800 },
"rate_limits": { "unpaid_orders_per_min": 30 }
}
}Producto desconocido
{
"error": "invalid_request",
"message": "Request is invalid",
"retryable": false,
"retry_action": "abandon",
"detail": "/product: unknown product, see /catalog"
}El catálogo se está creando justo después de un reinicio. Vuelve a intentarlo más tarde. Retry-After segundos.
Notas
Los precios unitarios se calculan en función de la cantidad mínima de un producto. Los descuentos por volumen no aparecen en el catálogo; se aplican en el
402precio.El catálogo no incluye información sobre existencias. Si se agotan las existencias, esto solo se sabrá tras realizar el pago; véase Recibir el encargo.