{
  "data": {
    "a": {
      "slug": "opentable",
      "name": "OpenTable APIs",
      "vendor": "OpenTable",
      "vendorUrl": "https://www.opentable.com",
      "kind": "http-api",
      "category": "local-bookings",
      "summary": "OpenTable's partner APIs let approved partners search restaurant availability and make, change and cancel reservations, for diners through the Consumer API or for restaurants' voice agents through the In-House Booking API, with OAuth 2.0 client credentials.",
      "url": "https://www.anchorterminal.com/tools/opentable",
      "markdownUrl": "https://www.anchorterminal.com/tools/opentable.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opentable.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opentable.json",
      "license": "Proprietary service under each partner's agreement with OpenTable and the Platform Policy published in the API documentation",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://platform.opentable.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Partner approval required. A partner applies through OpenTable's become-a-partner form, the partnerships team reviews the application, and approved partners receive sandbox credentials and restaurant IDs in a welcome email. Tokens come from the OAuth 2.0 client credentials grant at https://oauth-pp.opentable.com (sandbox) or https://oauth.opentable.com (production), with the client ID and secret Base64-encoded in the Authorization header. The Platform Policy forbids sharing credentials and says OpenTable may require rotation. Restaurants connect a partner through an OAuth or unique-identifier onboarding flow in the Integrations Marketplace.",
      "pricing": "byo-plan",
      "pricingNotes": "No API prices are published. Use is governed by each partner's agreement with OpenTable, and the docs say new implementations may need additional contracting and certification. A sandbox is granted after approval. The change log describes a configurable OpenTable Service Fee (shown to diners as 2 per cent) that restaurants may pass on to diners on experiences, deposits and card holds (https://docs.opentable.com/).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the public API documentation (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.opentable.com",
      "capabilities": [
        "booking.availability",
        "booking.reservations",
        "booking.venue",
        "crm.records"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "partner-only",
        "rest",
        "oauth",
        "webhooks",
        "sandbox",
        "restaurants"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 38.6,
        "grade": "E",
        "agentReady": false,
        "rank": 994,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 5,
          "payments": 5,
          "reliability": 35,
          "schema": 61,
          "security": 33,
          "transparency": 42
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "The public documentation covers diner-side and venue-side booking in detail, with slot locks, policy endpoints, error tables and an X-Request-Id header for safe retries. Access needs partner approval and a contract, rate limits and prices are not published, and the status page and main website could not be read.",
        "bestFor": "Approved affiliates, restaurant groups and voice AI vendors that need to book into OpenTable restaurants.",
        "strengths": [
          "Diner-side Consumer API v2 and venue-side In-House Booking API both cover availability, slot lock, booking, change and cancellation",
          "Booking and cancellation policy endpoints return deposits, holds and cut-off rules before a booking is made",
          "X-Request-Id on POST, PUT and PATCH requests makes retries safe",
          "Error tables name business-rule failures such as DinerHasOverlappingReservations with their HTTP codes",
          "A sandbox environment with its own OAuth host is granted after approval"
        ],
        "weaknesses": [
          "Access needs an application, review by the partnerships team and an agreement, with no self-serve credentials",
          "Rate limits are not published and come from the OpenTable representative",
          "No OpenAPI file, llms.txt or SDK, only a Postman collection",
          "The change log has one dated entry, the TLS 1.3 notice of 6 October 2025",
          "The Platform Policy allows API changes and suspension with or without notice and promises no support"
        ],
        "agentNotes": [
          "Lock the slot before calling Make Reservation, since the lock and its reservation_token expire within 5 minutes",
          "Send a unique X-Request-Id on every POST, PUT and PATCH so a retried booking is not duplicated",
          "Fetch booking and cancellation policies before booking and show any deposit, hold or service fee to the diner",
          "Use the Consumer API for diner bookings and the In-House Booking API only for a restaurant's own voice or phone channel",
          "Ask the OpenTable representative for the rate limit of each endpoint before going live"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 38.6
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 5,
          "payments": 5,
          "reliability": 35,
          "schema": 61,
          "security": 33,
          "transparency": 20
        },
        "provenanceScore": 64
      },
      "connect": {
        "http": "curl \"https://oauth-pp.opentable.com/api/v2/oauth/token?grant_type=client_credentials\" -H \"Authorization: Basic BASE64_CLIENT_ID_AND_SECRET\""
      },
      "letme": {
        "capability": "https://letme.dev/booking.availability",
        "tool": "https://letme.dev/opentable"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "",
        "domain": "opentable.com",
        "domainRegistered": "1999-01-17",
        "endpointOnVendorDomain": true,
        "terms": "https://www.opentable.com/legal/terms-and-conditions",
        "privacy": "https://www.opentable.com/legal/privacy-policy",
        "statusPage": "https://status.opentable.com",
        "changelog": "https://docs.opentable.com/",
        "securityTxt": "unknown",
        "checked": "2026-10-14",
        "notes": [
          "The terms and privacy URLs are the ones the API documentation links. www.opentable.com timed out on every request from our network on 14 October 2026, including robots.txt, so neither page nor the legal entity was read.",
          "The API's own Platform Policy (last updated 20 December 2024) is published at the top of docs.opentable.com and refers to each partner's agreement with OpenTable.",
          "status.opentable.com is a StatusDashboard page whose components and history load by script and were not readable to our reader.",
          "The change log is a section of the documentation (API Reference, Change Log), not a separate page.",
          "security.txt could not be fetched because www.opentable.com did not answer.",
          "RDAP gives opentable.com a registration date of 1999-01-17."
        ],
        "score": 64
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opentable.json",
      "live": {
        "slug": "opentable",
        "probe": {
          "target": "https://platform.opentable.com",
          "method": "get",
          "lastAt": "2026-10-14T09:42:01.177574691Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 476,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 545,
          "p95ms24h": 2988,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.opentable.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T08:53:44.535821064Z"
        },
        "updatedAt": "2026-10-14T09:42:01.177574691Z"
      }
    },
    "answer": "TheFork B2B API scores 43.6 (E) on agent readiness against OpenTable APIs's 38.6 (E), and leads in 4 of 7 scored categories. OpenTable APIs leads on agent ergonomics.",
    "b": {
      "slug": "thefork",
      "name": "TheFork B2B API",
      "vendor": "TheFork (La Fourchette SAS)",
      "vendorUrl": "https://www.thefork.com",
      "kind": "http-api",
      "category": "local-bookings",
      "summary": "TheFork's B2B API lets restaurants and their software partners, such as CRM vendors and AI phone agents, read availability and create, change and cancel reservations in TheFork Manager, with webhooks, reviews and customer data.",
      "url": "https://www.anchorterminal.com/tools/thefork",
      "markdownUrl": "https://www.anchorterminal.com/tools/thefork.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/thefork.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/thefork.json",
      "license": "Proprietary service under TheFork Partners API Terms of Use (La Fourchette SAS) and any core agreement with TheFork",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.thefork.io/manager",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Partner approval required. Credentials are requested from the integrations team at integrations@thefork.com with a company name and use case. TheFork sends a client_id and client_secret through a secure channel, and the client exchanges them at https://auth.thefork.io/oauth/token (OAuth 2.0 client credentials, audience https://api.thefork.io) for a Bearer token that lasts 8,600 seconds. Nine scopes limit each client, from full access (tfm-restaurant) to read-only availability. restaurantUuid and groupUuid values for each restaurant come from TheFork, as no endpoint lists them.",
      "pricing": "byo-plan",
      "pricingNotes": "No API prices are published. Access follows a partnership with TheFork, and the rate limit is set by contract. The API terms mention test data for pre-launch testing. No sandbox host or self-serve tier is documented (https://docs.thefork.io/getting-started).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer portal, llms.txt or OpenAPI schema (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.thefork.io/B2B-API/introduction",
      "llmsTxt": "https://docs.thefork.io/B2B-API/llms.txt",
      "openapi": "https://api.thefork.io/manager/openapi.json",
      "capabilities": [
        "booking.reservations",
        "booking.availability",
        "booking.venue",
        "crm.records",
        "events.webhooks-send"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "partner-only",
        "rest",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "eu",
        "restaurants"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.6,
        "grade": "E",
        "agentReady": false,
        "rank": 951,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 15,
          "payments": 5,
          "reliability": 35,
          "schema": 87,
          "security": 42,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "A venue-side API with a generated OpenAPI 3.1 schema, an llms.txt written for agents and nine OAuth scopes down to read-only availability. It acts for restaurants and their vendors, not diners, needs partner approval, cannot take card guarantees, and has no public status page, changelog or published prices.",
        "bestFor": "CRM, PMS and AI phone-agent vendors and restaurant groups that run on TheFork Manager, mainly in Europe.",
        "strengths": [
          "OpenAPI 3.1 schema generated from the deployed code, with 19 operations, enums, examples and error responses",
          "llms.txt for the B2B API covers scopes per endpoint, time zones, reservation statuses and error formats",
          "Nine OAuth scopes, including read-only availability and a separate scope for unrestricted bookings that is off by default",
          "Business error codes such as NO_AVAILABILITY, DOUBLE_BOOKING and RESERVATION_NOT_FOUND",
          "Written versioning policy with 6 months of support for the previous version"
        ],
        "weaknesses": [
          "Venue-side only. Credentials cover the restaurants that granted access, and no endpoint lists restaurants",
          "Credentials come from the integrations team by email after approval, with no self-serve route",
          "Timeslots that need a payment guarantee cannot be booked through the API",
          "The status page at status.thefork.io redirects to a private Rootly page that needs a sign-in",
          "No changelog, idempotency key or published production rate limit"
        ],
        "agentNotes": [
          "Read hasPaymentGuaranteeRequirement in the timeslots response before booking, since the API cannot take a card",
          "Check the status field after creating a reservation and treat REQUESTED as unconfirmed",
          "Send the timeslot datetime unchanged as mealDate, because times are the restaurant's local time",
          "Check for an existing reservation before retrying a failed POST, as no idempotency key exists and 409 signals DOUBLE_BOOKING",
          "Cache the access token for its 8,600 seconds and do not request a new one while it is valid"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.6
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 15,
          "payments": 5,
          "reliability": 35,
          "schema": 87,
          "security": 42,
          "transparency": 33
        },
        "provenanceScore": 60
      },
      "connect": {
        "http": "curl -X POST https://auth.thefork.io/oauth/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'audience=https://api.thefork.io\u0026grant_type=client_credentials\u0026client_id=CLIENT_ID\u0026client_secret=CLIENT_SECRET'"
      },
      "letme": {
        "capability": "https://letme.dev/booking.reservations",
        "tool": "https://letme.dev/thefork"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "La Fourchette SAS",
        "domain": "thefork.io",
        "domainRegistered": "2016-05-30",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.thefork.io/pdf/LaFourchette-Partners-API-Licence-2.pdf",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The developer portal footer links the TheFork Partners API Terms of Use, a PDF naming La Fourchette SAS, 70 rue Saint Lazare, Paris, company number 494 447 949, where no core agreement exists.",
          "www.thefork.com answered with a bot check (403), so its privacy policy and terms were not read and no privacy URL is recorded.",
          "status.thefork.io redirects to a private Rootly status page that needs a sign-in, so no public status page is recorded.",
          "www.thefork.com/.well-known/security.txt returns 404 and docs.thefork.io/.well-known/security.txt returns 403.",
          "No changelog was found. docs.thefork.io/changelog returns 403.",
          "RDAP gives thefork.io a registration date of 2016-05-30 and thefork.com 1998-11-04."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/thefork.json",
      "live": {
        "slug": "thefork",
        "probe": {
          "target": "https://api.thefork.io/manager",
          "method": "get",
          "lastAt": "2026-10-14T09:42:10.255461561Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 57,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 56,
          "p95ms24h": 119,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "updatedAt": "2026-10-14T09:42:10.255461561Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OpenTable",
        "b": "TheFork (La Fourchette SAS)",
        "name": "Vendor"
      },
      {
        "a": "https://platform.opentable.com",
        "b": "https://api.thefork.io/manager",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Your plan",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under each partner's agreement with OpenTable and the Platform Policy published in the API documentation",
        "b": "Proprietary service under TheFork Partners API Terms of Use (La Fourchette SAS) and any core agreement with TheFork",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "TheFork B2B API scores 43.6 (E) on agent readiness against OpenTable APIs's 38.6 (E), and leads in 4 of 7 scored categories. OpenTable APIs leads on agent ergonomics.",
        "question": "Which is better for AI agents, OpenTable APIs or TheFork B2B API?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do OpenTable APIs and TheFork B2B API need an API key?"
      },
      {
        "answer": "Yes. OpenTable APIs has a hosted endpoint at https://platform.opentable.com and TheFork B2B API at https://api.thefork.io/manager.",
        "question": "Can an agent call OpenTable APIs and TheFork B2B API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 69 against 56"
        ],
        "also": null,
        "goodFor": "Approved affiliates, restaurant groups and voice AI vendors that need to book into OpenTable restaurants.",
        "slug": "opentable",
        "watchFor": "Access needs an application, review by the partnerships team and an agreement, with no self-serve credentials"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 61",
          "Security \u0026 auth, 42 against 33",
          "Maintenance \u0026 community, 15 against 5",
          "Transparency \u0026 trust, 47 against 42"
        ],
        "also": null,
        "goodFor": "CRM, PMS and AI phone-agent vendors and restaurant groups that run on TheFork Manager, mainly in Europe.",
        "slug": "thefork",
        "watchFor": "Venue-side only. Credentials cover the restaurants that granted access, and no endpoint lists restaurants"
      }
    ],
    "job": {
      "capability": "booking.availability",
      "name": "Booking availability"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/chope-vs-opentable.json",
        "title": "Chope vs OpenTable APIs",
        "url": "https://www.anchorterminal.com/compare/chope-vs-opentable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chope-vs-thefork.json",
        "title": "Chope vs TheFork B2B API",
        "url": "https://www.anchorterminal.com/compare/chope-vs-thefork"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eat-app-vs-opentable.json",
        "title": "Eat App Partner API vs OpenTable APIs",
        "url": "https://www.anchorterminal.com/compare/eat-app-vs-opentable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eat-app-vs-thefork.json",
        "title": "Eat App Partner API vs TheFork B2B API",
        "url": "https://www.anchorterminal.com/compare/eat-app-vs-thefork"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opentable-vs-tock.json",
        "title": "OpenTable APIs vs Tock",
        "url": "https://www.anchorterminal.com/compare/opentable-vs-tock"
      },
      {
        "json": "https://www.anchorterminal.com/compare/resy-vs-thefork.json",
        "title": "Resy vs TheFork B2B API",
        "url": "https://www.anchorterminal.com/compare/resy-vs-thefork"
      },
      {
        "json": "https://www.anchorterminal.com/compare/thefork-vs-tock.json",
        "title": "TheFork B2B API vs Tock",
        "url": "https://www.anchorterminal.com/compare/thefork-vs-tock"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opentable-vs-resy.json",
        "title": "OpenTable APIs vs Resy",
        "url": "https://www.anchorterminal.com/compare/opentable-vs-resy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opentable-vs-sevenrooms.json",
        "title": "OpenTable APIs vs SevenRooms",
        "url": "https://www.anchorterminal.com/compare/opentable-vs-sevenrooms"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opentable-vs-square-appointments.json",
        "title": "OpenTable APIs vs Square Appointments (Bookings API)",
        "url": "https://www.anchorterminal.com/compare/opentable-vs-square-appointments"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opentable-vs-tablecheck.json",
        "title": "OpenTable APIs vs TableCheck API",
        "url": "https://www.anchorterminal.com/compare/opentable-vs-tablecheck"
      },
      {
        "json": "https://www.anchorterminal.com/compare/square-appointments-vs-thefork.json",
        "title": "Square Appointments (Bookings API) vs TheFork B2B API",
        "url": "https://www.anchorterminal.com/compare/square-appointments-vs-thefork"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tablecheck-vs-thefork.json",
        "title": "TableCheck API vs TheFork B2B API",
        "url": "https://www.anchorterminal.com/compare/tablecheck-vs-thefork"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sevenrooms-vs-thefork.json",
        "title": "SevenRooms vs TheFork B2B API",
        "url": "https://www.anchorterminal.com/compare/sevenrooms-vs-thefork"
      }
    ],
    "scores": [
      {
        "by": 0,
        "edge": "",
        "key": "reliability",
        "name": "Reliability",
        "opentable": 35,
        "thefork": 35,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "thefork",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opentable": 61,
        "thefork": 87,
        "weight": 13
      },
      {
        "by": 13,
        "edge": "opentable",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opentable": 69,
        "thefork": 56,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "thefork",
        "key": "security",
        "name": "Security \u0026 auth",
        "opentable": 33,
        "thefork": 42,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opentable": 5,
        "thefork": 5,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "thefork",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opentable": 5,
        "thefork": 15,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "thefork",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opentable": 42,
        "thefork": 47,
        "weight": 7
      }
    ],
    "summary": "TheFork B2B API scores 43.6 (E) on agent readiness against OpenTable APIs's 38.6 (E), and leads in 4 of 7 scored categories. OpenTable APIs leads on agent ergonomics. Both do booking availability.",
    "verdicts": {
      "opentable": "The public documentation covers diner-side and venue-side booking in detail, with slot locks, policy endpoints, error tables and an X-Request-Id header for safe retries. Access needs partner approval and a contract, rate limits and prices are not published, and the status page and main website could not be read.",
      "thefork": "A venue-side API with a generated OpenAPI 3.1 schema, an llms.txt written for agents and nine OAuth scopes down to read-only availability. It acts for restaurants and their vendors, not diners, needs partner approval, cannot take card guarantees, and has no public status page, changelog or published prices."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/opentable-vs-thefork",
    "json": "https://www.anchorterminal.com/compare/opentable-vs-thefork.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/opentable-vs-thefork.md",
    "slim": "https://www.anchorterminal.com/compare/opentable-vs-thefork.min.md"
  },
  "markdown": "TheFork B2B API scores 43.6 (E) on agent readiness against OpenTable APIs's 38.6 (E), and leads in 4 of 7 scored categories. OpenTable APIs leads on agent ergonomics. Both do booking availability.\n\n- OpenTable APIs: grade E, 38.6/100, rank #994 of 1076. Markdown https://www.anchorterminal.com/tools/opentable.md · JSON https://www.anchorterminal.com/api/v1/tools/opentable.json\n- TheFork B2B API: grade E, 43.6/100, rank #951 of 1076. Markdown https://www.anchorterminal.com/tools/thefork.md · JSON https://www.anchorterminal.com/api/v1/tools/thefork.json\n- Best restaurant reservation and local appointment APIs for AI agents: https://www.anchorterminal.com/best/local-bookings/index.md\n- All 36 bookings comparisons: https://www.anchorterminal.com/compare/local-bookings/index.md\n\n## Which one, for what\n\n### OpenTable APIs (E)\n\nGood for: Approved affiliates, restaurant groups and voice AI vendors that need to book into OpenTable restaurants.\n\nAhead on:\n- Agent ergonomics, 69 against 56\n\nWatch for: Access needs an application, review by the partnerships team and an agreement, with no self-serve credentials\n\n### TheFork B2B API (E)\n\nGood for: CRM, PMS and AI phone-agent vendors and restaurant groups that run on TheFork Manager, mainly in Europe.\n\nAhead on:\n- Schema \u0026 documentation, 87 against 61\n- Security \u0026 auth, 42 against 33\n- Maintenance \u0026 community, 15 against 5\n- Transparency \u0026 trust, 47 against 42\n\nWatch for: Venue-side only. Credentials cover the restaurants that granted access, and no endpoint lists restaurants\n\n\n## Score by category\n\n| Category | Weight | OpenTable APIs | TheFork B2B API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 35 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 61 | 87 | TheFork B2B API +26 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 56 | OpenTable APIs +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 33 | 42 | TheFork B2B API +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 5 | 5 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 5 | 15 | TheFork B2B API +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 42 | 47 | TheFork B2B API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **38.6 · E** | **43.6 · E** | |\n\n## Facts side by side\n\n| Fact | OpenTable APIs | TheFork B2B API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OpenTable | TheFork (La Fourchette SAS) |\n| Hosted endpoint | `https://platform.opentable.com` | `https://api.thefork.io/manager` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth |\n| Pricing | Your plan | Your plan |\n| x402 | no | no |\n| Licence | Proprietary service under each partner's agreement with OpenTable and the Platform Policy published in the API documentation | Proprietary service under TheFork Partners API Terms of Use (La Fourchette SAS) and any core agreement with TheFork |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Terms last updated | couldn't be read |  |\n| Privacy policy last updated | couldn't be read | no document linked |\n| Customer content may train models | couldn't be read |  |\n| Terms restrict automated access | couldn't be read |  |\n| Terms restrict benchmarking | couldn't be read |  |\n| Terms or service can change without notice | couldn't be read |  |\n| Arbitration or class-action waiver | couldn't be read |  |\n\n## Verdicts\n\n**OpenTable APIs.** The public documentation covers diner-side and venue-side booking in detail, with slot locks, policy endpoints, error tables and an X-Request-Id header for safe retries. Access needs partner approval and a contract, rate limits and prices are not published, and the status page and main website could not be read.\n\n**TheFork B2B API.** A venue-side API with a generated OpenAPI 3.1 schema, an llms.txt written for agents and nine OAuth scopes down to read-only availability. It acts for restaurants and their vendors, not diners, needs partner approval, cannot take card guarantees, and has no public status page, changelog or published prices.\n\n## Before you call either\n\n### OpenTable APIs\n\n1. Lock the slot before calling Make Reservation, since the lock and its reservation_token expire within 5 minutes\n2. Send a unique X-Request-Id on every POST, PUT and PATCH so a retried booking is not duplicated\n3. Fetch booking and cancellation policies before booking and show any deposit, hold or service fee to the diner\n4. Use the Consumer API for diner bookings and the In-House Booking API only for a restaurant's own voice or phone channel\n5. Ask the OpenTable representative for the rate limit of each endpoint before going live\n\n### TheFork B2B API\n\n1. Read hasPaymentGuaranteeRequirement in the timeslots response before booking, since the API cannot take a card\n2. Check the status field after creating a reservation and treat REQUESTED as unconfirmed\n3. Send the timeslot datetime unchanged as mealDate, because times are the restaurant's local time\n4. Check for an existing reservation before retrying a failed POST, as no idempotency key exists and 409 signals DOUBLE_BOOKING\n5. Cache the access token for its 8,600 seconds and do not request a new one while it is valid\n\n## Questions\n\n### Which is better for AI agents, OpenTable APIs or TheFork B2B API?\n\nTheFork B2B API scores 43.6 (E) on agent readiness against OpenTable APIs's 38.6 (E), and leads in 4 of 7 scored categories. OpenTable APIs leads on agent ergonomics.\n\n### Do OpenTable APIs and TheFork B2B API need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call OpenTable APIs and TheFork B2B API without installing anything?\n\nYes. OpenTable APIs has a hosted endpoint at https://platform.opentable.com and TheFork B2B API at https://api.thefork.io/manager.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/opentable-vs-thefork.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opentable-vs-thefork.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"opentable\", \"b\": \"thefork\"}`. From a terminal: `anchor compare opentable thefork`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/opentable.json and https://www.anchorterminal.com/api/v1/tools/thefork.json\n\n## Other comparisons with OpenTable APIs or TheFork B2B API\n\n- [Chope vs OpenTable APIs](https://www.anchorterminal.com/compare/chope-vs-opentable.md)\n- [Chope vs TheFork B2B API](https://www.anchorterminal.com/compare/chope-vs-thefork.md)\n- [Eat App Partner API vs OpenTable APIs](https://www.anchorterminal.com/compare/eat-app-vs-opentable.md)\n- [Eat App Partner API vs TheFork B2B API](https://www.anchorterminal.com/compare/eat-app-vs-thefork.md)\n- [OpenTable APIs vs Tock](https://www.anchorterminal.com/compare/opentable-vs-tock.md)\n- [Resy vs TheFork B2B API](https://www.anchorterminal.com/compare/resy-vs-thefork.md)\n- [TheFork B2B API vs Tock](https://www.anchorterminal.com/compare/thefork-vs-tock.md)\n- [OpenTable APIs vs Resy](https://www.anchorterminal.com/compare/opentable-vs-resy.md)\n- [OpenTable APIs vs SevenRooms](https://www.anchorterminal.com/compare/opentable-vs-sevenrooms.md)\n- [OpenTable APIs vs Square Appointments (Bookings API)](https://www.anchorterminal.com/compare/opentable-vs-square-appointments.md)\n- [OpenTable APIs vs TableCheck API](https://www.anchorterminal.com/compare/opentable-vs-tablecheck.md)\n- [Square Appointments (Bookings API) vs TheFork B2B API](https://www.anchorterminal.com/compare/square-appointments-vs-thefork.md)\n- [TableCheck API vs TheFork B2B API](https://www.anchorterminal.com/compare/tablecheck-vs-thefork.md)\n- [SevenRooms vs TheFork B2B API](https://www.anchorterminal.com/compare/sevenrooms-vs-thefork.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OpenTable APIs vs TheFork B2B API",
        "url": ""
      }
    ],
    "description": "TheFork B2B scores 43.6 (E) to OpenTable's 38.6 (E) for booking availability. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenTable APIs E 38.6",
      "TheFork B2B API E 43.6",
      "scores"
    ],
    "h1": "OpenTable APIs vs TheFork B2B API",
    "image": "https://www.anchorterminal.com/assets/og/compare-opentable-vs-thefork.png",
    "path": "/compare/opentable-vs-thefork",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenTable vs TheFork B2B for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/opentable-vs-thefork"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
