Documentación de la API de la NFL
Presente etiquetas nutricionales compatibles, administre recetas y extraiga datos nutricionales mediante programación. Hoy en día, hay dos cosas que funcionan para cada cuenta que califica: la incrustación de etiqueta activa y las exportaciones renderizadas por el servidor. La API de recursos REST se encuentra en acceso temprano en el plan Business.
La API solo acepta y devuelve JSON (los puntos finales de representación de etiquetas devuelven el archivo binario).
Definición
https://nutritionfactlabel.com/api/v1
Punto final de API
Todos los REST Los recursos se encuentran en una URL base versionada. Los cambios importantes solo se envían con un prefijo de nueva versión. Durante el acceso temprano, su correo electrónico de bienvenida confirma la URL base activa para sus claves.
Resumen de patrones de URL de recursos
/v1/recipes
/v1/recipes/{RECIPE_ID}
/v1/recipes/{RECIPE_ID}/label.{svg|png|pdf}
/v1/ingredients
/v1/ingredients/{INGREDIENT_ID}
/v1/analyze
Autenticación
Autentique cada solicitud con su clave secreta en el encabezado Authorization. Las claves están limitadas a su cuenta y conllevan los derechos de su plan: las mismas puertas del lado del servidor que la aplicación.
Mantenga las claves en secreto. Nunca las envíe en código del lado del cliente; proxy a través de su backend. Rote una clave filtrada inmediatamente a través del soporte.
Solicitud de ejemplo
curl https://nutritionfactlabel.com/api/v1/recipes \ -H 'Authorization: Bearer nfl_live_9f30c2...'
Límites de velocidad
Para mantener las cosas justas y estables: 60 solicitudes por minuto por clave; la etiqueta se representa adicionalmente con un límite de 5 simultáneos; solicitar cuerpos a 1 MB. Más allá de un límite, obtienes 429 con un encabezado Retry-After.
Respuesta de ejemplo
HTTP/2 429 Too Many Requests
Retry-After: 22
{ "error": { "code": "rate_limited",
"message": "Try again in 22 seconds." } }
Inserción de etiqueta activa Disponible ahora
Muestra una etiqueta siempre actual en cualquier sitio web, sin clave API. Habilite la inserción de una receta en el Generador (fila de receta → Insertar) para obtener su token público.
La etiqueta de secuencia de comandos ajusta automáticamente su altura; actualice la receta en NFL y cada página que muestre las actualizaciones integradas. Planes Profesionales y Empresariales; al deshabilitar la inserción se elimina el token inmediatamente.
Definición: etiqueta de secuencia de comandos
<script src="https://nutritionfactlabel.com/embed.js"
data-label="YOUR_EMBED_TOKEN"
data-width="290"></script>
Alternativa: iframe
<iframe src="https://nutritionfactlabel.com/embed/TOKEN" width="290" height="560" frameborder="0" title="Nutrition Facts"></iframe>
Exportaciones de etiquetas Disponibles ahora
SVG/PNG/PDF renderizados en el servidor mediante el mismo motor que la aplicación, con reglas de plan (formatos, tipos de archivos, marcas de agua) aplicadas en la puerta. Llámelo directamente con su token de sesión hasta que las claves API alcancen disponibilidad general. Devuelve el archivo binario, o 403 fuera de su plan.
Dos notas sobre la paridad con la exportación dentro de la aplicación. La aplicación se representa en el navegador, así que utilice este punto final cuando necesite una etiqueta producida sin uno. Y jpg actualmente devuelve bytes PNG, mientras que eps y ai son formatos de solo exportación que el terminal no ofrece.
Definición
POST /functions/v1/export-label
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json
{
"fileType": "pdf",
"data": { ...label state },
"extra": { }
}
Recetas Acceso temprano · Negocios
El objeto principal: ingredientes, porciones y label_format (152 formatos en 114 países) producen el label: nutrientes redondeados por jurisdicción, declaración de ingredientes, alérgenos.
Atributos clave: id, name, servings, serving_weight_g, label_format, label (calculado), embed_enabled, marcas de tiempo.
Definición
GET /v1/recipes
POST /v1/recipes
GET /v1/recipes/{ID}
PUT /v1/recipes/{ID}
DELETE /v1/recipes/{ID}
GET /v1/recipes/{ID}/label.pdf
Ejemplo de respuesta
{
"id": "rcp_2m4k9q",
"name": "Chocolate Chip Cookies",
"servings": 12,
"serving_weight_g": 28,
"label_format": "standard",
"label": {
"calories": 140,
"total_fat_g": 7,
"allergens": ["wheat","milk","soy"],
...
},
"embed_enabled": false
}
Ingredientes Acceso temprano · Empresas
Ingredientes personalizados con nutrición por 100 g, especies de alérgenos y opciones costos, idénticos a los creados en la aplicación, que se pueden buscar en el Generador. La dirección de los ingredientes del USDA es usda:{fdc_id}; establezca "archived": true en archivar (excluido de las listas de forma predeterminada).
Definición
GET /v1/ingredients
POST /v1/ingredients
GET /v1/ingredients/{ID}
PUT /v1/ingredients/{ID}
DELETE /v1/ingredients/{ID}
Solicitud de ejemplo
POST /v1/ingredients
{
"name": "Organic almond flour",
"nutrients_per_100g": {
"calories": 571, "total_fat_g": 50,
"protein_g": 21, "dietary_fiber_g": 10
},
"allergens": ["tree_nuts"],
"cost_per_unit": 12.5, "unit": "kg"
}
Análisis nutricional Acceso temprano · Negocios
Análisis de una sola vez sin guardar una receta. Devuelve el mismo objeto label más claims: el contenido de nutrientes afirma que los valores califican (por ejemplo, "buena fuente de fibra") con sus citas CFR. Los nombres no coincidentes se comparan con el USDA.
Solicitud de ejemplo
POST /v1/analyze
{
"label_format": "standard",
"servings": 12,
"serving_weight_g": 28,
"ingredients": [
{ "ingredient_id": "usda:173410", "grams": 120 },
{ "name": "brown sugar", "grams": 80 }
]
}
Errores
Códigos HTTP convencionales; Los cuerpos de error son JSON con un código de máquina estable y un mensaje humano. 400 entrada mal formada · 401 clave incorrecta · 403 fuera de su plan · 404 no encontrada/no es suya · 429 tarifa limitada · 500 reintentar con retroceso.
Respuesta de ejemplo
{
"error": {
"code": "plan_format_not_allowed",
"message": "The 'eu-1169' label format
requires the Professional plan."
}
}
Obteniendo acceso
La inserción no necesita clave; habilítelo por receta (Profesional+). El acceso temprano a la API REST está incluido en el plan Business: correo electrónico support@nutritionfactlabel.com el correo electrónico y las claves de su cuenta se proporcionan dentro de un día hábil.
¿Le falta un punto final que necesita? Cuéntanos. Los socios de acceso temprano dirigen la hoja de ruta.
Actualice a Business