Skip to content

List ingredients

The canonical ingredient vocabulary, most used first, with every spelling seen per language, so "tomat", "Tomate" and "tomato" resolve to one id.

GET/ingredientsAPI key

Returns the canonical ingredient vocabulary, most used first. An id from here is what the `ingredient` filter of GET /recipes takes. `names` holds the canonical English name and `aliases` every spelling seen, keyed by language, so "tomat", "Tomate" and "tomato" all resolve to one id.

Request

curl 'https://api.tinyplates.dev/ingredients?limit=3' \
  -H 'Authorization: Bearer rd_your_api_key'

Sign in to run this request with your own key. Free, 50 requests a day and 300 a week.

Parameters

  • limitintegerdefaults to 1001–500

    How many ingredients to return.

Response

ingredients[]object[]
aliasesobject

Every spelling seen, keyed by two-letter language code.

idstring

The canonical id, such as "chicken-thigh".

namesobject

The canonical name, keyed by two-letter language code.

recipeCountinteger

How many recipes use this ingredient.

The ingredients, most used first.

Example

{
  "ingredients": [
    {
      "aliases": {
        "en": [
          "salt",
          "sea salt",
          "kosher salt",
          "salt and black pepper",
          "salt and pepper"
        ],
        "de": [
          "Salz",
          "Jodsalz",
          "Bad Reichenhaller MarkenJodSalz mit Fluorid und Folsäure"
        ],
        "sv": [
          "salt",
          "salt och svartpeppar",
          "salt och peppar",
          "flingsalt"
        ],
        "es": [
          "sal",
          "Sal"
        ]
      },
      "id": "salt",
      "names": {
        "en": "salt"
      },
      "recipeCount": 783
    },
    {
      "aliases": {
        "en": [
          "black pepper",
          "freshly ground black pepper"
        ],
        "de": [
          "Pfeffer",
          "schwarzer Pfeffer",
          "frisch gemahlener Pfeffer",
          "gemahlener Pfeffer",
          "grober schwarzer Pfeffer"
        ],
        "sv": [
          "peppar",
          "svartpeppar",
          "nymalen svartpeppar",
          "malen vitpeppar",
          "svartpepparkorn"
        ],
        "es": [
          "pimienta",
          "pimienta negra molida",
          "Pimienta negra molida"
        ]
      },
      "id": "black-pepper",
      "names": {
        "en": "black pepper"
      },
      "recipeCount": 451
    },
    {
      "aliases": {
        "en": [
          "garlic",
          "garlic clove",
          "garlic cloves"
        ],
        "de": [
          "Knoblauchzehe",
          "Knoblauchzehen"
        ],
        "sv": [
          "vitlöksklyfta",
          "vitlöksklyftor",
          "vitlök"
        ],
        "es": [
          "Dientes de ajo",
          "ajo"
        ]
      },
      "id": "garlic",
      "names": {
        "en": "garlic"
      },
      "recipeCount": 411
    }
  ]
}

Errors

  • 400

    The "limit" parameter must be a whole number between 1 and 500; got "9000".

    A parameter was not a value the API accepts. The message names the parameter, the value it was given and where the allowed values are listed.

  • 401

    An API key is required. Pass it as an Authorization: Bearer header.

    No key was sent. Every endpoint except the root, /health, /docs and /openapi.json requires one.

  • 401

    Invalid API key.

    The key does not exist. Check for a truncated copy, or create a new one on your dashboard.

  • 401

    This API key has been disabled.

    The key was revoked. Create a new one on your dashboard.

  • 401

    This API key has expired.

    The key was created with an expiry that has passed. Create a new one.

  • 429

    Daily allowance of 50 requests used. It resets at midnight UTC. Paid plans include more; see https://www.tinyplates.dev/pricing.

    The account has used its 50 requests for the day. The allowance is per account, so another key will not help. It resets at midnight UTC.

  • 429

    Weekly allowance of 300 requests used. It covers the last 7 days. Paid plans include more; see https://www.tinyplates.dev/pricing.

    The account has used its 300 requests over the last 7 days, today included. The allowance is per account, so another key will not help. Room comes back as older days drop out of the window.

  • 429

    Daily limit of 5,000 requests on the Personal plan reached. It resets at midnight UTC. Contact us for a higher limit.

    The account has used its plan's limit for the day. The message names the number and the plan, which differ between accounts. The limit is per account, so another key will not help. It resets at midnight UTC.

  • 429

    Weekly limit of 30,000 requests on the Business plan reached. It covers the last 7 days. Contact us for a higher limit.

    The account has used the weekly limit set on it over the last 7 days, today included. The message names the number and the plan. Only accounts with a weekly limit can see this. Room comes back as older days drop out of the window.

  • 500

    Something went wrong. Please try again.

    The API could not answer. The request was not your fault; retry it, and report it if it keeps happening.