# Invoket Food Additive EU Union List Lookup

> Invoket Food Additive EU Union List Lookup is a paid API for AI agents from api.invoket.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Checks whether a specific EU food additive (by E number or name) is authorised in a given food category as of a given date, using the official EU Union List.

## Facts

- Endpoint: GET https://api.invoket.com/label/food/additive
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/invoket-food-additive-eu-union-list-lookup-a64765d9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_l7yVxg8gam13O-ryK1WGY

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability invoket-food-additive-eu-union-list-lookup-a64765d9
```

Example prompt: Check whether E471 is authorised for use in processed meat products (food category 08.3.2) under current EU food additive rules.

## When to prefer this

Use this endpoint when an AI agent needs to verify EU regulatory compliance of a food additive before acting — e.g. before recommending a recipe, approving a product formulation, or generating a compliance report. Prefer this over generic web search when you need authoritative, provenance-backed answers from the official EU Union List, especially when historical date-pinned queries are required.

## Known failure modes

- 400 if both e_number and name are provided, or neither is provided
- 400 if the E number format does not match the template (E + 3-4 digits + optional letter/roman numeral)
- 400 if the food_category code is not in the referential or is provided as empty string
- 400 if the requested date is earlier than the oldest ingested version of the Union List
- 404 if the E number is not found in the EU Union List (not billed)
- Response may be truncated at 100 categories when no food_category is provided

## How this service works

The checks your agent runs before it acts: verify a bank account, a phone number, a law in force, the weather or a vehicle — computed from official sources, with provenance in every response. You only pay for answers.

## Output

When a food_category is provided: a verdict (authorised/not authorised) plus an authorisations array detailing the conditions under which the additive is permitted in that category, with regulatory provenance. When no food_category is provided: an inventory of up to 100 food categories in which the additive is authorised, including category codes, names, and any group-level authorisations — without an overall verdict, since authorisation is always category-specific.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "date",
  "e_number",
  "food_category"
 ],
 "properties": {
  "date": {
   "type": "string",
   "description": "Optional date (YYYY-MM-DD, default today): serves the consolidated version in force at that date. Earlier than the oldest ingested version = 400 naming the bound"
  },
  "e_number": {
   "type": "string",
   "description": "E number, template E + 3 or 4 digits + optional letter and roman numeral ('E 160a(i)'). Provide exactly ONE key among e_number and name (exact published name); zero or both = 400, off-template = 400 before any lookup. An E number unknown to the Union list = 404, not billed"
  },
  "food_category": {
   "type": "string",
   "description": "Food category code AS PUBLISHED ('08.3.2'; Annex III parts are exposed as 'III.1' to 'III.5'). Optional, but it changes the shape of the answer: WITH it you get a verdict plus authorisations[]; WITHOUT it you get NO verdict field at all and instead data.authorised_in {total, truncated, categories[] (code, name, via_group), capped at 100} - an inventory, never an 'authorised' claim in the abstract, since an additive has no status without a food category. A code outside the referential = 400 not billed; provided empty = 400"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/invoket-food-additive-eu-union-list-lookup-a64765d9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.invoket.com](https://www.zero.xyz/host/api.invoket.com/llms.txt)
