Frankfurter vs ExchangeRate-API: las dos opciones gratuitas y sin clave, comparadas
Ambas te permiten hacer una solicitud ahora mismo sin registro y sin clave. Más allá de eso, divergen: una son datos del BCE de código abierto sin cuota, la otra es una API comercial que regala una porción limitada y atribuida de su feed. Ninguna está equivocada. Encajan en trabajos distintos.
Frankfurter no tiene ninguna cuota pero publica una vez al día, solo en días hábiles, desde el Banco Central Europeo. El acceso abierto de ExchangeRate-API tampoco necesita clave, también se actualiza una vez al día, pero viene con un requisito de atribución y una prohibición de redistribuir los datos en bruto. Elige según lo que tu proyecto hace con los datos, no según qué nombre te resulta más familiar.
Lo que ambas te dan, gratis
Escribe un comando curl contra cualquiera de los dos servicios ahora mismo y recibes JSON de vuelta. Sin formulario de registro, sin paso de generación de clave, sin tarjeta de crédito — más raro de lo que debería ser en este espacio, y por eso ambas aparecen en toda lista de "APIs FX gratis".
Más allá de esa primera solicitud, dejan de parecerse. Frankfurter es un proyecto de código abierto independiente que publica tipos de referencia del Banco Central Europeo. ExchangeRate-API es un producto comercial con niveles de pago, y open.er-api.com es la porción gratuita y sin autenticar de ese producto — un embudo, más amplio de lo habitual porque la empresa vende los niveles con clave por encima de él.
Frankfurter: sin clave, sin cuota, solo BCE
Frankfurter envuelve los tipos de referencia del BCE en una API JSON limpia. No hay clave de API en ningún nivel, ni cuota de solicitudes impuesta — el proyecto no te mide. Es de código abierto, así que el código es inspeccionable antes de apuntar tráfico de producción hacia él.
La restricción está en los datos subyacentes, no en el envoltorio de la API. Los tipos de referencia del BCE se publican una vez por día hábil, alrededor de las 16:00 CET, sin nada publicado en absoluto el sábado o el domingo — pide una fecha de fin de semana y obtienes el dato del viernes anterior, porque el propio BCE no publicó uno.
ExchangeRate-API: sin clave, una cadena de atribución, una restricción
El endpoint de acceso abierto en open.er-api.com tampoco necesita clave de API — llámalo igual que llamarías a Frankfurter, en frío, sin configuración. Se actualiza una vez al día, la misma cadencia que Frankfurter, aunque no proviene del BCE.
Vienen dos condiciones con él: atribución, mostrando "Rates By Exchange Rate API" con un enlace de vuelta a exchangerate-api.com, y sin redistribución — no puedes republicar el feed en bruto, aunque cachearlo para tu propia app está permitido. Superar el límite de peticiones da un HTTP 429; el bloqueo se levanta tras 20 minutos. Un plan con clave sin el requisito de atribución da 1,500 solicitudes al mes.
Lado a lado
Cuál para qué trabajo
Un panel interno no tiene ninguna superficie de atribución que satisfacer de todos modos, así que la condición de ExchangeRate-API es irrelevante y cualquiera de las dos fuentes funciona. Elige según si quieres inspeccionar el código (Frankfurter) o quieres una ruta de mejora con clave lista si el tráfico crece (ExchangeRate-API).
Si la superficie es pública — un conversor de divisas, un widget de precio en una página de producto — la línea de atribución empieza a importar. Frankfurter no lleva tal obligación. Donde un enlace de atribución visible no es un problema para tu producto, el acceso abierto de ExchangeRate-API es igual de utilizable.
Lee la letra pequeña antes de apuntar un cron job de alto volumen a cualquiera de las dos. Frankfurter indica que no hay cuota impuesta, lo que suena ilimitado pero no es un SLA documentado. ExchangeRate-API es explícito sobre su techo — alcanzas el límite, recibes un 429, esperas 20 minutos.
Los fines de semana exponen la dependencia exclusiva del BCE con más claridad. Imagina un flujo de reserva de viajes de sábado que necesita un tipo renderizado, no un marcador de cinco días de antigüedad — sin dato del BCE no hay número fresco, ningún día que el mercado esté cerrado en Fráncfort.
Si ninguna encaja
Ambas son instantáneas de una vez al día por diseño, y para buena parte de los casos de uso FX — facturación, exportaciones contables, un informe semanal — esa es la frescura correcta. Si tu proyecto necesita un tipo que refleje lo que cambió hace una hora, esa es una categoría distinta de fuente, y exchangerate.dev es una opción: una API con clave y una fuente que se actualiza en vivo en los pares principales. No es un sustituto de ninguna de las dos en sus propios términos — es la opción una vez que la frescura intradía se vuelve el requisito real.