{
  "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"
  },
  "tool": {
    "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"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 42,
          "points": 8.4,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 71,
          "points": 11.54,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 54,
          "points": 8.78,
          "reason": "Recognition responses carry polygons, bounding boxes and recursive subclasses for every segment with no field selection; the language parameter is the only shaping control (10 of 25). History by date range, daily and weekly summaries, a batch endpoint for up to five users, no pagination on lists (12 of 20). Numeric codes with messages, such as 708 naming the valid languages, and troubleshooting guidance per status (15 of 20). Reads are safe to repeat; each recognition POST logs a new intake and spends a credit with no idempotency key (8 of 20). One required field (the image) with defaults from the user's profile, but no official SDK; the 'ready-to-use code in 35+ languages' is generated snippets (9 of 15). 10 + 12 + 15 + 8 + 9 = 54.",
          "checked": "2026-11-03"
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 58,
          "points": 10.15,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 20,
          "points": 2.5,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 31,
          "points": 2.71,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 57,
          "points": 4.99,
          "note": "editorial 49, provenance 64",
          "reason": "Closed service with terms dated 10 March 2025 that name AIGecko Technologies S.L., Spanish law and 30 days' notice for prices and termination (15 of 30). The privacy policy of 9 May 2025 names the controller, a DPO address, Google Cloud in the EU and standard contractual clauses, and states that images and nutrition data are kept without a time limit for developing models; its introduction limits it to the website while its first section covers the API, and the terms' training clause and the policy's retention agree on substance (14 of 30). Deprecated endpoints are marked with replacements, the terms promise reasonable prior notice for documentation changes, but no dates or notice period for removals (8 of 20). Google Cloud named as the main processor with EU storage by default and replication elsewhere on request, with no fuller sub-processor list (12 of 20). 15 + 14 + 8 + 12 = 49.",
          "checked": "2026-11-03"
        }
      ],
      "assessment": {
        "date": "2026-11-03",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "Recognition responses carry polygons, bounding boxes and recursive subclasses for every segment with no field selection; the language parameter is the only shaping control (10 of 25). History by date range, daily and weekly summaries, a batch endpoint for up to five users, no pagination on lists (12 of 20). Numeric codes with messages, such as 708 naming the valid languages, and troubleshooting guidance per status (15 of 20). Reads are safe to repeat; each recognition POST logs a new intake and spends a credit with no idempotency key (8 of 20). One required field (the image) with defaults from the user's profile, but no official SDK; the 'ready-to-use code in 35+ languages' is generated snippets (9 of 15). 10 + 12 + 15 + 8 + 9 = 54.",
          "maintenance": "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.",
          "payments": "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.",
          "reliability": "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.",
          "schema": "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.",
          "security": "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.",
          "transparency": "Closed service with terms dated 10 March 2025 that name AIGecko Technologies S.L., Spanish law and 30 days' notice for prices and termination (15 of 30). The privacy policy of 9 May 2025 names the controller, a DPO address, Google Cloud in the EU and standard contractual clauses, and states that images and nutrition data are kept without a time limit for developing models; its introduction limits it to the website while its first section covers the API, and the terms' training clause and the policy's retention agree on substance (14 of 30). Deprecated endpoints are marked with replacements, the terms promise reasonable prior notice for documentation changes, but no dates or notice period for removals (8 of 20). Google Cloud named as the main processor with EU storage by default and replication elsewhere on request, with no fuller sub-processor list (12 of 20). 15 + 14 + 8 + 12 = 49."
        },
        "sources": [
          {
            "what": "docs welcome (updatedAt 7 October 2026)",
            "url": "https://docs.logmeal.com/docs/guides-getting-started-welcome-logmeal-api",
            "seen": "2026-11-03"
          },
          {
            "what": "llms.txt index",
            "url": "https://docs.logmeal.com/llms.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "quickstart",
            "url": "https://docs.logmeal.com/docs/guides-getting-started-quickstart.md",
            "seen": "2026-11-03"
          },
          {
            "what": "plans and limits (headers, 429)",
            "url": "https://docs.logmeal.com/docs/guides-essential-concepts-plans-limits.md",
            "seen": "2026-11-03"
          },
          {
            "what": "user types and access tokens",
            "url": "https://docs.logmeal.com/docs/guides-essential-concepts-users-and-access-tokens.md",
            "seen": "2026-11-03"
          },
          {
            "what": "how to use the reference (auth, errors, base url)",
            "url": "https://docs.logmeal.com/reference/api-reference-how-to-use-logmeal-api.md",
            "seen": "2026-11-03"
          },
          {
            "what": "troubleshooting (error body, backoff)",
            "url": "https://docs.logmeal.com/docs/guides-best-practices-toubleshooting.md",
            "seen": "2026-11-03"
          },
          {
            "what": "feature overview by plan",
            "url": "https://docs.logmeal.com/docs/guides-features-overview.md",
            "seen": "2026-11-03"
          },
          {
            "what": "segmentation endpoint reference",
            "url": "https://docs.logmeal.com/reference/post_v2-image-segmentation-complete.md",
            "seen": "2026-11-03"
          },
          {
            "what": "token rotation reference",
            "url": "https://docs.logmeal.com/reference/post_v2-users-tokens-rotate.md",
            "seen": "2026-11-03"
          },
          {
            "what": "reference getting started (OpenAPI excerpt)",
            "url": "https://docs.logmeal.com/reference/getting-started.md",
            "seen": "2026-11-03"
          },
          {
            "what": "changelog (404)",
            "url": "https://docs.logmeal.com/changelog",
            "seen": "2026-11-03"
          },
          {
            "what": "Food AI Engine pricing",
            "url": "https://logmeal.com/food-ai-engine-pricing",
            "seen": "2026-11-03"
          },
          {
            "what": "pricing",
            "url": "https://logmeal.com/pricing",
            "seen": "2026-11-03"
          },
          {
            "what": "terms of service",
            "url": "https://logmeal.com/terms",
            "seen": "2026-11-03"
          },
          {
            "what": "privacy policy",
            "url": "https://logmeal.com/privacy",
            "seen": "2026-11-03"
          },
          {
            "what": "about",
            "url": "https://logmeal.com/about-us",
            "seen": "2026-11-03"
          },
          {
            "what": "team",
            "url": "https://logmeal.com/team",
            "seen": "2026-11-03"
          },
          {
            "what": "contact (support email)",
            "url": "https://logmeal.com/contact",
            "seen": "2026-11-03"
          },
          {
            "what": "robots.txt docs",
            "url": "https://docs.logmeal.com/robots.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "robots.txt site",
            "url": "https://logmeal.com/robots.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "security.txt (404)",
            "url": "https://logmeal.com/.well-known/security.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "University of Barcelona spin-off article",
            "url": "https://www.fbg.ub.edu/en/?p=11460",
            "seen": "2026-11-03"
          },
          {
            "what": "RDAP for logmeal.com",
            "url": "https://rdap.verisign.com/com/v1/domain/logmeal.com",
            "seen": "2026-11-03"
          }
        ],
        "openQuestions": [
          "unchecked: the OpenAPI specification file, which the reference says it is based on but does not link; plan prices and the overage rate, which sit in the account after signup; and the live limits of each plan.",
          "firstReleased is 4 February 2021, the date of the University of Barcelona foundation's article on the spin-off (written 04-02-2021, read day first), matching the about page's 2021 public launch; the domain dates from 3 December 2017. lastRelease is 7 October 2026, the docs' updatedAt, since no dated API changelog exists.",
          "The terms' and privacy policy's dates are written 10/03/2025 and 09/05/2025 and read in the Spanish order as 10 March and 9 May 2025.",
          "Judgement call, not a deduction. The privacy policy says images and nutrition data are kept without a time limit and used for developing machine learning models unless deletion is requested, and the terms allow training on submitted data. Both documents say so on record, so it is scored under transparency and security rather than deducted as undisclosed.",
          "Judgement call on maintenance. With no dated changelog, the docs' updatedAt of 7 October 2026 stands in for the last change; the score would drop to 6 without it.",
          "The 'kit-digital' logo in the site footer suggests a Spanish digital grant programme; no page explains it, so nothing is recorded under investors.",
          "No GitHub organisation or official client library was found for LogMeal."
        ]
      },
      "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
      },
      "scoreHistory": [
        {
          "date": "2026-11-03",
          "grade": "D",
          "kind": "listed",
          "method": "0.7",
          "score": 49.1
        }
      ]
    },
    "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"
    },
    "notable": [
      "About 160 endpoints under https://api.logmeal.com/v2 for recognition (POST /v2/image/segmentation/complete and its quantity and depth variants), ingredients and nutrition, intake history, goals, plans, custom recipes, favourites, body measures, scores, recommendations, waste detection and kiosk integration, each page generated from an OpenAPI specification and served as Markdown through llms.txt (https://docs.logmeal.com/llms.txt)",
      "Limits of three kinds, monthly credits per company, daily calls per APIUser on a rolling 24 hours (20 images a day on standard plans) and calls per second (1 image a second), with RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, X-Account-Credits-Used and X-Account-Credits-Remaining headers and GET /v2/info/limitations to read quotas without spending (https://docs.logmeal.com/docs/guides-essential-concepts-plans-limits.md)",
      "HTTP 429 beyond the limits, with troubleshooting that says to back off exponentially and respect Retry-After, and that persistent 429s without backoff can block an app for a time (https://docs.logmeal.com/docs/guides-best-practices-toubleshooting.md)",
      "Errors carry a numeric code and message, such as 400 with code 708 listing the valid language values; recognition responses give polygons, bounding boxes, serving size in grams and ranked candidates with probabilities (https://docs.logmeal.com/reference/post_v2-image-segmentation-complete.md)",
      "The terms, last updated 10 March 2025, name AIGecko Technologies S.L. under Spanish law, let LogMeal use submitted data to train machine learning algorithms, give 30 days' notice for price changes and termination, and make payments non-refundable (https://logmeal.com/terms)",
      "The privacy policy, last updated 9 May 2025, names AIGECKO TECHNOLOGIES SL (B-02682300) in Igualada, keeps food images and nutrition data without a time limit for developing machine learning models unless deletion is requested, and stores data on Google Cloud in the EU by default (https://logmeal.com/privacy)",
      "Several endpoints are marked deprecated with their replacements, such as POST /v2/managers/createAPIUserManager for POST /v2/managers; GET /v2/version/activeApis and activeModels list live API and model versions (https://docs.logmeal.com/llms.txt)",
      "The docs' welcome and feature overview pages carry an updatedAt of 7 October 2026; no dated changelog exists (docs.logmeal.com/changelog is 404) (https://docs.logmeal.com/docs/guides-getting-started-welcome-logmeal-api)"
    ],
    "area": "everyday",
    "details": [
      {
        "label": "Surface listed",
        "value": "The Food AI Engine API v2 at api.logmeal.com, read from docs.logmeal.com (welcome, quickstart, plans and limits, user types and tokens, how to use, troubleshooting, the feature overview, llms.txt, the segmentation, rotate and getting-started reference pages) and logmeal.com (home, pricing, Food AI Engine pricing, about, team, terms, privacy, contact) on 3 November 2026. No account was made and no call was sent"
      },
      {
        "label": "Plans",
        "value": "Free trial for 30 days (all endpoints, 200 queries, 5 users, no card), then Analyse (recognition, ingredients, nutrition), Monitor (history, goals, occasions, managers, plans, custom recipes, favourites, body measures), Recommend (diet labels, variety score, Nutri-Score, recommendations, quantity and waste detection) and Custom (dysphagia feedback, white label, kiosk). Prices are not published"
      },
      {
        "label": "Limits",
        "value": "Monthly credits per company (1 credit per recognised image, none for nutrition and recipe data, extras charged beyond them), 20 images a day per APIUser on a rolling 24 hours, 1 image a second per APIUser, plus per-endpoint restrictions. HTTP 429 beyond them"
      },
      {
        "label": "Tokens",
        "value": "APICompany (one per subscription, from the dashboard), APIUser (one per end user, from POST /v2/users/signUp) and APIUserManager (from POST /v2/managers, Monitor plan or higher). JWT bearers with no stated expiry; web sessions expire after seven days; POST /v2/users/tokens/rotate replaces all of a user's credentials after a reauth proof"
      },
      {
        "label": "Recognition output",
        "value": "imageId, processed image size, occasion, food type and family, model versions, and per segment a centre, bounding box, polygon, serving_size in grams and ranked recognition_results with probabilities, subclasses and Nutri-Score fields by plan. Languages spa, cat, eng, ita, nld, fre, ger, tur, gre, heb"
      },
      {
        "label": "Errors",
        "value": "400 with a numeric code and message (701 image could not be saved, 708 invalid language), 401 invalid token, 403 token lacks access, 404, 429 too many requests, 500. Troubleshooting says to retry 429 and 5xx with exponential backoff and to respect Retry-After"
      },
      {
        "label": "Data use",
        "value": "Customers keep ownership of inputs and outputs; the terms allow LogMeal to use submitted data for training machine learning algorithms and anonymised statistics; the privacy policy retains images and nutrition data without a time limit for developing models unless deletion is requested, on Google Cloud in the EU by default"
      },
      {
        "label": "Support",
        "value": "Email support (support@logmeal.com) answered within 24 to 48 hours Monday to Friday, a contact form, and direct developer contact on the Custom plan. No status page or community channel"
      },
      {
        "label": "Legal entity",
        "value": "AIGecko Technologies S.L., tax id B-02682300, Plaza Pompeu Fabra 1, 2-2, 08700 Igualada, Barcelona, Spain, a University of Barcelona spin-off launched publicly in 2021"
      }
    ],
    "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,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "AIGecko Technologies S.L.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "logmeal.com, registered 2017-12-03 (8 years)",
          "points": 11,
          "max": 15,
          "state": "part"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "logmeal.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 5 of the 7 things a reader expects, and has 1 clause that costs points",
          "points": 6.3,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 6 of the 8 things a reader expects, and has 1 clause that costs points",
          "points": 6.5,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Status page",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Changelog",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "security.txt",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "People named",
          "value": "3 named with their role, 3 with a public profile",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Support route",
          "value": "a support address, help pages",
          "points": 5,
          "max": 5,
          "state": "ok"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://logmeal.com/terms",
          "state": "read",
          "readAt": "2026-11-03",
          "words": 3656,
          "points": 6.3,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": false
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "The Terms of Use and the relationship between API CUSTOMER and LOGMEAL shall be governed by the laws of Spain without regard to its conflict of law provisions.",
              "says": "The law of Spain"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "UNDER NO CIRCUMSTANCES SHALL LOGMEAL’S AGGREGATE LIABILITY EXCEED THE AMOUNTS PAID BY API CUSTOMER IN THE 12 MONTHS PRECEDING THE EVENT GIVING RISE TO THE CLAIM.",
              "says": "Capped at the fees paid in the 12 months before the claim"
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "You may choose to deny the amended Terms and terminate your account."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "LogMeal will post a notice about changes made to the Terms on LogMeal’s website, LogMeal may send you a notice by email, reasonable time before the changes take effect.",
              "says": "Says it gives notice of a change"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "IF YOU DO NOT AGREE TO THESE TERMS OF USE, YOU MAY NOT ACCESS OR USE THE SERVICE."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": false
            }
          ],
          "toKnow": [
            {
              "key": "training",
              "label": "Says it may use customer content to train or improve models, and no opt-out was found",
              "found": true,
              "quote": "This agreement grants LOGMEAL permissions to use the submitted data for training automated machine learning algorithms that will enhance the services provided to the customers as well as to use anonymized statistics extracted from this data.",
              "costsPoints": true
            },
            {
              "key": "terms.cutoff",
              "label": "Says access can be ended without notice or for any reason",
              "found": true,
              "quote": "LOGMEAL may suspend API CUSTOMER’s right and license to use the LogMeal Commercial API, or terminate this agreement in its entirety (and, accordingly, cease providing all services to API CUSTOMER), for any reason or for no reason at all, by providing API CUSTOMER thirty (30) calendar days advance written notice of ter…"
            }
          ],
          "notes": [
            {
              "date": "2026-11-03",
              "text": "LogMeal may publish the customer's name and logo on its website and in promotional material.",
              "quote": "LOGMEAL has the right to publish the name and/or the logo of the API CUSTOMER on its website logmeal.com and in any LOGMEAL promotional materials and can include a link to the website of the API CUSTOMER if found appropriate."
            },
            {
              "date": "2026-11-03",
              "text": "The customer releases and waives all claims against LogMeal arising from use of the API, as far as the law permits.",
              "quote": "To the maximum extent permitted by applicable law, API CUSTOMER hereby releases and waives all claims against LOGMEAL, and its subsidiaries, affiliates, officers, agents, licensers, co-branders or other partners, and employees from any and all liability for claims"
            },
            {
              "date": "2026-11-03",
              "text": "Payments more than 10 days late carry interest of 0.3 per cent a day, up to 15 per cent of the amount.",
              "quote": "In case any payment is late by over 10 days, API CUSTOMER shall be obliged to pay to LOGMEAL, for every day of the delay, an interest of 0.3% of the unpaid amount, but not more than 15% of the amount."
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://logmeal.com/privacy",
          "state": "read",
          "readAt": "2026-11-03",
          "words": 2925,
          "points": 6.5,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": false
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "As part of providing our services via the LogMeal App and the LogMeal API, we may collect and process the following personal data from end-users."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "We will keep your personal data (1) until you decide to delete your account (upon request), or (2) as required by law or as necessary for legitimate business purposes (i.e."
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "Please note your personal data will never be disclosed to third parties without your explicit consent."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": false
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "Right to object to processing: AIGECKO will stop processing personal data, except when necessary for legitimate reasons or for exercising or defending possible legal claims."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "Plaza Pompeu Fabra, 1, 2-2, Igualada (08700), Barcelona, Spain, stating their name, last name, and address, or email us at: privacy@aigecko.com .",
              "says": "privacy@aigecko.com"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "If data is ever transferred outside the EU, we ensure that appropriate safeguards are in place, including the use of Standard Contractual Clauses (SCCs) or equivalent protection mechanisms in accordance with Articles 44–49 of the GDPR.",
              "says": "Relies on standard contractual clauses"
            }
          ],
          "toKnow": [
            {
              "key": "training",
              "label": "Says it may use customer content to train or improve models, and no opt-out was found",
              "found": true,
              "quote": "Unlimited retention of food images and nutritional data is applied for the purpose of improving our services, conducting scientific research, and developing machine learning models, unless deletion is requested by the user or required by applicable law.",
              "costsPoints": true
            }
          ],
          "notes": [
            {
              "date": "2026-11-03",
              "text": "Submitted images and restaurant transactions are kept after an account is deleted.",
              "quote": "However some data, such as restaurant-specific transactions or images, will be saved as they have already integrated into our system."
            }
          ]
        }
      ]
    },
    "humans": {
      "slug": "logmeal",
      "checked": "2026-11-03",
      "company": "AIGecko Technologies S.L. (LogMeal)",
      "people": [
        {
          "name": "Eric Verdaguer",
          "role": "Co-founder and CEO",
          "founder": true,
          "linkedin": "https://www.linkedin.com/in/eric-verdaguer-jimeno",
          "bio": "Eric Verdaguer is a co-founder and the chief executive of LogMeal, the food-recognition brand of AIGecko Technologies, a University of Barcelona spin-off launched in 2021. The team page says he leads business strategy.",
          "bioSources": [
            "https://logmeal.com/team",
            "https://www.fbg.ub.edu/en/?p=11460"
          ],
          "page": "/people/eric-verdaguer/"
        },
        {
          "name": "Marc Bolaños",
          "role": "Co-founder and CTO",
          "founder": true,
          "linkedin": "https://www.linkedin.com/in/marc-bola%C3%B1os-sol%C3%A0-926b7555",
          "bio": "Marc Bolaños is a co-founder and the chief technology officer of LogMeal, leading its technology strategy per the team page. The University of Barcelona's foundation named him CTO of the AIGecko Technologies spin-off in 2021.",
          "bioSources": [
            "https://logmeal.com/team",
            "https://www.fbg.ub.edu/en/?p=11460"
          ],
          "page": "/people/marc-bolanos/"
        },
        {
          "name": "Petia Radeva",
          "role": "Co-founder and Research Advisor",
          "founder": true,
          "linkedin": "https://www.linkedin.com/in/petia-radeva-71651334",
          "bio": "Petia Radeva is a co-founder and research advisor of LogMeal and a professor in the University of Barcelona's Department of Mathematics and Computer Science, whose computer vision research group's algorithms the company builds on.",
          "bioSources": [
            "https://logmeal.com/team",
            "https://www.fbg.ub.edu/en/?p=11460"
          ],
          "page": "/people/petia-radeva/"
        }
      ],
      "peopleNote": "The team page at logmeal.com/team, read 3 November 2026, lists three co-founders with LinkedIn links (given there as es.linkedin.com addresses), and the about page says LogMeal was founded by three professionals and launched publicly as a University of Barcelona spin-off in 2021. The foundation's article of February 2021 confirms the roles. No X or GitHub accounts were found for the people or the company. Investors were looked for on the about, team, pricing, terms and privacy pages, the University of Barcelona foundation's article and in a search; no first-hand page names a round or backer, and a third-party database stub saying the company planned a first round is not used. The site footer carries a kit-digital logo without explanation.",
      "companySocial": {
        "linkedin": "https://www.linkedin.com/company/65578778/"
      },
      "support": {
        "emails": [
          "support@logmeal.com"
        ],
        "urls": [
          "https://logmeal.com/contact",
          "https://docs.logmeal.com/docs/guides-getting-started-welcome-logmeal-api"
        ],
        "contactEmails": [
          "support@logmeal.com",
          "privacy@aigecko.com"
        ],
        "contactUrls": [
          "https://logmeal.com/contact"
        ]
      },
      "sources": [
        "https://logmeal.com/team",
        "https://logmeal.com/about-us",
        "https://logmeal.com/contact",
        "https://logmeal.com/terms",
        "https://logmeal.com/privacy",
        "https://logmeal.com/",
        "https://www.fbg.ub.edu/en/?p=11460"
      ],
      "ownership": {
        "status": "private",
        "checked": "2026-11-03",
        "sources": [
          "https://logmeal.com/terms",
          "https://logmeal.com/privacy",
          "https://logmeal.com/about-us"
        ]
      }
    },
    "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"
    }
  }
}
