Saltar al contenido
Almendra
Esc
↑↓navegar↵abrir⌘Jvista previa

Search foods

Finds a food to use in a plan or recipe: the account’s own foods and the food databases it uses (Settings > Food databases), best 5 matches only, with no further pages. Each account can search 50 times a day (429 past that). The foods a search returns can be read and used by the account for 30 days. Values are per 100 g.

Requires the library:read permission.

GET/foods
Autorización
AuthorizationToken Bearer (API Key) · headerobligatorio

Almendra API key, bound to one professional account. Send it as Authorization: Bearer YOUR_API_KEY.

Ámbitos:library:read
Parámetros de consulta
searchstringobligatorio

Food name, at least 3 letters (accents are ignored)

longitud mín. 3 · longitud máx. 70
Respuestas
200

Best matches

foodsFood[]obligatorio
Mostrar propiedades
Array de Food
_idstringobligatorio
namestringobligatorio
typestringobligatorio

food: from a food composition database; custom_food: created by an account; recipe: a recipe.

Valores permitidos:foodcustom_foodrecipe
sourcestring

Food composition database the values come from

categorystring
createdByThisAccountbooleanobligatorio
caloriesKcalnumber
proteinGnumber
carbsGnumber
fatGnumber
nutrientsobjectobligatorio

Every other nutrient the food has, per 100 g, keyed by name and unit (sodium_mg, vitaminB12_ug, …).

measuresFoodMeasure[]obligatorio

Household measures and their weight in grams, including the account's own measures for this food. A meal plan's unit is one of these (or grams).

Mostrar propiedades
Array de FoodMeasure
amountnumberobligatorio
descriptionstringobligatorio
gramsnumberobligatorio
400

Invalid path parameter, query parameter or request body

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

401

Missing or invalid API key

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

403

The account behind the API key has no active paid plan, or the key lacks the permission this operation needs

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

429

Rate limit exceeded (600 requests per 60 seconds); retry after Retry-After seconds

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

500

Unexpected server error

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

Pruébalo
Servidor
Autorización
Parámetros
Solicitud
curl -X GET 'https://api.almendra.io/openapi/v1/foods?search=leche' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json'
Respuesta
{
  "foods": [
    {
      "_id": "string",
      "name": "Pechuga de pollo, cocida",
      "type": "food",
      "source": "CENAN (2017)",
      "category": "string",
      "createdByThisAccount": true,
      "caloriesKcal": 165,
      "proteinG": 31,
      "carbsG": 0,
      "fatG": 3.6,
      "nutrients": {
        "fiber_g": 0,
        "sodium_mg": 74,
        "iron_mg": 1
      },
      "measures": [
        {
          "amount": 1,
          "description": "taza",
          "grams": 240
        }
      ]
    }
  ]
}

¿No encuentras lo que buscas?

Nuestro equipo responde en menos de 1 día hábil, de lunes a viernes de 9:30 a 18:00 (GMT-5).

Escríbenos

¿Te ha resultado útil esta página?