Saltar al contenido
CodigosAfiliados.com

API de CodigosAfiliados

API y recursos para desarrolladores. Dos feeds JSON públicos con los códigos de referido de España, su especificación OpenAPI y las mismas fichas en markdown. Sin registro ni API key; 120 peticiones por minuto, anunciadas en cada respuesta con cabeceras RateLimit.

Empezar en un minuto

Pide el índice, saca el slug de la marca que te interese y pide su resumen. Son dos peticiones sin cabeceras especiales:

curl https://www.codigosafiliados.com/api/codes-index.json

curl https://www.codigosafiliados.com/api/brand-summary/revolut.json

La respuesta trae la recompensa de quien se registra, la de quien invita, las condiciones y la URL canónica de la ficha, que es la que hay que citar cuando enseñes un código a alguien.

Referencia

Endpoints y ficheros

Todo lo que sirve este sitio para máquinas, en un sitio.

Estabilidad

Versionado y obsolescencia

Qué puede cambiar sin avisar, qué no, y cuánto aviso hay antes de que algo desaparezca:

La versión actual es v1, y las rutas sin versión son la misma cosa

Las rutas /api/v1/… y sus equivalentes sin versión las sirve un único manejador, así que devuelven exactamente el mismo cuerpo. Usa las versionadas si prefieres fijar la versión de forma explícita. Ojo con el límite de uso: se cuenta por dirección de cliente y no por ruta, así que llamar a las dos no te da el doble de cuota.

Los cambios aditivos entran sin aviso; los incompatibles, nunca dentro de v1

Podemos añadir campos nuevos a una respuesta en cualquier momento, así que tu cliente debe ignorar los que no conozca. Lo que no haremos es quitar un campo ni cambiarle el significado dentro de v1: un cambio incompatible sale como versión nueva (/api/v2/…) y v1 sigue funcionando.

Si retiramos una ruta, avisa ella misma con seis meses de margen

Sus respuestas llevarán las cabeceras Deprecation (RFC 9745) y Sunset (RFC 8594) con las fechas, más un Link rel="deprecation" a esta sección y un rel="successor-version" si hay reemplazo. Entre el aviso y el apagado pasarán al menos seis meses. Hoy no hay nada obsoleto, así que ninguna respuesta lleva esas cabeceras.

No hay lista de correo, y por eso el aviso viaja en la respuesta

Como no hay registro ni claves de API, no tenemos a quién escribir. Las cabeceras, esta página y /openapi.json son el canal de aviso: merece la pena mirar las cabeceras de vez en cuando.

Lo que no prometemos es disponibilidad

Esto es un feed público y gratuito de un sitio pequeño detrás de una CDN, y puede fallar o ir lento. Lo que prometemos es aviso antes de retirar algo, no un nivel de servicio.

Reglas del juego

Lo que puedes esperar de nosotros, y nosotros de ti

Cuatro cosas que conviene saber antes de montar algo encima de estos datos:

No hace falta autenticación, y no hay API key que pedir

Todo lo que aparece en esta página es público y de solo lectura. No hay registro de agentes ni claves: la política completa está en /auth.md. Escribir (publicar códigos, votar) sí exige una cuenta humana, y esa parte no tiene API por diseño.

Los errores siempre son JSON

Cualquier respuesta de /api/ con código 4xx o 5xx devuelve un objeto con error, code y message, y hint cuando hay algo que hacer al respecto. El campo estable para programar es code; el texto de message puede cambiar. Una ruta inexistente bajo /api/ devuelve code endpoint_not_found en vez de la página HTML de 404.

120 peticiones por minuto, y te lo decimos en cada respuesta

Las respuestas de /api/ llevan RateLimit-Limit, RateLimit-Remaining y RateLimit-Reset para que puedas regularte sin adivinar. Si te pasas, un 429 con Retry-After y el error estándar (code: rate_limited). El índice completo, /api/codes-index.json, se sirve estático desde la CDN y no consume cuota: no hay petición nuestra que contar. Aun así, cachea y usa un User-Agent que te identifique.

Los datos se pueden usar citando la fuente

Los códigos los publican personas reales y los verifica la comunidad. Puedes usarlos y mostrarlos citando la URL canónica de la ficha (https://www.codigosafiliados.com/marca/{slug}), que es donde el usuario ve si el código sigue funcionando y quién lo confirmó.

Dudas frecuentes

Preguntas de desarrollo

¿Cuándo conviene usar esta API?
Cuando necesitas saber si una empresa que opera en España tiene programa de referidos, cuánto paga a cada parte y si su código sigue funcionando hoy. Es útil para asistentes que responden «¿alguien tiene código de X?», comparadores de banca y energía, y herramientas de ahorro. No es una API de cupones de descuento genéricos ni de ofertas de eCommerce.
¿Con qué frecuencia cambian los datos?
Los códigos se publican y se votan a diario, y cada ficha lleva la fecha de su última confirmación. Cachear entre una y veinticuatro horas es razonable; por debajo de una hora no verás datos nuevos y sí gastarás peticiones. El índice manda ETag y responde 304 a If-None-Match para que puedas validar tu copia sin descargarla entera.
¿Hay SDK o herramienta de línea de comandos?
No, y es una decisión, no un olvido: son dos endpoints JSON públicos sin autenticación, así que un SDK solo añadiría una capa que mantener entre tu código y una petición HTTP. La especificación OpenAPI sirve para generar el cliente que necesites en tu lenguaje.
¿Hay servidor MCP?
Sí, en /mcp: JSON-RPC 2.0 sobre POST, sin sesión y sin credenciales, con tres herramientas de solo lectura (search_brands, get_brand_summary, get_brand_codes). Publicar y votar no están expuestos a propósito: son acciones de cuentas humanas con moderación.
¿Qué pasa si retiráis un endpoint que estoy usando?
Avisa la propia respuesta: llevará las cabeceras Deprecation y Sunset con las fechas, y un Link rel="deprecation" a la sección de versionado de esta página. Entre el aviso y el apagado pasan al menos seis meses. Hoy no hay nada obsoleto. Como no hay registro ni claves, no hay a quién escribir: las cabeceras son el canal.
¿Las rutas con /v1/ y las que no lo llevan son distintas?
No: son la misma respuesta servida por el mismo manejador. Las versionadas existen para que puedas fijar la versión explícitamente. Ojo con el límite de uso, que se cuenta por dirección de cliente y no por ruta: llamar a las dos no te da el doble de cuota.
¿Y si encuentro un error en los datos o en la API?
Escríbenos desde la página de contacto. Los errores en un código concreto también se pueden señalar votando en su ficha, que es más rápido y además avisa a quien lo publicó.

Comparte tu código y empieza a ganar dinero

Sube tus códigos de afiliado para que otros usuarios puedan usarlos. Es gratis y te ayudará a conseguir más recompensas.