{
  "data": {
    "a": {
      "slug": "mealme",
      "name": "MealMe API",
      "vendor": "MealMe, Inc.",
      "vendorUrl": "https://www.mealme.ai/",
      "kind": "http-api",
      "category": "shopping",
      "summary": "MealMe is a REST API from MealMe, Inc. that searches restaurants, grocery stores and products across the US and Canada, returns menus and inventory with live quotes, and places pickup or delivery orders with tracking and support chat.",
      "url": "https://www.anchorterminal.com/tools/mealme",
      "markdownUrl": "https://www.anchorterminal.com/tools/mealme.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mealme.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mealme.json",
      "dns": "mealme.grade.anchorterminal.com",
      "license": "Proprietary service under the MealMe API and SDK Terms of Use",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "One API key per account, sent in the Id-Token header on every call. A person creates an account with email and password at https://mealmeai.vercel.app/dashboard, adds a card, then creates the key; the docs also say to request a key through account setup on mealme.ai. No scopes, key expiry or rotation are documented. The embedded SDK uses a separate SDK key issued after a meeting and a licence agreement.",
      "pricing": "usage",
      "pricingNotes": "$0.10 per successful API call on the Developer plan with no monthly minimum, invoiced daily; $250 a month for unlimited successful calls on the Unlimited plan; Enterprise at a custom price for 250,000 or more calls a month. A card is required before API access. No free tier or credits found (https://mealmeai.vercel.app/pricing, checked 3 November 2026).",
      "priceSummary": "$0.10 / call",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, llms.txt, pricing page or API terms (checked 3 November 2026).",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.mealme.ai/reference/environments",
      "llmsTxt": "https://mealmeapi.readme.io/llms.txt",
      "capabilities": [
        "shopping.search",
        "shopping.orders",
        "shopping.prices",
        "cooking.grocery",
        "commerce.cart",
        "commerce.checkout"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "usage-priced",
        "card-required",
        "llms-txt",
        "rest",
        "webhooks",
        "sandbox",
        "no-status-page"
      ],
      "lastRelease": "2025-05-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 38.4,
        "grade": "E",
        "agentReady": false,
        "rank": 1231,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 6,
          "payments": 20,
          "reliability": 19,
          "schema": 72,
          "security": 26,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "An agent can search stores and products, fetch live quotes and place a real order through one REST API priced at $0.10 a successful call. One all-powerful key, no rate limit figures, no status page, no idempotency key on orders and release notes that stop at 6 May 2025 are the limits.",
        "bestFor": "Agents that must place a real restaurant or grocery order in the US or Canada, or compare live prices across stores, and can hold a card on the account.",
        "strengths": [
          "Search, inventory, cart, order, payment, tracking webhook and support chat in one API, covering restaurants and grocery stores in the US and Canada",
          "Per-call price published without login, $0.10 a successful call with no monthly minimum, or $250 a month unlimited",
          "Store search takes a projections list to size responses and pages through next_page; product search accepts UPC codes",
          "Orders can be quoted first (place_order false returns 202 with the final quote) and placed in a second call",
          "Seventeen Create Order errors are listed with their status codes, and each endpoint page documents 400, 401 and 429"
        ],
        "weaknesses": [
          "One key with no scopes, read-only mode, expiry or rotation documented, sent in a custom Id-Token header",
          "No status page, SLA or rate limit figures; the 429 schema shows only an example message",
          "No idempotency key on Create Order, so a retried call can place a second order",
          "A card is required before any call, and there is no free tier or trial",
          "The newest release note is dated 6 May 2025, and the API and SDK terms of 18 June 2022 license use for personal, noncommercial purposes"
        ],
        "agentNotes": [
          "Send the key as the Id-Token header, not Authorization. Only latitude and longitude are required for store search; address fields become required when fetch_quotes is true and pickup is false",
          "Call Create Order with place_order false first, read the 202 final quote, then place it; keep your own customer_order_id and look it up before any retry, since no idempotency key exists",
          "Set projections on store search to the fields you need; fetch_quotes greatly increases response time per the docs",
          "Keep use_new_db the same across store search, Get Inventory and Get MealMe Store, or the store ids will not match",
          "Treat 406 (store closed, out of range, no delivery), 420 (product unavailable) and 422 (checkout error) as fixes to make, not transient failures"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 38.4
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 6,
          "payments": 20,
          "reliability": 19,
          "schema": 72,
          "security": 26,
          "transparency": 35
        },
        "provenanceScore": 59,
        "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 'https://api.mealme.ai/search/store/v3?latitude=37.7786357\u0026longitude=-122.3918135\u0026store_type=grocery' -H 'Id-Token: YOUR_API_KEY'"
      },
      "letme": {
        "capability": "https://letme.dev/shopping.search",
        "tool": "https://letme.dev/mealme"
      },
      "alsoIn": [
        "cooking"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Successful API call, Developer plan",
          "unit": "call",
          "usd": 0.1,
          "note": "No monthly minimum, invoiced daily; https://mealmeai.vercel.app/pricing"
        },
        {
          "item": "Unlimited plan",
          "unit": "month",
          "usd": 250,
          "note": "Unlimited successful calls, cancel any time"
        }
      ],
      "provenance": {
        "legalEntity": "MealMe, Inc.",
        "domain": "mealme.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.mealme.ai/privacy",
        "privacy": "https://www.mealme.ai/privacy",
        "statusPage": "",
        "changelog": "https://docs.mealme.ai/reference/release-notes",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "One page at mealme.ai/privacy holds the MealMe Connect Terms of Service (4 April 2025), the Privacy Policy (1 January 2025), the API and SDK Terms of Use (18 June 2022) and the Cookie Policy (1 January 2020). All name MealMe, Inc.; the Connect terms give a Wilmington, Delaware address and the API terms a Scottdale, Georgia notice address.",
          "The API and SDK terms forbid any robot, spider, scraper or other automatic or manual means to access the services or copy content, and the Connect terms forbid automated data extraction without written permission. Recorded as a fact; public pages were read within robots.txt.",
          "www.mealme.ai/robots.txt allows all crawlers except URLs with ?lightbox=; docs.mealme.ai/robots.txt allows all except /api-next, /edit/, /login and /logout, and points to mealmeapi.readme.io/llms.txt.",
          "The dashboard, signup and pricing pages are served from mealmeai.vercel.app, not mealme.ai.",
          "/.well-known/security.txt on www.mealme.ai returns 400. No status page found; status.mealme.ai does not resolve.",
          "RDAP for mealme.ai (rdap.nic.ai) returned no readable record, so no registration date is recorded."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mealme.json",
      "live": {
        "slug": "mealme",
        "securityTxt": {
          "url": "https://mealme.ai/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:53:11.510847421Z"
        },
        "updatedAt": "2026-11-04T15:53:11.510847421Z"
      }
    },
    "answer": "opencommerce scores 55.4 (C) on agent readiness against MealMe API's 38.4 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "opencommerce",
      "name": "opencommerce",
      "vendor": "Agentcard",
      "vendorUrl": "https://opencommerce.sh",
      "kind": "sdk",
      "category": "shopping",
      "summary": "opencommerce is Agentcard's Commerce SDK, a TypeScript package that gives an agent one `buy` tool. Agentcard searches stores, builds the cart and places the order after the shopper approves payment with a card saved in Agentcard's Vault.",
      "url": "https://www.anchorterminal.com/tools/opencommerce",
      "markdownUrl": "https://www.anchorterminal.com/tools/opencommerce.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opencommerce.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opencommerce.json",
      "dns": "opencommerce.grade.anchorterminal.com",
      "license": "Proprietary. `@agent-cards/commerce-sdk` and the `agent-cards` CLI ship a licence of Agentcard Corporation that allows running them only to use Agentcard's services and forbids copying, reverse engineering and benchmarking a competing product. The repository they name is private",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.agentcard.sh",
      "packages": [
        {
          "registry": "npm",
          "name": "@agent-cards/commerce-sdk"
        },
        {
          "registry": "npm",
          "name": "agent-cards"
        }
      ],
      "auth": "oauth",
      "authNotes": "Company client credentials. `AgentcardClient` exchanges a client ID and secret for a platform token that lasts one hour and renews it a minute before expiry. Sandbox and production use separate credentials on one host. A buy tool can instead carry one shopper's own Agentcard access token. Each shopper connects through a Vault link and approves payments with a passkey. The CLI README says sign-ups are by invitation (https://docs.agentcard.com/api-reference/commerce-sdk/agentcard-client.md, checked 2026-10-30).",
      "pricing": "usage",
      "pricingNotes": "Standard is 1 per cent of each completed order, charged to the integrating company from a prefunded balance or a saved card, with no API access. Enterprise adds API access at custom fees. Sandbox purchases are never billed (https://opencommerce.sh/#pricing, https://docs.agentcard.com/commerce-sdk/quickstart.md, checked 2026-10-30).",
      "priceSummary": "1% fee",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Commerce SDK docs, the package or the opencommerce.sh pricing. Purchases are paid with the shopper's card from Agentcard's Vault, and agentcard.com's FAQ answers Not yet on x402, AP2 and other agent payment protocols (https://agentcard.com/, checked 2026-10-30).",
        "endpoints": []
      },
      "toolCount": 1,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 2716,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://docs.agentcard.com/commerce-sdk/quickstart",
      "llmsTxt": "https://opencommerce.sh/llms.txt",
      "capabilities": [
        "shopping.search",
        "shopping.orders",
        "shopping.prices",
        "commerce.cart",
        "commerce.checkout",
        "shopping.returns"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "sdk",
        "typescript",
        "oauth",
        "sandbox",
        "webhooks",
        "llms-txt",
        "approvals",
        "pre-1.0",
        "new",
        "cli"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.4,
        "grade": "C",
        "agentReady": false,
        "rank": 833,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 75,
          "payments": 40,
          "reliability": 25,
          "schema": 81,
          "security": 68,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -3,
        "negativeNotes": [
          "8 and 23 October 2026. Agentcard's changelog records fixes to described flaws in the platform the buy tool runs on, with no advisory. On 8 October it \"Closed a gap where an app's or a company's token could become a 30-day Vault sign-in in a person's name\", and on 23 October \"A bank's card challenge can never carry the card back to the agent's browser\". Earlier entries (3 and 1 July) describe a company key reaching a personal account and a cross-organisation role change. Released fixes of described flaws with no advisory take one folded -3 (https://agentcard.com/updates)."
        ],
        "verdict": "One strictly typed buy tool covers search, cart, checkout and order updates, and every payment not covered by an auto-approval rule waits for the shopper's passkey. The SDK is closed source and 0.x with no public CI or issue tracker, its tool description runs to about 14.5 KB, and the purchase API under it is undocumented.",
        "bestFor": "A company building a chat agent that buys for US shoppers at many online stores, restaurants and airlines through one tool, with payments approved by the shopper's passkey.",
        "strengths": [
          "The buy tool takes five required fields under a strict JSON Schema, and the shopper and delivery address are fixed when the tool is built",
          "Every payment not covered by an auto-approval rule waits for the shopper's passkey on an approval link that works for about 15 minutes",
          "`forModel` strips every link from an answer, and links reach the shopper through `sendLink` without passing through the model",
          "Errors carry stable codes with a documented next step, and a timeout comes with advice to read the conversation before resending",
          "The SDK has no dependencies, and sandbox credentials run the whole flow against real stores and stop before payment, never billed"
        ],
        "weaknesses": [
          "The tool description is 57 rules and about 14,500 characters, read on every call",
          "The purchase endpoints the SDK calls are not in the API reference or the OpenAPI file, and API access is Enterprise only",
          "Closed source with a private repository, so no public CI, test suite, issue tracker or SDK changelog",
          "Agentcard's changelog describes security fixes on 8 and 23 October 2026 with no advisory",
          "Neither Agentcard's terms nor the docs address stores whose terms bar automated buyers. The changelog records checkouts finished behind a bot wall",
          "TypeScript only, at 0.18.6, two weeks after its first release"
        ],
        "agentNotes": [
          "Call `buy` with the shopper's words in `ask`, and set `confirm` true only after the shopper says yes to the cart you showed",
          "After a `timeout`, `unreachable` or `invalid_answer` error, read the conversation before sending the turn again, since the order may have gone through",
          "Show the cart's `max_charge` beside its total, because the approval holds up to that amount",
          "Use sandbox credentials for tests. `init` writes production credentials by default, and they place real orders",
          "Check a store with `GET /buy/merchants` before sending a shopper there, and suggest another store when it is `held_back` or `supported` is false"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.4
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 75,
          "payments": 40,
          "reliability": 25,
          "schema": 81,
          "security": 68,
          "transparency": 42
        },
        "provenanceScore": 83,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @agent-cards/commerce-sdk",
        "http": "curl \"https://api.agentcard.sh/buy/merchants?kind=catalog\u0026q=target.com\" -H \"Authorization: Bearer $AGENTCARD_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/shopping.search",
        "tool": "https://letme.dev/opencommerce"
      },
      "sameCompany": [
        "agentcard"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Completed order fee, Standard plan",
          "unit": "pct",
          "usd": 1,
          "note": "Charged to the integrating company per live purchase. Sandbox not billed. https://opencommerce.sh/#pricing"
        }
      ],
      "provenance": {
        "legalEntity": "Agentcard Corporation",
        "domain": "opencommerce.sh",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://agentcard.com/terms",
        "privacy": "https://agentcard.com/privacy",
        "statusPage": "https://monitoring.opencommerce.sh",
        "changelog": "https://agentcard.com/updates",
        "securityTxt": "valid",
        "checked": "2026-10-30",
        "notes": [
          "opencommerce.sh's footer reads © 2026 Agentcard, Inc. and links agentcard.com's terms and privacy policy. The terms of use (last updated 10 July 2026) and the npm packages' licence name Agentcard Corporation, a Delaware corporation (File No. 10619012).",
          "The terms of use cover the MCP server, CLI, dashboard and API and do not name the Commerce SDK, opencommerce or the 1 per cent fee. The privacy policy was last updated 21 October 2026.",
          "The SDK calls api.agentcard.sh, an Agentcard domain, not opencommerce.sh.",
          "The status page is the monitoring page the footer links as Status. It reports per-merchant test results, not the availability of Agentcard's API.",
          "opencommerce.sh/.well-known/security.txt returns 404. agentcard.com/.well-known/security.txt is valid, with security@agentcard.com and an expiry of 1 October 2027.",
          "rdap.org returned 404 for opencommerce.sh, so its registration date is unknown. The first package version, 0.0.0-stage, was published on 16 October 2026.",
          "The changelog at agentcard.com/updates covers all of Agentcard's products. Its newest entry on 30 October 2026 was dated 27 October."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opencommerce.json",
      "live": {
        "slug": "opencommerce",
        "probe": {
          "target": "https://api.agentcard.sh",
          "method": "get",
          "lastAt": "2026-11-04T20:05:16.716840231Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 285,
          "authRequired": false,
          "uptime24h": 99.19,
          "uptime30d": 99.75,
          "p50ms24h": 214,
          "p95ms24h": 350,
          "samples24h": 246,
          "samples30d": 1207,
          "days": [
            {
              "date": "2026-10-30",
              "probes": 2,
              "ok": 2
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 248
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 207,
              "ok": 205
            }
          ]
        },
        "vendorStatus": {
          "page": "https://monitoring.opencommerce.sh",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T17:14:26.299988789Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@agent-cards/commerce-sdk",
            "version": "0.18.11",
            "seenAt": "2026-11-03T20:46:17.534022569Z"
          },
          {
            "registry": "npm",
            "name": "agent-cards",
            "version": "0.11.0",
            "seenAt": "2026-11-03T20:46:18.54319791Z"
          }
        ],
        "npmWeekly": 9141,
        "securityTxt": {
          "url": "https://opencommerce.sh/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:32.683627722Z"
        },
        "llmsTxt": {
          "url": "https://opencommerce.sh/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:23:48.83511166Z"
        },
        "domain": {
          "domain": "opencommerce.sh",
          "checkedAt": "2026-11-01T14:20:01.122035376Z"
        },
        "pages": [
          {
            "url": "https://opencommerce.sh/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:28:53.539653692Z",
            "changedAt": "2026-11-04T08:28:53.539653692Z",
            "fingerprint": "d8ec544b40e0"
          },
          {
            "url": "https://agentcard.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:14:27.118143302Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a4048232273f"
          },
          {
            "url": "https://agentcard.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:14:29.630532421Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8106fb11f1a0"
          }
        ],
        "updatedAt": "2026-11-04T20:05:16.716840231Z"
      }
    },
    "edges": [
      {
        "by": 69,
        "category": "maintenance",
        "leads": "opencommerce",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The newest dated change is the release note of 6 May 2025 (Get Inventory v4), more than 180 days before 3 November 2026; the pricing and dashboard pages carry no date (0 of 30). No dated change in the last 90 days (0 of 20). A support address, release notes and no community channel (6 of 15). No official SDKs (0). No package to judge (0). Total 6.",
          "b": "`@agent-cards/commerce-sdk` 0.18.6 was published on 30 October 2026, per the 30 October check, not re-read on 2 November (30 of 30). 19 versions from 16 to 30 October 2026 (20 of 20). Closed service. Agentcard's changelog is dated almost daily, newest 27 October on 2 November too, and support runs through `agent-cards support` chat and support@agentcard.sh. Neither was tested (10 of 15). The TypeScript SDK is current, with no SDK in a second language (10 of 15). The SDK has no dependencies. The CLI has 10, among them PostHog and the Claude Agent SDK, needs Node 22, and its repository is private, so CI isn't visible (5 of 10). The product is two weeks old. Total 75."
        },
        "scores": {
          "a": 6,
          "b": 75
        }
      },
      {
        "by": 42,
        "category": "security",
        "leads": "opencommerce",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One API key per account in a custom Id-Token header, with no scopes, expiry, rotation or revocation documented (10 of 30). place_order defaults to false and charge_user can be turned off, so an agent can quote without buying, but there is no read-only key (8 of 20). Store descriptions, menus and support-chat messages are untrusted content with no guidance (3 of 15). Get Orders and a tracking webhook give order history; no per-call log for the operator is documented (5 of 15). No security.txt (400), disclosure policy, bug bounty or certification found; the Enterprise plan names a security review (0 of 20). Total 26.",
          "b": "OAuth client credentials exchanged for a one-hour platform token, separate sandbox and production clients, and a per-shopper access token as an alternative. Agentcard's platform tokens carry the single scope `api`, per the agentcard listing, and `init` writes production credentials to the env file by default (22 of 30). Every payment not covered by an auto-approval rule needs the shopper's passkey, the docs say neither the app nor the model approves for the shopper, and the model cannot change the shopper or address. `init` runs Agentcard's coding agent with permissions bypassed and unsandboxed commands, which the docs disclose. Two less for that (15 of 20). Answers carry store and product text, links are stripped before the model reads them, and preset rules ignore merchant text an agent sends, but no guidance naming untrusted content or prompt injection was found (10 of 15). Order and purchase events by webhook or stream, with logged deliveries and stored approval records of who, when and where (11 of 15). agentcard.com serves a valid security.txt, the Vault Enterprise plan lists a SOC 2 report and pen-test summary, and the Trust Centre was not read. No bug bounty or disclosure policy found (10 of 20). Total 68."
        },
        "scores": {
          "a": 26,
          "b": 68
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "opencommerce",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). $0.10 per successful call and $250 a month published without login (20). No free tier or trial; a card must be added before the key is created (0). Signup is a browser form with email, password and card (0). Total 20.",
          "b": "No x402, MPP or L402. Purchases are paid with the shopper's card from the Vault, and agentcard.com's FAQ answers Not yet on agent payment protocols (0 of 40). 1 per cent of each completed order is published on opencommerce.sh without a login (20 of 20). Sandbox credentials run the whole flow, stop before payment and are never billed, with no card needed (20 of 20). A person signs in through app.agentcard.sh or an emailed code, and since 27 October 2026 the CLI says sign-ups are by invitation (0 of 20). Total 40."
        },
        "scores": {
          "a": 20,
          "b": 40
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "opencommerce",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service. The API and SDK Terms of Use (18 June 2022) and MealMe Connect terms (4 April 2025) name MealMe, Inc. under Delaware law, but the API terms license use for personal, noncommercial purposes while the product is sold to businesses (15 of 30). The privacy policy of 1 January 2025 keeps data as long as needed, names no subprocessor and no DPA; the cookie policy names Google, Adobe, LinkedIn, Twitter and Facebook (10 of 30). Release notes record breaking changes with dates but there is no deprecation policy or notice period (6 of 20). Cookie providers named, no subprocessor list or data location (4 of 20). Total 35.",
          "b": "Closed. The packages' licence allows running them only to use Agentcard's services and forbids benchmarking a competing product. The terms of use (10 July 2026) name Agentcard Corporation and cover the API, MCP server and CLI, but not the Commerce SDK or its 1 per cent fee, and the opencommerce.sh footer names Agentcard, Inc. (12 of 30). Agentcard's own privacy policy (21 October 2026) covers orders, delivery addresses, store accounts it links or creates with their encrypted sign-ins, a one-time card credential held at most 45 minutes, and session recordings of what is typed into dashboard forms. Retention is as long as the account is active, with no periods and no public DPA (14 of 30). No deprecation policy. The SDK keeps deprecated names with notes, such as `toAnthropicTool` and `ackFor`, and the changelog marks one breaking change of 10 September 2026 (6 of 20). The privacy policy names Crossmint, Coinbase, Third National, Sumsub, Visa and Stripe and the kinds of other providers, with transfers to the United States. The CLI's PostHog telemetry honours DO_NOT_TRACK and AGENT_CARDS_TELEMETRY, found in its code (10 of 20). Total 42."
        },
        "scores": {
          "a": 47,
          "b": 63
        }
      },
      {
        "by": 9,
        "category": "schema",
        "leads": "opencommerce",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The reference pages are generated from an API description with operation ids (get_search_store_v3), named response schemas (Product_Search_Output) and typed parameters, but no spec file URL was found on the docs, llms.txt or the site (15 of 25). llms.txt at mealmeapi.readme.io and mealme.ai, and every page as Markdown (10). Each operation states its purpose and coverage; several descriptions are truncated in the index and none says when not to use it (12 of 20). Enums on sort, store_type, user_country and search_focus, required flags on latitude and longitude, conditional requirements written in prose (11 of 15). Request and response examples per endpoint, a Create Order errors page with 17 entries, and 400, 401 and 429 schemas on each operation (12 of 15). Versioned paths (v2 to v4) and dated release notes that call out breaking changes, the newest of 6 May 2025 (12 of 15). Total 72.",
          "b": "The buy tool's input is a strict JSON Schema with five required fields and `additionalProperties` false, and the package ships TypeScript declarations. The purchase endpoints under it are missing from the OpenAPI file at docs.agentcard.com/openapi.json, which holds 18 operations for tokens, connections, identity checks and cards (20 of 25). llms.txt on opencommerce.sh and on docs.agentcard.com, with a Markdown twin for each docs page (10 of 10). The description's 57 rules say when to call the tool, when to set `confirm` and what each answer means, such as \"Show the shopper the cart before you confirm it\" (18 of 20). Two booleans and two nullable ids, but the main input `ask` is free text (9 of 15). Code for Anthropic, Vercel AI SDK, OpenAI and OpenRouter, a sandbox walkthrough script, error tables with what to do next and captured error bodies (14 of 15). npm versions follow 0.x semver, and Agentcard's changelog is dated almost daily, newest 27 October 2026, but it covers every Agentcard product and the SDK has no changelog of its own (10 of 15). Total 81."
        },
        "scores": {
          "a": 72,
          "b": 81
        }
      },
      {
        "by": 6,
        "category": "reliability",
        "leads": "opencommerce",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. No status page found on mealme.ai, the docs or llms.txt, and status.mealme.ai does not resolve (0). No readable incident history (5). No rate limit figures; each endpoint documents a 429 whose example message is 10 per 1 second(s)!, which the reference itself calls an example (0 of 15). The 429 is documented without Retry-After or backoff guidance, and Create Order has no idempotency key, only an order_id to update an existing order and a caller's customer_order_id to look up (4 of 15). No SLA found (0). The API is in production with versioned endpoints (10). Total 19.",
          "b": "Read on the local-package lines for its listed kind, `sdk`. The official npm package `@agent-cards/commerce-sdk` runs on Node 18 or later and the browser, as the quickstart states (20). The repository the package names is private and no public CI or test suite was found. The only public repository is the example app, tiny-agent-company/commerce-sdk-example, with four commits on 29 October 2026 and no workflows (0). There is no public issue tracker, and reports go to `agent-cards support` chat and support@agentcard.sh, so the crash and regression line has nothing to read (0). Versions are 0.x semver on npm, deprecated names such as `toAnthropicTool` are kept with notes, and Agentcard's shared changelog marks breaking platform changes, but the SDK has no changelog of its own (5 of 15). 0.18.6 per the 30 October check, not declared stable (0). 20 + 0 + 0 + 5 + 0 = 25."
        },
        "scores": {
          "a": 19,
          "b": 25
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "MealMe, Inc.",
        "b": "Agentcard",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.agentcard.sh",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the MealMe API and SDK Terms of Use",
        "b": "Proprietary. `@agent-cards/commerce-sdk` and the `agent-cards` CLI ship a licence of Agentcard Corporation that allows running them only to use Agentcard's services and forbids copying, reverse engineering and benchmarking a competing product. The repository they name is private",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "1",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2025-05-06",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "2025-04-04",
        "b": "2026-07-10",
        "name": "Terms last updated"
      },
      {
        "a": "2025-04-04",
        "b": "2026-10-21",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "2.7k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "opencommerce scores 55.4 (C) on agent readiness against MealMe API's 38.4 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, MealMe API or opencommerce?"
      },
      {
        "answer": "No hosted endpoint is listed for MealMe API. opencommerce has a hosted endpoint at https://api.agentcard.sh.",
        "question": "Can an agent call MealMe API and opencommerce without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where opencommerce loses 3 points for them"
        ],
        "goodFor": "Agents that must place a real restaurant or grocery order in the US or Canada, or compare live prices across stores, and can hold a card on the account.",
        "slug": "mealme",
        "watchFor": "One key with no scopes, read-only mode, expiry or rotation documented, sent in a custom Id-Token header"
      },
      {
        "aheadOn": [
          "Reliability, 25 against 19",
          "Schema \u0026 documentation, 81 against 72",
          "Security \u0026 auth, 68 against 26",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 75 against 6",
          "Transparency \u0026 trust, 63 against 47"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A company building a chat agent that buys for US shoppers at many online stores, restaurants and airlines through one tool, with payments approved by the shopper's passkey.",
        "slug": "opencommerce",
        "watchFor": "The tool description is 57 rules and about 14,500 characters, read on every call"
      }
    ],
    "history": {
      "mealme": null,
      "opencommerce": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-02",
          "delta": -6.6,
          "from": 62,
          "fromGrade": "B",
          "to": 55.4,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "shopping.search",
      "name": "Product search for shoppers"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-creators-api-vs-mealme.json",
        "title": "Amazon Creators API vs MealMe API",
        "url": "https://www.anchorterminal.com/compare/amazon-creators-api-vs-mealme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-creators-api-vs-opencommerce.json",
        "title": "Amazon Creators API vs opencommerce",
        "url": "https://www.anchorterminal.com/compare/amazon-creators-api-vs-opencommerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/best-buy-vs-mealme.json",
        "title": "Best Buy Developer API vs MealMe API",
        "url": "https://www.anchorterminal.com/compare/best-buy-vs-mealme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/best-buy-vs-opencommerce.json",
        "title": "Best Buy Developer API vs opencommerce",
        "url": "https://www.anchorterminal.com/compare/best-buy-vs-opencommerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/etsy-vs-mealme.json",
        "title": "Etsy Open API v3 vs MealMe API",
        "url": "https://www.anchorterminal.com/compare/etsy-vs-mealme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/etsy-vs-opencommerce.json",
        "title": "Etsy Open API v3 vs opencommerce",
        "url": "https://www.anchorterminal.com/compare/etsy-vs-opencommerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mealme-vs-shop-mcp.json",
        "title": "MealMe API vs Shop MCP",
        "url": "https://www.anchorterminal.com/compare/mealme-vs-shop-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mealme-vs-walmart-affiliate-api.json",
        "title": "MealMe API vs Walmart Affiliate Marketing API",
        "url": "https://www.anchorterminal.com/compare/mealme-vs-walmart-affiliate-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mealme-vs-walmart-agent-gateway.json",
        "title": "MealMe API vs Walmart Agent Gateway",
        "url": "https://www.anchorterminal.com/compare/mealme-vs-walmart-agent-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mealme-vs-zillow-claude.json",
        "title": "MealMe API vs Zillow in Claude",
        "url": "https://www.anchorterminal.com/compare/mealme-vs-zillow-claude"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencommerce-vs-shop-mcp.json",
        "title": "opencommerce vs Shop MCP",
        "url": "https://www.anchorterminal.com/compare/opencommerce-vs-shop-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencommerce-vs-walmart-affiliate-api.json",
        "title": "opencommerce vs Walmart Affiliate Marketing API",
        "url": "https://www.anchorterminal.com/compare/opencommerce-vs-walmart-affiliate-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencommerce-vs-walmart-agent-gateway.json",
        "title": "opencommerce vs Walmart Agent Gateway",
        "url": "https://www.anchorterminal.com/compare/opencommerce-vs-walmart-agent-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencommerce-vs-zillow-claude.json",
        "title": "opencommerce vs Zillow in Claude",
        "url": "https://www.anchorterminal.com/compare/opencommerce-vs-zillow-claude"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instacart-vs-mealme.json",
        "title": "Instacart Developer Platform API + MCP vs MealMe API",
        "url": "https://www.anchorterminal.com/compare/instacart-vs-mealme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instacart-vs-opencommerce.json",
        "title": "Instacart Developer Platform API + MCP vs opencommerce",
        "url": "https://www.anchorterminal.com/compare/instacart-vs-opencommerce"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 6,
        "edge": "opencommerce",
        "key": "reliability",
        "mealme": 19,
        "name": "Reliability",
        "opencommerce": 25,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "opencommerce",
        "key": "schema",
        "mealme": 72,
        "name": "Schema \u0026 documentation",
        "opencommerce": 81,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "ergonomics",
        "mealme": 69,
        "name": "Agent ergonomics",
        "opencommerce": 69,
        "weight": 13
      },
      {
        "by": 42,
        "edge": "opencommerce",
        "key": "security",
        "mealme": 26,
        "name": "Security \u0026 auth",
        "opencommerce": 68,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "opencommerce",
        "key": "payments",
        "mealme": 20,
        "name": "Payments \u0026 pricing",
        "opencommerce": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 69,
        "edge": "opencommerce",
        "key": "maintenance",
        "mealme": 6,
        "name": "Maintenance \u0026 community",
        "opencommerce": 75,
        "weight": 7
      },
      {
        "by": 16,
        "edge": "opencommerce",
        "key": "transparency",
        "mealme": 47,
        "name": "Transparency \u0026 trust",
        "opencommerce": 63,
        "weight": 7
      }
    ],
    "summary": "opencommerce scores 55.4 (C) on agent readiness against MealMe API's 38.4 (E), and leads in 6 of 7 scored categories. Both do product search for shoppers.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "mealme": "An agent can search stores and products, fetch live quotes and place a real order through one REST API priced at $0.10 a successful call. One all-powerful key, no rate limit figures, no status page, no idempotency key on orders and release notes that stop at 6 May 2025 are the limits.",
      "opencommerce": "One strictly typed buy tool covers search, cart, checkout and order updates, and every payment not covered by an auto-approval rule waits for the shopper's passkey. The SDK is closed source and 0.x with no public CI or issue tracker, its tool description runs to about 14.5 KB, and the purchase API under it is undocumented."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mealme-vs-opencommerce",
    "json": "https://www.anchorterminal.com/compare/mealme-vs-opencommerce.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mealme-vs-opencommerce.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/mealme-vs-opencommerce.min.md"
  },
  "markdown": "opencommerce scores 55.4 (C) on agent readiness against MealMe API's 38.4 (E), and leads in 6 of 7 scored categories. Both do product search for shoppers.\n\n- MealMe API: grade E, 38.4/100, rank #1231 of 1349. Markdown https://www.anchorterminal.com/tools/mealme.md · JSON https://www.anchorterminal.com/api/v1/tools/mealme.json\n- opencommerce: grade C, 55.4/100, rank #833 of 1349. Markdown https://www.anchorterminal.com/tools/opencommerce.md · JSON https://www.anchorterminal.com/api/v1/tools/opencommerce.json\n- Best shopping and order APIs for AI agents buying for a person: https://www.anchorterminal.com/best/shopping/index.md\n- All 41 shopping comparisons: https://www.anchorterminal.com/compare/shopping/index.md\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### MealMe API (E)\n\nGood for: Agents that must place a real restaurant or grocery order in the US or Canada, or compare live prices across stores, and can hold a card on the account.\n\nAlso in its favour:\n- No incidents deducted, where opencommerce loses 3 points for them\n\nWatch for: One key with no scopes, read-only mode, expiry or rotation documented, sent in a custom Id-Token header\n\n### opencommerce (C)\n\nGood for: A company building a chat agent that buys for US shoppers at many online stores, restaurants and airlines through one tool, with payments approved by the shopper's passkey.\n\nAhead on:\n- Reliability, 25 against 19\n- Schema \u0026 documentation, 81 against 72\n- Security \u0026 auth, 68 against 26\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 75 against 6\n- Transparency \u0026 trust, 63 against 47\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: The tool description is 57 rules and about 14,500 characters, read on every call\n\n\n## Why the edge\n\n### Maintenance \u0026 community: opencommerce +69\n\n- MealMe API (6): Read as a closed service. The newest dated change is the release note of 6 May 2025 (Get Inventory v4), more than 180 days before 3 November 2026; the pricing and dashboard pages carry no date (0 of 30). No dated change in the last 90 days (0 of 20). A support address, release notes and no community channel (6 of 15). No official SDKs (0). No package to judge (0). Total 6.\n- opencommerce (75): `@agent-cards/commerce-sdk` 0.18.6 was published on 30 October 2026, per the 30 October check, not re-read on 2 November (30 of 30). 19 versions from 16 to 30 October 2026 (20 of 20). Closed service. Agentcard's changelog is dated almost daily, newest 27 October on 2 November too, and support runs through `agent-cards support` chat and support@agentcard.sh. Neither was tested (10 of 15). The TypeScript SDK is current, with no SDK in a second language (10 of 15). The SDK has no dependencies. The CLI has 10, among them PostHog and the Claude Agent SDK, needs Node 22, and its repository is private, so CI isn't visible (5 of 10). The product is two weeks old. Total 75.\n\n### Security \u0026 auth: opencommerce +42\n\n- MealMe API (26): One API key per account in a custom Id-Token header, with no scopes, expiry, rotation or revocation documented (10 of 30). place_order defaults to false and charge_user can be turned off, so an agent can quote without buying, but there is no read-only key (8 of 20). Store descriptions, menus and support-chat messages are untrusted content with no guidance (3 of 15). Get Orders and a tracking webhook give order history; no per-call log for the operator is documented (5 of 15). No security.txt (400), disclosure policy, bug bounty or certification found; the Enterprise plan names a security review (0 of 20). Total 26.\n- opencommerce (68): OAuth client credentials exchanged for a one-hour platform token, separate sandbox and production clients, and a per-shopper access token as an alternative. Agentcard's platform tokens carry the single scope `api`, per the agentcard listing, and `init` writes production credentials to the env file by default (22 of 30). Every payment not covered by an auto-approval rule needs the shopper's passkey, the docs say neither the app nor the model approves for the shopper, and the model cannot change the shopper or address. `init` runs Agentcard's coding agent with permissions bypassed and unsandboxed commands, which the docs disclose. Two less for that (15 of 20). Answers carry store and product text, links are stripped before the model reads them, and preset rules ignore merchant text an agent sends, but no guidance naming untrusted content or prompt injection was found (10 of 15). Order and purchase events by webhook or stream, with logged deliveries and stored approval records of who, when and where (11 of 15). agentcard.com serves a valid security.txt, the Vault Enterprise plan lists a SOC 2 report and pen-test summary, and the Trust Centre was not read. No bug bounty or disclosure policy found (10 of 20). Total 68.\n\n### Payments \u0026 pricing: opencommerce +20\n\n- MealMe API (20): No x402, MPP or L402 (0). $0.10 per successful call and $250 a month published without login (20). No free tier or trial; a card must be added before the key is created (0). Signup is a browser form with email, password and card (0). Total 20.\n- opencommerce (40): No x402, MPP or L402. Purchases are paid with the shopper's card from the Vault, and agentcard.com's FAQ answers Not yet on agent payment protocols (0 of 40). 1 per cent of each completed order is published on opencommerce.sh without a login (20 of 20). Sandbox credentials run the whole flow, stop before payment and are never billed, with no card needed (20 of 20). A person signs in through app.agentcard.sh or an emailed code, and since 27 October 2026 the CLI says sign-ups are by invitation (0 of 20). Total 40.\n\n### Transparency \u0026 trust: opencommerce +16\n\n- MealMe API (47): Closed service. The API and SDK Terms of Use (18 June 2022) and MealMe Connect terms (4 April 2025) name MealMe, Inc. under Delaware law, but the API terms license use for personal, noncommercial purposes while the product is sold to businesses (15 of 30). The privacy policy of 1 January 2025 keeps data as long as needed, names no subprocessor and no DPA; the cookie policy names Google, Adobe, LinkedIn, Twitter and Facebook (10 of 30). Release notes record breaking changes with dates but there is no deprecation policy or notice period (6 of 20). Cookie providers named, no subprocessor list or data location (4 of 20). Total 35.\n- opencommerce (63): Closed. The packages' licence allows running them only to use Agentcard's services and forbids benchmarking a competing product. The terms of use (10 July 2026) name Agentcard Corporation and cover the API, MCP server and CLI, but not the Commerce SDK or its 1 per cent fee, and the opencommerce.sh footer names Agentcard, Inc. (12 of 30). Agentcard's own privacy policy (21 October 2026) covers orders, delivery addresses, store accounts it links or creates with their encrypted sign-ins, a one-time card credential held at most 45 minutes, and session recordings of what is typed into dashboard forms. Retention is as long as the account is active, with no periods and no public DPA (14 of 30). No deprecation policy. The SDK keeps deprecated names with notes, such as `toAnthropicTool` and `ackFor`, and the changelog marks one breaking change of 10 September 2026 (6 of 20). The privacy policy names Crossmint, Coinbase, Third National, Sumsub, Visa and Stripe and the kinds of other providers, with transfers to the United States. The CLI's PostHog telemetry honours DO_NOT_TRACK and AGENT_CARDS_TELEMETRY, found in its code (10 of 20). Total 42.\n\n### Schema \u0026 documentation: opencommerce +9\n\n- MealMe API (72): The reference pages are generated from an API description with operation ids (get_search_store_v3), named response schemas (Product_Search_Output) and typed parameters, but no spec file URL was found on the docs, llms.txt or the site (15 of 25). llms.txt at mealmeapi.readme.io and mealme.ai, and every page as Markdown (10). Each operation states its purpose and coverage; several descriptions are truncated in the index and none says when not to use it (12 of 20). Enums on sort, store_type, user_country and search_focus, required flags on latitude and longitude, conditional requirements written in prose (11 of 15). Request and response examples per endpoint, a Create Order errors page with 17 entries, and 400, 401 and 429 schemas on each operation (12 of 15). Versioned paths (v2 to v4) and dated release notes that call out breaking changes, the newest of 6 May 2025 (12 of 15). Total 72.\n- opencommerce (81): The buy tool's input is a strict JSON Schema with five required fields and `additionalProperties` false, and the package ships TypeScript declarations. The purchase endpoints under it are missing from the OpenAPI file at docs.agentcard.com/openapi.json, which holds 18 operations for tokens, connections, identity checks and cards (20 of 25). llms.txt on opencommerce.sh and on docs.agentcard.com, with a Markdown twin for each docs page (10 of 10). The description's 57 rules say when to call the tool, when to set `confirm` and what each answer means, such as \"Show the shopper the cart before you confirm it\" (18 of 20). Two booleans and two nullable ids, but the main input `ask` is free text (9 of 15). Code for Anthropic, Vercel AI SDK, OpenAI and OpenRouter, a sandbox walkthrough script, error tables with what to do next and captured error bodies (14 of 15). npm versions follow 0.x semver, and Agentcard's changelog is dated almost daily, newest 27 October 2026, but it covers every Agentcard product and the SDK has no changelog of its own (10 of 15). Total 81.\n\n### Reliability: opencommerce +6\n\n- MealMe API (19): Read with the hosted lines. No status page found on mealme.ai, the docs or llms.txt, and status.mealme.ai does not resolve (0). No readable incident history (5). No rate limit figures; each endpoint documents a 429 whose example message is 10 per 1 second(s)!, which the reference itself calls an example (0 of 15). The 429 is documented without Retry-After or backoff guidance, and Create Order has no idempotency key, only an order_id to update an existing order and a caller's customer_order_id to look up (4 of 15). No SLA found (0). The API is in production with versioned endpoints (10). Total 19.\n- opencommerce (25): Read on the local-package lines for its listed kind, `sdk`. The official npm package `@agent-cards/commerce-sdk` runs on Node 18 or later and the browser, as the quickstart states (20). The repository the package names is private and no public CI or test suite was found. The only public repository is the example app, tiny-agent-company/commerce-sdk-example, with four commits on 29 October 2026 and no workflows (0). There is no public issue tracker, and reports go to `agent-cards support` chat and support@agentcard.sh, so the crash and regression line has nothing to read (0). Versions are 0.x semver on npm, deprecated names such as `toAnthropicTool` are kept with notes, and Agentcard's shared changelog marks breaking platform changes, but the SDK has no changelog of its own (5 of 15). 0.18.6 per the 30 October check, not declared stable (0). 20 + 0 + 0 + 5 + 0 = 25.\n\n## Score by category\n\n| Category | Weight | MealMe API | opencommerce | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 19 | 25 | opencommerce +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 72 | 81 | opencommerce +9 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 69 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 26 | 68 | opencommerce +42 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | opencommerce +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 6 | 75 | opencommerce +69 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 63 | opencommerce +16 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **38.4 · E** | **55.4 · C** | |\n\n## Facts side by side\n\n| Fact | MealMe API | opencommerce |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | MealMe, Inc. | Agentcard |\n| Hosted endpoint | no (local only) | `https://api.agentcard.sh` |\n| Transports |  | HTTP |\n| Auth | API key | OAuth |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under the MealMe API and SDK Terms of Use | Proprietary. `@agent-cards/commerce-sdk` and the `agent-cards` CLI ship a licence of Agentcard Corporation that allows running them only to use Agentcard's services and forbids copying, reverse engineering and benchmarking a competing product. The repository they name is private |\n| Tools exposed | 0 | 1 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2025-05-06 | 2026-10-30 |\n| Terms last updated | 2025-04-04 | 2026-07-10 |\n| Privacy policy last updated | 2025-04-04 | 2026-10-21 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | none | 2.7k npm/wk |\n\n## How the scores have moved\n\n### MealMe API\n\nNo score change since it was listed.\n\n### opencommerce\n\n- -6.6 on 2 November 2026 (B to C): correction\n\n## Verdicts\n\n**MealMe API.** An agent can search stores and products, fetch live quotes and place a real order through one REST API priced at $0.10 a successful call. One all-powerful key, no rate limit figures, no status page, no idempotency key on orders and release notes that stop at 6 May 2025 are the limits.\n\n**opencommerce.** One strictly typed buy tool covers search, cart, checkout and order updates, and every payment not covered by an auto-approval rule waits for the shopper's passkey. The SDK is closed source and 0.x with no public CI or issue tracker, its tool description runs to about 14.5 KB, and the purchase API under it is undocumented.\n\n## Before you call either\n\n### MealMe API\n\n1. Send the key as the Id-Token header, not Authorization. Only latitude and longitude are required for store search; address fields become required when fetch_quotes is true and pickup is false\n2. Call Create Order with place_order false first, read the 202 final quote, then place it; keep your own customer_order_id and look it up before any retry, since no idempotency key exists\n3. Set projections on store search to the fields you need; fetch_quotes greatly increases response time per the docs\n4. Keep use_new_db the same across store search, Get Inventory and Get MealMe Store, or the store ids will not match\n5. Treat 406 (store closed, out of range, no delivery), 420 (product unavailable) and 422 (checkout error) as fixes to make, not transient failures\n\n### opencommerce\n\n1. Call `buy` with the shopper's words in `ask`, and set `confirm` true only after the shopper says yes to the cart you showed\n2. After a `timeout`, `unreachable` or `invalid_answer` error, read the conversation before sending the turn again, since the order may have gone through\n3. Show the cart's `max_charge` beside its total, because the approval holds up to that amount\n4. Use sandbox credentials for tests. `init` writes production credentials by default, and they place real orders\n5. Check a store with `GET /buy/merchants` before sending a shopper there, and suggest another store when it is `held_back` or `supported` is false\n\n## Questions\n\n### Which is better for AI agents, MealMe API or opencommerce?\n\nopencommerce scores 55.4 (C) on agent readiness against MealMe API's 38.4 (E), and leads in 6 of 7 scored categories.\n\n### Can an agent call MealMe API and opencommerce without installing anything?\n\nNo hosted endpoint is listed for MealMe API. opencommerce has a hosted endpoint at https://api.agentcard.sh.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mealme-vs-opencommerce.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mealme-vs-opencommerce.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mealme\", \"b\": \"opencommerce\"}`. From a terminal: `anchor compare mealme opencommerce`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mealme.json and https://www.anchorterminal.com/api/v1/tools/opencommerce.json\n\n## Other comparisons with MealMe API or opencommerce\n\n- [Amazon Creators API vs MealMe API](https://www.anchorterminal.com/compare/amazon-creators-api-vs-mealme.md)\n- [Amazon Creators API vs opencommerce](https://www.anchorterminal.com/compare/amazon-creators-api-vs-opencommerce.md)\n- [Best Buy Developer API vs MealMe API](https://www.anchorterminal.com/compare/best-buy-vs-mealme.md)\n- [Best Buy Developer API vs opencommerce](https://www.anchorterminal.com/compare/best-buy-vs-opencommerce.md)\n- [Etsy Open API v3 vs MealMe API](https://www.anchorterminal.com/compare/etsy-vs-mealme.md)\n- [Etsy Open API v3 vs opencommerce](https://www.anchorterminal.com/compare/etsy-vs-opencommerce.md)\n- [MealMe API vs Shop MCP](https://www.anchorterminal.com/compare/mealme-vs-shop-mcp.md)\n- [MealMe API vs Walmart Affiliate Marketing API](https://www.anchorterminal.com/compare/mealme-vs-walmart-affiliate-api.md)\n- [MealMe API vs Walmart Agent Gateway](https://www.anchorterminal.com/compare/mealme-vs-walmart-agent-gateway.md)\n- [MealMe API vs Zillow in Claude](https://www.anchorterminal.com/compare/mealme-vs-zillow-claude.md)\n- [opencommerce vs Shop MCP](https://www.anchorterminal.com/compare/opencommerce-vs-shop-mcp.md)\n- [opencommerce vs Walmart Affiliate Marketing API](https://www.anchorterminal.com/compare/opencommerce-vs-walmart-affiliate-api.md)\n- [opencommerce vs Walmart Agent Gateway](https://www.anchorterminal.com/compare/opencommerce-vs-walmart-agent-gateway.md)\n- [opencommerce vs Zillow in Claude](https://www.anchorterminal.com/compare/opencommerce-vs-zillow-claude.md)\n- [Instacart Developer Platform API + MCP vs MealMe API](https://www.anchorterminal.com/compare/instacart-vs-mealme.md)\n- [Instacart Developer Platform API + MCP vs opencommerce](https://www.anchorterminal.com/compare/instacart-vs-opencommerce.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": "MealMe API vs opencommerce",
        "url": ""
      }
    ],
    "description": "opencommerce scores 55.4 (C) to MealMe's 38.4 (E) for product search for shoppers. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "MealMe API E 38.4",
      "opencommerce C 55.4",
      "scores"
    ],
    "h1": "MealMe API vs opencommerce",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/mealme-vs-opencommerce",
    "published": "2026-10-01",
    "section": "tools",
    "title": "MealMe vs opencommerce for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/mealme-vs-opencommerce"
  },
  "tokens": {
    "markdown": 4800,
    "slim": 3080
  },
  "version": 1
}
