{
  "data": {
    "a": {
      "slug": "logmeal",
      "name": "LogMeal",
      "vendor": "AIGecko Technologies S.L.",
      "vendorUrl": "https://logmeal.com/",
      "kind": "http-api",
      "category": "cooking",
      "summary": "LogMeal's Food AI Engine is a REST API from AIGecko Technologies, a University of Barcelona spin-off, that recognises dishes in a photo, returns ingredients, quantities and nutrients, and logs intakes, goals and plans per end user.",
      "url": "https://www.anchorterminal.com/tools/logmeal",
      "markdownUrl": "https://www.anchorterminal.com/tools/logmeal.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/logmeal.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/logmeal.json",
      "dns": "logmeal.grade.anchorterminal.com",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "Bearer JWT tokens of three kinds, issued after a browser signup and never expiring on their own. The APICompany token manages users and plans, each APIUser token runs recognition and logging for one end user, and APIUserManager tokens read and manage several users' intakes. Tokens are rotated with POST /v2/users/tokens/rotate after a password proof from /tokens/reauth valid for 10 minutes; a disabled APIUser loses access at once.",
      "pricing": "paid",
      "pricingNotes": "No price is published. A 30-day trial opens every endpoint with no card, capped at 200 queries and 5 registered users, then a paid plan (Analyse, Monitor, Recommend or Custom) is chosen in the account. Each plan carries monthly credits, with 1 credit per recognised image and none for nutrition and recipe data; calls beyond the credits are charged as extras at an unstated rate, billed at the end of the period.",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, pricing pages or terms (checked 2026-11-03). Plans are paid by debit or credit card in the account.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.logmeal.com/docs/guides-getting-started-welcome-logmeal-api",
      "llmsTxt": "https://docs.logmeal.com/llms.txt",
      "capabilities": [
        "cooking.food-recognition",
        "cooking.nutrition",
        "cooking.meal-plans",
        "cooking.recipes",
        "cooking.grocery"
      ],
      "tags": [
        "hosted",
        "paid",
        "free-trial",
        "no-card",
        "api-key",
        "llms-txt",
        "vision",
        "eu",
        "closed-source",
        "no-status-page"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.1,
        "grade": "D",
        "agentReady": false,
        "rank": 1045,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 31,
          "payments": 20,
          "reliability": 42,
          "schema": 71,
          "security": 58,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Photo recognition that returns dishes, ingredients, grams and nutrients, with per-user tokens, rate-limit headers, backoff guidance and a 30-day trial with no card. No price is published, there is no status page, SLA or security programme, and submitted images are kept indefinitely and used to develop models unless the user asks for deletion.",
        "bestFor": "Agents that log meals from photos for a person and keep a nutrition history with goals, plans and manager oversight, within the EU.",
        "strengths": [
          "One image call returns segmented dishes with ranked candidates, serving size in grams and a path to ingredients and more than 35 nutrients",
          "Per-user and per-manager bearer tokens with a rotation endpoint, a password proof step and instant disabling of an end user",
          "Rate limits published with numbers and reported in RateLimit-* and X-Account-Credits-* headers, with documented exponential backoff on 429",
          "Markdown docs for every endpoint through llms.txt, generated from an OpenAPI specification, with deprecated endpoints marked and their replacements named",
          "A 30-day trial of every endpoint with no card, capped at 200 queries and 5 users"
        ],
        "weaknesses": [
          "No plan price is published; the pricing pages describe credits and limits and leave figures to the account",
          "No status page, SLA, security.txt, disclosure policy or certification found; support answers within 24 to 48 hours on weekdays",
          "Food images and nutrition data are retained without a time limit and used to develop models by default, and the terms let LogMeal train on submitted data",
          "No OpenAPI file link, no official SDK and no dated changelog; the reference's 'ready-to-use code' is generated snippets",
          "Intake writes have no idempotency key, so a retried recognition call logs a second intake and spends a second credit"
        ],
        "agentNotes": [
          "Create one APIUser per person with the company token, set the user's country and language first, and call recognition with that user's token only",
          "Send JPEG images resized before upload; a 429 may mean the per-second, daily or, on the trial, monthly limit, so wait for RateLimit-Reset or Retry-After and back off exponentially",
          "Read GET /v2/info/limitations before a batch, since it reports credits and daily limits without spending any",
          "Do not retry a recognition call blindly; each successful POST to /v2/image/segmentation/complete logs an intake and uses a credit, so check for the imageId first",
          "Tell the person that uploaded photos are kept and used to develop LogMeal's models unless deletion is requested"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.1
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 31,
          "payments": 20,
          "reliability": 42,
          "schema": 71,
          "security": 58,
          "transparency": 49
        },
        "provenanceScore": 64,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://api.logmeal.com/v2/image/segmentation/complete -H \"Authorization: Bearer $LOGMEAL_APIUSER_TOKEN\" -F \"image=@meal.jpg\""
      },
      "letme": {
        "capability": "https://letme.dev/cooking.food-recognition",
        "tool": "https://letme.dev/logmeal"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "AIGecko Technologies S.L.",
        "domain": "logmeal.com",
        "domainRegistered": "2017-12-03",
        "endpointOnVendorDomain": true,
        "terms": "https://logmeal.com/terms",
        "privacy": "https://logmeal.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "AIGecko Technologies S.L. is named in the terms (last updated 10/03/2025, read as 10 March 2025) and, as AIGECKO TECHNOLOGIES SL with tax id B-02682300 and an address in Igualada, in the privacy policy (last updated 09/05/2025, read as 9 May 2025). Both choose Spanish law and the courts of Barcelona.",
          "The terms contain no clause on automated access; they forbid use that harms server stability. logmeal.com/robots.txt disallows /wp-admin/ and one plugin path; docs.logmeal.com/robots.txt disallows edit, login and api-next paths and points to llms.txt; api.logmeal.com has no robots.txt (404).",
          "No status page, changelog (docs.logmeal.com/changelog is 404), security.txt (404 on logmeal.com, docs.logmeal.com and api.logmeal.com) or MCP registry entry found.",
          "The privacy policy's introduction says it applies to data collected through the website while its first section covers app and API data, so its scope is unclear.",
          "RDAP gives logmeal.com a registration date of 3 December 2017."
        ],
        "score": 64
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/logmeal.json",
      "live": {
        "slug": "logmeal",
        "securityTxt": {
          "url": "https://logmeal.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:52:48.14444986Z"
        },
        "updatedAt": "2026-11-04T15:52:48.14444986Z"
      }
    },
    "answer": "LogMeal scores 49.1 (D) on agent readiness against Nutritionix API's 33.6 (F), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "nutritionix",
      "name": "Nutritionix API",
      "vendor": "Syndigo LLC",
      "vendorUrl": "https://developer.nutritionix.com/",
      "kind": "http-api",
      "category": "cooking",
      "summary": "The Nutritionix API, run by Syndigo, turns free-text food and exercise descriptions into nutrition data and searches a database of grocery products, restaurant menu items and generic foods by name or UPC. Access is arranged through Syndigo's sales team.",
      "url": "https://www.anchorterminal.com/tools/nutritionix",
      "markdownUrl": "https://www.anchorterminal.com/tools/nutritionix.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nutritionix.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nutritionix.json",
      "dns": "nutritionix.grade.anchorterminal.com",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "An application id and key pair sent as the `x-app-id` and `x-app-key` headers on every request, with an optional `x-remote-user-id` header that counts an app's active users for billing (0 in development). Keys come from a developer.nutritionix.com account; since the free tier ended, a limited trial is granted through the sales form on www.nutritionix.com. No scopes, expiry or rotation documented.",
      "pricing": "paid",
      "pricingNotes": "No public price. developer.nutritionix.com says the open, no-cost trial that ran for over a decade has ended because of misuse, and that businesses request a limited trial through the contact form at www.nutritionix.com/business/api, after which sales follows up. The pricing page on www.nutritionix.com is closed to our reader by robots.txt. Premium parameters (claims, taxonomy, UK branded data, detailed nutrients) are sold separately through an account executive.",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer portal or the Syndigo docs (checked 2026-11-03). Access is contracted through sales.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 192,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docx.syndigo.com/developers/docs/nutritionix-api-guide",
      "llmsTxt": "https://docx.syndigo.com/llms.txt",
      "capabilities": [
        "cooking.nutrition",
        "cooking.grocery"
      ],
      "tags": [
        "hosted",
        "paid",
        "sales-led",
        "api-key",
        "llms-txt",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2024-03-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 33.6,
        "grade": "F",
        "agentReady": false,
        "rank": 1259,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 51,
          "maintenance": 10,
          "payments": 0,
          "reliability": 15,
          "schema": 45,
          "security": 52,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Free-text food logging and a branded-food and restaurant database behind four header-authenticated endpoints, documented in Markdown with an llms.txt index and backed by Syndigo's sub-processor list and disclosure programme. There is no public price or free tier since the open trial ended, no documented rate limit or 429, and the status, terms and pricing pages are closed to our reader.",
        "bestFor": "Agents that log meals from free text for a US or UK audience and need branded grocery and restaurant nutrition with UPCs, under a sales contract.",
        "strengths": [
          "POST /v2/natural/nutrients parses phrases such as '1 cup rice' into serving weights, 11 summary nutrients and a full nutrient array in one call",
          "Branded foods, restaurant menu items and UPC lookup, with brand, region and claim filters on the instant endpoint",
          "Keys travel only in headers, with a per-user header that keeps billing off the key itself",
          "Markdown docs with an llms.txt index on Syndigo's portal, with examples per endpoint",
          "Syndigo names the Nutritionix API's sub-processors with locations and runs a responsible disclosure programme on Bugcrowd"
        ],
        "weaknesses": [
          "No public free tier or published price; a limited trial is granted by sales after a form on www.nutritionix.com",
          "No rate limit figure, 429 or Retry-After documented; exceeded usage is reported as 401",
          "The status page, API terms and pricing page sit on hosts whose robots.txt disallows our reader, so none was read",
          "The API guide's last update is 14 March 2024, with no changelog and no official SDK in current maintenance",
          "Caching is limited to a user's own food log; other caching needs a paid add-on"
        ],
        "agentNotes": [
          "Do not plan on self-serve access; a person must request a trial through Syndigo's sales form, so ask for an existing app id and key before starting",
          "Send `x-app-id` and `x-app-key` as headers and set `x-remote-user-id` per end user (0 in development), since billing counts active users",
          "Treat a 401 as either a bad key or an exhausted usage limit; the docs give no limit figure, so back off before retrying",
          "Debounce instant searches by 300 ms and send at least 3 characters, then pass `food_name` to natural/nutrients for common foods and `nix_item_id` to search/item for branded ones",
          "Cache only a person's own logged results; cached data may not be shown to another user"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 33.6
          }
        ],
        "editorialScores": {
          "ergonomics": 51,
          "maintenance": 10,
          "payments": 0,
          "reliability": 15,
          "schema": 45,
          "security": 52,
          "transparency": 36
        },
        "provenanceScore": 78,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://trackapi.nutritionix.com/v2/natural/nutrients -H \"Content-Type: application/json\" -H \"x-app-id: $NUTRITIONIX_APP_ID\" -H \"x-app-key: $NUTRITIONIX_APP_KEY\" -d '{\"query\":\"1 cup rice and 2 eggs\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/cooking.nutrition",
        "tool": "https://letme.dev/nutritionix"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "Syndigo LLC",
        "domain": "nutritionix.com",
        "domainRegistered": "2010-01-25",
        "endpointOnVendorDomain": true,
        "terms": "https://syndigo.com/legal/terms-of-use/",
        "privacy": "https://syndigo.com/legal/privacy-notice/",
        "statusPage": "https://status.nutritionix.com/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "Syndigo LLC is the entity on syndigo.com's legal pages and the sub-processor list, which has a Nutritionix API section. The API's own terms are shown during signup on developer.nutritionix.com and on www.nutritionix.com, which was not read; the Syndigo terms of use linked here (last updated 22 January 2019) govern Syndigo's website and do not mention the API.",
          "www.nutritionix.com/robots.txt, trackapi.nutritionix.com/robots.txt and status.nutritionix.com/robots.txt all disallow the whole site for ClaudeBot, anthropic-ai and Claude-Web among about 30 named crawlers, and carry a Content-Signal line of search=yes,ai-train=no,use=reference for everyone else. Nothing on those hosts was read, so the pricing page, the API terms and the status page are unchecked. developer.nutritionix.com/robots.txt has only comments and docx.syndigo.com allows all; syndigo.com disallows demo and private paths only.",
          "Syndigo's privacy notice is effective 25 March 2026 and does not name Nutritionix. Syndigo's responsible disclosure notice takes reports through Bugcrowd without compensation. No security.txt on developer.nutritionix.com (404).",
          "RDAP gives nutritionix.com a registration date of 25 January 2010."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nutritionix.json",
      "live": {
        "slug": "nutritionix",
        "vendorStatus": {
          "page": "https://status.nutritionix.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:11.875897493Z"
        },
        "securityTxt": {
          "url": "https://nutritionix.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:57.34546431Z"
        },
        "updatedAt": "2026-11-04T15:53:57.34546431Z"
      }
    },
    "edges": [
      {
        "by": 27,
        "category": "reliability",
        "leads": "logmeal",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. No status page was found on logmeal.com, the docs or llms.txt, and a search found none (0), so there is no incident history to read (5). Limits are published with numbers, 20 images a day and 1 a second per APIUser on standard plans, monthly credits per company, and 200 queries on the trial (15). HTTP 429 is documented with RateLimit-Reset, troubleshooting says to back off exponentially and respect Retry-After, but intake writes have no idempotency key (12 of 15). No SLA; the pricing page promises email answers within 24 to 48 hours on weekdays (0 of 10). The v2 API is generally available (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.",
          "b": "Read with the hosted lines. The docs name a status page at status.nutritionix.com, but that host's robots.txt disallows our reader, so it is scored as unread (0 of 20) with no incident history (5). No rate limit figure appears anywhere in the docs (0 of 15). No 429, Retry-After or backoff guidance; the error page files 'usage limits exceeded' under 401 (0 of 15). No SLA found (0). The v2 API is generally available (10). 0 + 5 + 0 + 0 + 0 + 10 = 15."
        },
        "scores": {
          "a": 42,
          "b": 15
        }
      },
      {
        "by": 26,
        "category": "schema",
        "leads": "logmeal",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The reference is generated from an OpenAPI specification and each endpoint page shows its schema, but no specification file is linked or served at a known path (15 of 25). llms.txt with a Markdown twin of every page (10). Endpoint descriptions state purpose, token type, limits and plan, with recommendations such as using the quantity variant on a Recommend plan (15 of 20). Enums for language codes and Nutri-Score categories, required flags, but coordinates are described two ways and the plan needed for nutri_score fields is stated inconsistently (11 of 15). Examples on every endpoint, error codes per endpoint and a numeric code with message in the 400 body (12 of 15). v2 in the path, deprecated endpoints marked with replacements, version endpoints for live APIs and models, but no dated changelog (8 of 15). 15 + 10 + 15 + 11 + 12 + 8 = 71.",
          "b": "No OpenAPI or similar document was found (0 of 25). Syndigo's docs portal serves an llms.txt index and a Markdown twin of every Nutritionix page (10). Each endpoint page states its purpose with usage guidance, such as debouncing instant searches and using the right follow-up endpoint for common and branded foods (13 of 20). Parameters are typed with defaults, but the only required column reads 'Required for Authentication', taxonomy_node_id is typed boolean while described as an id, and claims values sit in prose (8 of 15). Request and response examples on each endpoint; six error statuses with one line each and no body format (9 of 15). v2 in the path, no changelog, and the API guide last updated on 14 March 2024 (5 of 15). 0 + 10 + 13 + 8 + 9 + 5 = 45."
        },
        "scores": {
          "a": 71,
          "b": 45
        }
      },
      {
        "by": 21,
        "category": "maintenance",
        "leads": "logmeal",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The welcome and feature overview pages carry an updatedAt of 7 October 2026, within 30 days of 3 November, and the credential rotation endpoints are documented; no dated API change exists beyond that, so the docs update stands in (25 of 30). No dated changelog, so three changes in 90 days are not established (0 of 20). Email support within 24 to 48 hours on weekdays and a contact form, no public changelog or community channel (6 of 15). No official SDK and no MCP registry entry (0 of 15). No package to assess (0 of 10). 25 + 0 + 6 + 0 + 0 = 31.",
          "b": "Read as a closed service. The newest dated first-hand change to the API's docs is the guide's update of 14 March 2024, more than 180 days before 3 November 2026; Syndigo's sub-processor list of 13 April 2026 and the vue-nutrition-label push of February 2026 are not API changes (0 of 30). No three dated changes in 90 days (0 of 20). Support through Syndigo's form and support@nutritionix.com for caching, no public changelog or community channel (5 of 15). No current official SDK; library-python last pushed December 2022, the label widget June 2024 (3 of 15). The organisation's packages show no CI or recent releases (2 of 10). 0 + 0 + 5 + 3 + 2 = 10."
        },
        "scores": {
          "a": 31,
          "b": 10
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "logmeal",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0 of 40). No price is published; the pricing pages name the plans and describe credits, and the figures sit in the account (0 of 20). A 30-day trial of every endpoint with no card, capped at 200 queries and 5 users (20 of 20). A person signs up in a browser and chooses a plan there (0 of 20). 0 + 0 + 20 + 0 = 20.",
          "b": "No x402, MPP or L402 (0 of 40). No price is published on any page read; the pricing page on www.nutritionix.com is closed to our reader and the developer portal routes to sales (0 of 20, unchecked). The developer portal says the public free-access tier has ended and a limited trial is granted by sales (0 of 20). A person files a form and waits for a sales follow-up (0 of 20). Total 0."
        },
        "scores": {
          "a": 20,
          "b": 0
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "logmeal",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Three bearer token types scoped by role (company, end user, manager), one token per end user, a rotation endpoint that needs a fresh password proof, and instant disabling of an end user; the tokens are JWTs with no stated expiry and no finer scopes (24 of 30). Per-user tokens cannot reach other users, managers see only the users they are granted, and deletion of intakes is a separate endpoint, but there is no read-only token and no confirmation step (15 of 20). Food names come from LogMeal's own model and dataset, with custom recipe names from the customer (10 of 15). GET /v2/info/usages returns request history per APIUser and credit headers show spend per call (9 of 15). No security.txt (404 on three hosts), disclosure policy, bug bounty or certification found (0 of 20). 24 + 15 + 10 + 9 + 0 = 58.",
          "b": "An application id and key pair with no scopes, sent only as headers per the docs, which say not to use the query string; no expiry or rotation documented (18 of 30). The API is read-only, so nothing destructive is reachable, but there is no read-only or per-user credential (12 of 20). Food, brand and menu names come from brands and restaurants through Syndigo, with little free text and no guidance on treating it as untrusted (8 of 15). `x-remote-user-id` counts active users for billing; no request log or per-call visibility for the operator was found (2 of 15). Syndigo runs a responsible disclosure programme on Bugcrowd without compensation, holds SOC 2 Type II for named products that do not include Nutritionix, and lists the Nutritionix API's sub-processors; no security.txt (12 of 20). 18 + 12 + 8 + 2 + 12 = 52."
        },
        "scores": {
          "a": 58,
          "b": 52
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "AIGecko Technologies S.L.",
        "b": "Syndigo LLC",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "0",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "2024-03-14",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2019-01-22",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-03-25",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "192 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "LogMeal scores 49.1 (D) on agent readiness against Nutritionix API's 33.6 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, LogMeal or Nutritionix API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do LogMeal and Nutritionix API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for LogMeal. No hosted endpoint is listed for Nutritionix API.",
        "question": "Can an agent call LogMeal and Nutritionix API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 42 against 15",
          "Schema \u0026 documentation, 71 against 45",
          "Security \u0026 auth, 58 against 52",
          "Payments \u0026 pricing, 20 against 0",
          "Maintenance \u0026 community, 31 against 10"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents that log meals from photos for a person and keep a nutrition history with goals, plans and manager oversight, within the EU.",
        "slug": "logmeal",
        "watchFor": "No plan price is published; the pricing pages describe credits and limits and leave figures to the account"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Agents that log meals from free text for a US or UK audience and need branded grocery and restaurant nutrition with UPCs, under a sales contract.",
        "slug": "nutritionix",
        "watchFor": "No public free tier or published price; a limited trial is granted by sales after a form on www.nutritionix.com"
      }
    ],
    "history": null,
    "job": {
      "capability": "cooking.nutrition",
      "name": "Cooking nutrition"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/eat-this-much-vs-nutritionix.json",
        "title": "Eat This Much Partner API vs Nutritionix API",
        "url": "https://www.anchorterminal.com/compare/eat-this-much-vs-nutritionix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/edamam-vs-nutritionix.json",
        "title": "Edamam vs Nutritionix API",
        "url": "https://www.anchorterminal.com/compare/edamam-vs-nutritionix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fatsecret-vs-logmeal.json",
        "title": "fatsecret Platform API vs LogMeal",
        "url": "https://www.anchorterminal.com/compare/fatsecret-vs-logmeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fatsecret-vs-nutritionix.json",
        "title": "fatsecret Platform API vs Nutritionix API",
        "url": "https://www.anchorterminal.com/compare/fatsecret-vs-nutritionix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutritionix-vs-spoonacular.json",
        "title": "Nutritionix API vs spoonacular",
        "url": "https://www.anchorterminal.com/compare/nutritionix-vs-spoonacular"
      },
      {
        "json": "https://www.anchorterminal.com/compare/edamam-vs-logmeal.json",
        "title": "Edamam vs LogMeal",
        "url": "https://www.anchorterminal.com/compare/edamam-vs-logmeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eat-this-much-vs-logmeal.json",
        "title": "Eat This Much Partner API vs LogMeal",
        "url": "https://www.anchorterminal.com/compare/eat-this-much-vs-logmeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/logmeal-vs-spoonacular.json",
        "title": "LogMeal vs spoonacular",
        "url": "https://www.anchorterminal.com/compare/logmeal-vs-spoonacular"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 27,
        "edge": "logmeal",
        "key": "reliability",
        "logmeal": 42,
        "name": "Reliability",
        "nutritionix": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "logmeal",
        "key": "schema",
        "logmeal": 71,
        "name": "Schema \u0026 documentation",
        "nutritionix": 45,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "logmeal",
        "key": "ergonomics",
        "logmeal": 54,
        "name": "Agent ergonomics",
        "nutritionix": 51,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "logmeal",
        "key": "security",
        "logmeal": 58,
        "name": "Security \u0026 auth",
        "nutritionix": 52,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "logmeal",
        "key": "payments",
        "logmeal": 20,
        "name": "Payments \u0026 pricing",
        "nutritionix": 0,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "logmeal",
        "key": "maintenance",
        "logmeal": 31,
        "name": "Maintenance \u0026 community",
        "nutritionix": 10,
        "weight": 7
      },
      {
        "by": 0,
        "edge": "",
        "key": "transparency",
        "logmeal": 57,
        "name": "Transparency \u0026 trust",
        "nutritionix": 57,
        "weight": 7
      }
    ],
    "summary": "LogMeal scores 49.1 (D) on agent readiness against Nutritionix API's 33.6 (F), and leads in 6 of 7 scored categories. Both do cooking nutrition.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "logmeal": "Photo recognition that returns dishes, ingredients, grams and nutrients, with per-user tokens, rate-limit headers, backoff guidance and a 30-day trial with no card. No price is published, there is no status page, SLA or security programme, and submitted images are kept indefinitely and used to develop models unless the user asks for deletion.",
      "nutritionix": "Free-text food logging and a branded-food and restaurant database behind four header-authenticated endpoints, documented in Markdown with an llms.txt index and backed by Syndigo's sub-processor list and disclosure programme. There is no public price or free tier since the open trial ended, no documented rate limit or 429, and the status, terms and pricing pages are closed to our reader."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/logmeal-vs-nutritionix",
    "json": "https://www.anchorterminal.com/compare/logmeal-vs-nutritionix.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/logmeal-vs-nutritionix.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/logmeal-vs-nutritionix.min.md"
  },
  "markdown": "LogMeal scores 49.1 (D) on agent readiness against Nutritionix API's 33.6 (F), and leads in 6 of 7 scored categories. Both do cooking nutrition.\n\n- LogMeal: grade D, 49.1/100, rank #1045 of 1349. Markdown https://www.anchorterminal.com/tools/logmeal.md · JSON https://www.anchorterminal.com/api/v1/tools/logmeal.json\n- Nutritionix API: grade F, 33.6/100, rank #1259 of 1349. Markdown https://www.anchorterminal.com/tools/nutritionix.md · JSON https://www.anchorterminal.com/api/v1/tools/nutritionix.json\n- Best recipe, nutrition and meal planning APIs for AI agents: https://www.anchorterminal.com/best/cooking/index.md\n- All 28 cooking comparisons: https://www.anchorterminal.com/compare/cooking/index.md\n\n## Which one, for what\n\n### LogMeal (D)\n\nGood for: Agents that log meals from photos for a person and keep a nutrition history with goals, plans and manager oversight, within the EU.\n\nAhead on:\n- Reliability, 42 against 15\n- Schema \u0026 documentation, 71 against 45\n- Security \u0026 auth, 58 against 52\n- Payments \u0026 pricing, 20 against 0\n- Maintenance \u0026 community, 31 against 10\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No plan price is published; the pricing pages describe credits and limits and leave figures to the account\n\n### Nutritionix API (F)\n\nGood for: Agents that log meals from free text for a US or UK audience and need branded grocery and restaurant nutrition with UPCs, under a sales contract.\n\nWatch for: No public free tier or published price; a limited trial is granted by sales after a form on www.nutritionix.com\n\n\n## Why the edge\n\n### Reliability: LogMeal +27\n\n- LogMeal (42): Read with the hosted lines. No status page was found on logmeal.com, the docs or llms.txt, and a search found none (0), so there is no incident history to read (5). Limits are published with numbers, 20 images a day and 1 a second per APIUser on standard plans, monthly credits per company, and 200 queries on the trial (15). HTTP 429 is documented with RateLimit-Reset, troubleshooting says to back off exponentially and respect Retry-After, but intake writes have no idempotency key (12 of 15). No SLA; the pricing page promises email answers within 24 to 48 hours on weekdays (0 of 10). The v2 API is generally available (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.\n- Nutritionix API (15): Read with the hosted lines. The docs name a status page at status.nutritionix.com, but that host's robots.txt disallows our reader, so it is scored as unread (0 of 20) with no incident history (5). No rate limit figure appears anywhere in the docs (0 of 15). No 429, Retry-After or backoff guidance; the error page files 'usage limits exceeded' under 401 (0 of 15). No SLA found (0). The v2 API is generally available (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n\n### Schema \u0026 documentation: LogMeal +26\n\n- LogMeal (71): The reference is generated from an OpenAPI specification and each endpoint page shows its schema, but no specification file is linked or served at a known path (15 of 25). llms.txt with a Markdown twin of every page (10). Endpoint descriptions state purpose, token type, limits and plan, with recommendations such as using the quantity variant on a Recommend plan (15 of 20). Enums for language codes and Nutri-Score categories, required flags, but coordinates are described two ways and the plan needed for nutri_score fields is stated inconsistently (11 of 15). Examples on every endpoint, error codes per endpoint and a numeric code with message in the 400 body (12 of 15). v2 in the path, deprecated endpoints marked with replacements, version endpoints for live APIs and models, but no dated changelog (8 of 15). 15 + 10 + 15 + 11 + 12 + 8 = 71.\n- Nutritionix API (45): No OpenAPI or similar document was found (0 of 25). Syndigo's docs portal serves an llms.txt index and a Markdown twin of every Nutritionix page (10). Each endpoint page states its purpose with usage guidance, such as debouncing instant searches and using the right follow-up endpoint for common and branded foods (13 of 20). Parameters are typed with defaults, but the only required column reads 'Required for Authentication', taxonomy_node_id is typed boolean while described as an id, and claims values sit in prose (8 of 15). Request and response examples on each endpoint; six error statuses with one line each and no body format (9 of 15). v2 in the path, no changelog, and the API guide last updated on 14 March 2024 (5 of 15). 0 + 10 + 13 + 8 + 9 + 5 = 45.\n\n### Maintenance \u0026 community: LogMeal +21\n\n- LogMeal (31): Read as a closed service. The welcome and feature overview pages carry an updatedAt of 7 October 2026, within 30 days of 3 November, and the credential rotation endpoints are documented; no dated API change exists beyond that, so the docs update stands in (25 of 30). No dated changelog, so three changes in 90 days are not established (0 of 20). Email support within 24 to 48 hours on weekdays and a contact form, no public changelog or community channel (6 of 15). No official SDK and no MCP registry entry (0 of 15). No package to assess (0 of 10). 25 + 0 + 6 + 0 + 0 = 31.\n- Nutritionix API (10): Read as a closed service. The newest dated first-hand change to the API's docs is the guide's update of 14 March 2024, more than 180 days before 3 November 2026; Syndigo's sub-processor list of 13 April 2026 and the vue-nutrition-label push of February 2026 are not API changes (0 of 30). No three dated changes in 90 days (0 of 20). Support through Syndigo's form and support@nutritionix.com for caching, no public changelog or community channel (5 of 15). No current official SDK; library-python last pushed December 2022, the label widget June 2024 (3 of 15). The organisation's packages show no CI or recent releases (2 of 10). 0 + 0 + 5 + 3 + 2 = 10.\n\n### Payments \u0026 pricing: LogMeal +20\n\n- LogMeal (20): No x402, MPP or L402 (0 of 40). No price is published; the pricing pages name the plans and describe credits, and the figures sit in the account (0 of 20). A 30-day trial of every endpoint with no card, capped at 200 queries and 5 users (20 of 20). A person signs up in a browser and chooses a plan there (0 of 20). 0 + 0 + 20 + 0 = 20.\n- Nutritionix API (0): No x402, MPP or L402 (0 of 40). No price is published on any page read; the pricing page on www.nutritionix.com is closed to our reader and the developer portal routes to sales (0 of 20, unchecked). The developer portal says the public free-access tier has ended and a limited trial is granted by sales (0 of 20). A person files a form and waits for a sales follow-up (0 of 20). Total 0.\n\n### Security \u0026 auth: LogMeal +6\n\n- LogMeal (58): Three bearer token types scoped by role (company, end user, manager), one token per end user, a rotation endpoint that needs a fresh password proof, and instant disabling of an end user; the tokens are JWTs with no stated expiry and no finer scopes (24 of 30). Per-user tokens cannot reach other users, managers see only the users they are granted, and deletion of intakes is a separate endpoint, but there is no read-only token and no confirmation step (15 of 20). Food names come from LogMeal's own model and dataset, with custom recipe names from the customer (10 of 15). GET /v2/info/usages returns request history per APIUser and credit headers show spend per call (9 of 15). No security.txt (404 on three hosts), disclosure policy, bug bounty or certification found (0 of 20). 24 + 15 + 10 + 9 + 0 = 58.\n- Nutritionix API (52): An application id and key pair with no scopes, sent only as headers per the docs, which say not to use the query string; no expiry or rotation documented (18 of 30). The API is read-only, so nothing destructive is reachable, but there is no read-only or per-user credential (12 of 20). Food, brand and menu names come from brands and restaurants through Syndigo, with little free text and no guidance on treating it as untrusted (8 of 15). `x-remote-user-id` counts active users for billing; no request log or per-call visibility for the operator was found (2 of 15). Syndigo runs a responsible disclosure programme on Bugcrowd without compensation, holds SOC 2 Type II for named products that do not include Nutritionix, and lists the Nutritionix API's sub-processors; no security.txt (12 of 20). 18 + 12 + 8 + 2 + 12 = 52.\n\n## Score by category\n\n| Category | Weight | LogMeal | Nutritionix API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 15 | LogMeal +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 45 | LogMeal +26 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 51 | LogMeal +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 52 | LogMeal +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 0 | LogMeal +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 31 | 10 | LogMeal +21 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 57 | even |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.1 · D** | **33.6 · F** | |\n\n## Facts side by side\n\n| Fact | LogMeal | Nutritionix API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | AIGecko Technologies S.L. | Syndigo LLC |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Tools exposed | 0 | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-07 | 2024-03-14 |\n| Terms last updated | no date given | 2019-01-22 |\n| Privacy policy last updated | no date given | 2026-03-25 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 192 stars |\n\n## Verdicts\n\n**LogMeal.** Photo recognition that returns dishes, ingredients, grams and nutrients, with per-user tokens, rate-limit headers, backoff guidance and a 30-day trial with no card. No price is published, there is no status page, SLA or security programme, and submitted images are kept indefinitely and used to develop models unless the user asks for deletion.\n\n**Nutritionix API.** Free-text food logging and a branded-food and restaurant database behind four header-authenticated endpoints, documented in Markdown with an llms.txt index and backed by Syndigo's sub-processor list and disclosure programme. There is no public price or free tier since the open trial ended, no documented rate limit or 429, and the status, terms and pricing pages are closed to our reader.\n\n## Before you call either\n\n### LogMeal\n\n1. Create one APIUser per person with the company token, set the user's country and language first, and call recognition with that user's token only\n2. Send JPEG images resized before upload; a 429 may mean the per-second, daily or, on the trial, monthly limit, so wait for RateLimit-Reset or Retry-After and back off exponentially\n3. Read GET /v2/info/limitations before a batch, since it reports credits and daily limits without spending any\n4. Do not retry a recognition call blindly; each successful POST to /v2/image/segmentation/complete logs an intake and uses a credit, so check for the imageId first\n5. Tell the person that uploaded photos are kept and used to develop LogMeal's models unless deletion is requested\n\n### Nutritionix API\n\n1. Do not plan on self-serve access; a person must request a trial through Syndigo's sales form, so ask for an existing app id and key before starting\n2. Send `x-app-id` and `x-app-key` as headers and set `x-remote-user-id` per end user (0 in development), since billing counts active users\n3. Treat a 401 as either a bad key or an exhausted usage limit; the docs give no limit figure, so back off before retrying\n4. Debounce instant searches by 300 ms and send at least 3 characters, then pass `food_name` to natural/nutrients for common foods and `nix_item_id` to search/item for branded ones\n5. Cache only a person's own logged results; cached data may not be shown to another user\n\n## Questions\n\n### Which is better for AI agents, LogMeal or Nutritionix API?\n\nLogMeal scores 49.1 (D) on agent readiness against Nutritionix API's 33.6 (F), and leads in 6 of 7 scored categories.\n\n### Do LogMeal and Nutritionix API need an API key?\n\nBoth need an API key.\n\n### Can an agent call LogMeal and Nutritionix API without installing anything?\n\nNo hosted endpoint is listed for LogMeal. No hosted endpoint is listed for Nutritionix API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/logmeal-vs-nutritionix.json, and with the fewest tokens: https://www.anchorterminal.com/compare/logmeal-vs-nutritionix.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"logmeal\", \"b\": \"nutritionix\"}`. From a terminal: `anchor compare logmeal nutritionix`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/logmeal.json and https://www.anchorterminal.com/api/v1/tools/nutritionix.json\n\n## Other comparisons with LogMeal or Nutritionix API\n\n- [Eat This Much Partner API vs Nutritionix API](https://www.anchorterminal.com/compare/eat-this-much-vs-nutritionix.md)\n- [Edamam vs Nutritionix API](https://www.anchorterminal.com/compare/edamam-vs-nutritionix.md)\n- [fatsecret Platform API vs LogMeal](https://www.anchorterminal.com/compare/fatsecret-vs-logmeal.md)\n- [fatsecret Platform API vs Nutritionix API](https://www.anchorterminal.com/compare/fatsecret-vs-nutritionix.md)\n- [Nutritionix API vs spoonacular](https://www.anchorterminal.com/compare/nutritionix-vs-spoonacular.md)\n- [Edamam vs LogMeal](https://www.anchorterminal.com/compare/edamam-vs-logmeal.md)\n- [Eat This Much Partner API vs LogMeal](https://www.anchorterminal.com/compare/eat-this-much-vs-logmeal.md)\n- [LogMeal vs spoonacular](https://www.anchorterminal.com/compare/logmeal-vs-spoonacular.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LogMeal vs Nutritionix API",
        "url": ""
      }
    ],
    "description": "LogMeal scores 49.1 (D) to Nutritionix's 33.6 (F) for cooking nutrition. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LogMeal D 49.1",
      "Nutritionix API F 33.6",
      "scores"
    ],
    "h1": "LogMeal vs Nutritionix API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/logmeal-vs-nutritionix",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LogMeal vs Nutritionix for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/logmeal-vs-nutritionix"
  },
  "tokens": {
    "markdown": 3750,
    "slim": 2180
  },
  "version": 1
}
