{
  "data": {
    "a": {
      "slug": "notte",
      "name": "Notte",
      "vendor": "Notte Labs Inc.",
      "vendorUrl": "https://www.notte.cc",
      "kind": "http-api",
      "category": "browser",
      "summary": "Notte, from Notte Labs Inc., runs hosted browser sessions with web agents, scraping, search, serverless browser functions, credential vaults and personas. Access is by REST API, Python and Node SDKs, a CLI or a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/notte",
      "markdownUrl": "https://www.anchorterminal.com/tools/notte.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/notte.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/notte.json",
      "repo": "https://github.com/nottelabs/notte",
      "license": "Proprietary hosted service under Notte's terms of service. The core repository is SSPL-1.0 and the Node SDK is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.notte.cc",
      "packages": [
        {
          "registry": "pypi",
          "name": "notte-sdk"
        },
        {
          "registry": "npm",
          "name": "notte-sdk"
        },
        {
          "registry": "pypi",
          "name": "notte-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key from the console at console.notte.cc, sent as `Authorization: Bearer \u003ckey\u003e`. The hosted MCP server also accepts OAuth sign-in with a Notte account and a choice of workspace; its metadata lists one scope, `email`. No key scopes or rotation guidance were found in the reviewed documentation. No sales approval is needed below Enterprise.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with $10 of credits, granted once, no card, so an agent's owner can start without a contract. Credits are spent on browser functions at $0.05 an hour, residential proxies at $10 a GB and LLM tokens at the model's price. The pricing page lists browser sessions at $0 an hour on 8 October 2026. Developer is $20 a month and Startup $100, each with the same amount in monthly credits (https://www.notte.cc/pricing).",
      "priceSummary": "$0.05 / session-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI document, the docs index or the pricing page (checked 2026-10-08). The session payment endpoints pay third-party merchants from a connected wallet and do not pay Notte.",
        "endpoints": []
      },
      "toolCount": 8,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1299,
        "pypiWeekly": 5107,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.notte.cc",
      "llmsTxt": "https://docs.notte.cc/llms.txt",
      "openapi": "https://api.notte.cc/openapi.json",
      "capabilities": [
        "browser.control",
        "browser.hosted",
        "web.scrape",
        "web.search",
        "web.extract",
        "scraping.proxies",
        "scraping.anti-bot",
        "secrets.store"
      ],
      "tags": [
        "official",
        "hosted",
        "freemium",
        "no-card",
        "openapi",
        "llms-txt",
        "mcp",
        "oauth",
        "python",
        "typescript",
        "cli",
        "status-page",
        "soc2",
        "source-available"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.2,
        "grade": "B",
        "agentReady": false,
        "rank": 429,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 40,
          "reliability": 58,
          "schema": 74,
          "security": 56,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Notte publishes an OpenAPI 3.1 contract for 100 operations, a hosted MCP server with eight tools and OAuth, and a free plan with $10 of credits and no card. Its status page records about six hours of Scrape API downtime in 90 days, and a bot check blocked our read of the terms and privacy policy.",
        "bestFor": "Teams that want hosted browsers together with agents, vaults for logins, personas with mailboxes and scheduled browser functions behind one key.",
        "strengths": [
          "OpenAPI 3.1 at api.notte.cc/openapi.json with 77 paths and 100 operations, plus llms.txt, Markdown twins of the docs and a keyless documentation MCP server",
          "Hosted MCP server at https://api.notte.cc/mcp with eight tools, three marked read-only, signed in by OAuth or a Bearer API key",
          "Free plan with $10 of non-expiring credits and no card, 5 concurrent browsers and 15-minute sessions, per the pricing page",
          "Vaults substitute stored credentials at fill time, so the model handling the page never receives them, per the vault docs",
          "18 tagged releases between 10 July and 7 October 2026, with the Python and Node SDKs both at 1.9.6"
        ],
        "weaknesses": [
          "status.notte.cc shows the Scrape API down on 15 of 90 days (about 6 hours in total) and CAPTCHA solving at 88.9 per cent availability",
          "No request rate limit is stated per plan. The docs describe `X-RateLimit` headers and show a limit of 100 only as an example",
          "A Vercel bot check answered 429 on the terms of service and privacy policy at console.notte.cc, so we could not read either",
          "The core repository is under SSPL-1.0, which is not an OSI-approved licence. Only the Node SDK is MIT",
          "No API key scopes, deprecation policy, subprocessor list or public DPA found in the reviewed documentation"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer $NOTTE_API_KEY` to https://api.notte.cc. A person creates the key in the console at console.notte.cc first",
          "Stop every session when the task ends. Sessions close after 3 idle minutes or 15 minutes in total by default, and the Free plan caps a session at 15 minutes",
          "Use https://api.notte.cc/mcp for browser work. Function and agent administration tools are only on https://api.notte.cc/mcp/full",
          "Back off on 429 and on 529, which means the cluster has too many sessions. The SDKs do not retry rate limits for you",
          "Download session replays within 24 hours. The recordings page says they are deleted after that"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.2
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 40,
          "reliability": 58,
          "schema": 74,
          "security": 56,
          "transparency": 36
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "pip install notte-sdk",
        "http": "curl https://api.notte.cc/sessions -H \"Authorization: Bearer $NOTTE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http notte https://api.notte.cc/mcp",
        "config": {
          "mcpServers": {
            "notte": {
              "headers": {
                "Authorization": "Bearer \u003cyour-notte-api-key\u003e"
              },
              "url": "https://api.notte.cc/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/notte"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Browser function runtime",
          "unit": "session-hour",
          "usd": 0.05,
          "note": "Rounded by Notte's billing policy"
        },
        {
          "item": "Residential proxy traffic",
          "unit": "gb",
          "usd": 10,
          "note": "Billed only when proxies are enabled"
        },
        {
          "item": "Developer plan",
          "unit": "month",
          "usd": 20,
          "note": "$20 of credits a month, 25 concurrent browsers"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 100,
          "note": "$100 of credits a month, 100 concurrent browsers"
        }
      ],
      "provenance": {
        "legalEntity": "Notte Labs Inc.",
        "domain": "notte.cc",
        "domainRegistered": "2024-09-25",
        "endpointOnVendorDomain": true,
        "terms": "https://console.notte.cc/terms",
        "privacy": "https://console.notte.cc/privacy",
        "statusPage": "https://status.notte.cc",
        "changelog": "https://github.com/nottelabs/notte/blob/main/node-sdk/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The site footer reads Notte Labs Inc. and COPYRIGHT.md in the repository reads Notte Labs, Inc.",
          "The site footer and llms.txt link the terms of service and privacy policy at console.notte.cc. Both answered 429 with a Vercel security checkpoint on 8 October 2026, so neither was read and their scope and dates are unconfirmed.",
          "The API and the hosted MCP server answer at api.notte.cc. The MCP authorisation server is a supabase.co host.",
          "www.notte.cc/.well-known/security.txt names security@notte.cc, a policy at www.notte.cc/security and an expiry of 17 September 2027.",
          "RDAP for notte.cc gives a registration date of 2024-09-25 and Tucows Domains Inc. as registrar.",
          "No changelog page was found in the docs. Dated changes come from GitHub tags and the Node SDK's CHANGELOG.md."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/notte.json",
      "live": {
        "slug": "notte",
        "probe": {
          "target": "https://api.notte.cc",
          "method": "get",
          "lastAt": "2026-10-14T09:41:59.807918717Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 360,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 356,
          "p95ms24h": 431,
          "samples24h": 248,
          "samples30d": 1409,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 70,
              "ok": 70
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 100,
              "ok": 100
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.notte.cc",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T08:53:28.012333842Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "nottelabs/notte",
            "version": "v1.9.7",
            "released": "2026-10-08",
            "seenAt": "2026-10-13T23:12:41.070130701Z"
          },
          {
            "registry": "npm",
            "name": "notte-sdk",
            "version": "1.9.6",
            "seenAt": "2026-10-13T23:12:39.168748897Z"
          },
          {
            "registry": "pypi",
            "name": "notte-mcp",
            "version": "1.8.28",
            "released": "2026-07-13",
            "seenAt": "2026-10-13T23:12:40.053574244Z"
          },
          {
            "registry": "pypi",
            "name": "notte-sdk",
            "version": "1.9.6",
            "released": "2026-10-07",
            "seenAt": "2026-10-13T23:12:38.987959826Z"
          }
        ],
        "githubStars": 2030,
        "npmWeekly": 1337,
        "pypiWeekly": 5621,
        "securityTxt": {
          "url": "https://notte.cc/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-17T00:00:00.000Z",
          "checkedAt": "2026-10-13T15:45:43.682796266Z"
        },
        "llmsTxt": {
          "url": "https://docs.notte.cc/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-13T14:12:05.997752554Z"
        },
        "domain": {
          "domain": "notte.cc",
          "registered": "2024-09-25",
          "source": "https://tld-rdap.verisign.com/cc/v1/domain/notte.cc",
          "checkedAt": "2026-10-11T13:21:26.2682627Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/nottelabs/notte/main/node-sdk/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-13T20:23:35.758110005Z",
            "changedAt": "2026-10-13T20:23:35.758110005Z",
            "fingerprint": "4f6ac7be4d03"
          },
          {
            "url": "https://www.notte.cc/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-13T20:30:20.007217008Z",
            "changedAt": "2026-10-12T20:05:31.09662597Z",
            "fingerprint": "be623872bd98"
          },
          {
            "url": "https://console.notte.cc/privacy",
            "kind": "privacy",
            "status": 429,
            "checkedAt": "2026-10-13T20:11:55.102371476Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://console.notte.cc/terms",
            "kind": "terms",
            "status": 429,
            "checkedAt": "2026-10-13T20:11:57.112204234Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-14T09:41:59.807918717Z"
      }
    },
    "answer": "Puppeteer scores 70.6 (BB) on agent readiness against Notte's 63.2 (B), and leads in 5 of 7 scored categories. Notte leads on agent ergonomics.",
    "b": {
      "slug": "puppeteer",
      "name": "Puppeteer",
      "vendor": "Google",
      "vendorUrl": "https://pptr.dev",
      "kind": "sdk",
      "category": "browser",
      "summary": "Puppeteer is Google's open-source Node.js library for controlling Chrome and Firefox over the DevTools Protocol and WebDriver BiDi. An agent writes and runs scripts that navigate, click, type, read pages and take screenshots.",
      "url": "https://www.anchorterminal.com/tools/puppeteer",
      "markdownUrl": "https://www.anchorterminal.com/tools/puppeteer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/puppeteer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/puppeteer.json",
      "repo": "https://github.com/puppeteer/puppeteer",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "puppeteer"
        },
        {
          "registry": "npm",
          "name": "puppeteer-core"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key. The library runs on the owner's machine and launches or connects to a local browser. Site logins live in the browser profile or cookies the script sets. `puppeteer.connect()` to a remote browser uses whatever that endpoint requires.",
      "pricing": "free",
      "pricingNotes": "Free and open source under Apache-2.0, with nothing to buy and no hosted service from Google. `npm i puppeteer` downloads Chrome for Testing and chrome-headless-shell at install time (checked 2026-10-14).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the docs or the source (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 95689,
        "npmWeekly": 11547242,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://pptr.dev",
      "capabilities": [
        "browser.control",
        "browser.debug"
      ],
      "tags": [
        "official",
        "local",
        "open-source",
        "browser",
        "sdk",
        "typescript",
        "no-auth"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 154,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 89,
          "payments": 60,
          "reliability": 80,
          "schema": 81,
          "security": 52,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Puppeteer is a stable, Apache-2.0 library on 25.13.0, with ten releases since 27 July 2026, typed APIs, locators that wait and retry, and accessibility snapshots an agent can read. It has no MCP server or llms.txt of its own, and 10 of the 20 most recent CI runs on main failed between 7 and 13 October 2026.",
        "bestFor": "Agents that write and run Node.js scripts against Chrome or Firefox.",
        "strengths": [
          "Ten releases from 25.4.0 on 27 July to 25.13.0 on 8 October 2026, each with a changelog generated by release-please",
          "TypeScript types for the whole API and a generated reference of 643 Markdown pages in the repository",
          "`page.accessibility.snapshot()` and the Locator API, which waits for elements and retries actions, suit scripted agent use",
          "Each release pins a tested Chrome for Testing and Firefox version, listed in a public support table",
          "Typed errors such as `TimeoutError`, `TargetCloseError` and `ConnectionClosedError` let a script tell timeouts from a closed browser"
        ],
        "weaknesses": [
          "No MCP server, CLI or llms.txt of its own. The docs point agents to the separate chrome-devtools-mcp project",
          "10 of the 20 most recent CI runs on main, 7 to 13 October 2026, concluded in failure, the newest in Windows Chrome and Firefox jobs",
          "Page content reaches the agent unfiltered, and the docs have no prompt-injection or untrusted-content guidance",
          "JavaScript and TypeScript only, with Node.js 22.12 or later required since 25.0.0",
          "A stale workflow marks unconfirmed bug reports after 14 days and closes them 7 days later"
        ],
        "agentNotes": [
          "Install with `npm i puppeteer`, which downloads a matching Chrome for Testing. Use `puppeteer-core` to bring your own browser",
          "Prefer `page.locator()` over `page.$()`. Locators wait for the element to be visible and stable before acting",
          "Read pages with `page.accessibility.snapshot({interestingOnly: true})` rather than full HTML to keep output short",
          "Catch `TimeoutError` separately from `TargetCloseError`. The first can be retried, the second needs a new page or browser",
          "Packages are ESM only since 25.0.0. Use `import puppeteer from 'puppeteer'` rather than `require`"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.6
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 89,
          "payments": 60,
          "reliability": 80,
          "schema": 81,
          "security": 52,
          "transparency": 72
        },
        "provenanceScore": 68
      },
      "connect": {
        "install": "npm i puppeteer"
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/puppeteer"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "pptr.dev",
        "domainRegistered": "2018-05-23",
        "domainNote": "pptr.dev is the documentation site for Puppeteer, with a footer reading Copyright 2026 Google, Inc. RDAP gives a registration date of 23 May 2018. The repository is in the puppeteer organisation on GitHub. pptr.dev answers 404 for /.well-known/security.txt.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "No terms or privacy document governs this software beyond the Apache-2.0 licence, so `terms` and `privacy` are left out. The pptr.dev footer links Google's cookie policy for the site itself."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/puppeteer.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Notte Labs Inc.",
        "b": "Google",
        "name": "Vendor"
      },
      {
        "a": "https://api.notte.cc",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under Notte's terms of service. The core repository is SSPL-1.0 and the Node SDK is MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "8",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no document linked",
        "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"
      },
      {
        "a": "1.3k npm/wk, 5.1k PyPI/wk",
        "b": "96k stars, 11.5M npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Puppeteer scores 70.6 (BB) on agent readiness against Notte's 63.2 (B), and leads in 5 of 7 scored categories. Notte leads on agent ergonomics.",
        "question": "Which is better for AI agents, Notte or Puppeteer?"
      },
      {
        "answer": "Notte has a hosted endpoint at https://api.notte.cc. No hosted endpoint is listed for Puppeteer.",
        "question": "Can an agent call Notte and Puppeteer without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Notte. Puppeteer is open source (Apache-2.0).",
        "question": "Are Notte and Puppeteer open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 75 against 67"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Teams that want hosted browsers together with agents, vaults for logins, personas with mailboxes and scheduled browser functions behind one key.",
        "slug": "notte",
        "watchFor": "status.notte.cc shows the Scrape API down on 15 of 90 days (about 6 hours in total) and CAPTCHA solving at 88.9 per cent availability"
      },
      {
        "aheadOn": [
          "Reliability, 80 against 58",
          "Schema \u0026 documentation, 81 against 74",
          "Payments \u0026 pricing, 60 against 40",
          "Maintenance \u0026 community, 89 against 83",
          "Transparency \u0026 trust, 70 against 61"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "Agents that write and run Node.js scripts against Chrome or Firefox.",
        "slug": "puppeteer",
        "watchFor": "No MCP server, CLI or llms.txt of its own. The docs point agents to the separate chrome-devtools-mcp project"
      }
    ],
    "job": {
      "capability": "browser.control",
      "name": "Browser automation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-notte.json",
        "title": "agent-browser vs Notte",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-puppeteer.json",
        "title": "agent-browser vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-notte.json",
        "title": "Airtop vs Notte",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-puppeteer.json",
        "title": "Airtop vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-notte.json",
        "title": "Anchor Browser vs Notte",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-puppeteer.json",
        "title": "Anchor Browser vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-notte.json",
        "title": "Browser Use vs Notte",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-puppeteer.json",
        "title": "Browser Use vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-puppeteer.json",
        "title": "Browserbase vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-notte.json",
        "title": "Browserless vs Notte",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-puppeteer.json",
        "title": "Browserless vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-notte.json",
        "title": "Chrome DevTools MCP vs Notte",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-puppeteer.json",
        "title": "Chrome DevTools MCP vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-notte.json",
        "title": "Hyperbrowser vs Notte",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-puppeteer.json",
        "title": "Hyperbrowser vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-playwright-mcp.json",
        "title": "Notte vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/notte-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-puppeteer-reference-server-archived.json",
        "title": "Notte vs Puppeteer (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/notte-vs-puppeteer-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-selenium.json",
        "title": "Notte vs Selenium",
        "url": "https://www.anchorterminal.com/compare/notte-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-skyvern.json",
        "title": "Notte vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/notte-vs-skyvern"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-steel.json",
        "title": "Notte vs Steel",
        "url": "https://www.anchorterminal.com/compare/notte-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-tinyfish.json",
        "title": "Notte vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/notte-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer.json",
        "title": "Playwright MCP vs Puppeteer",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-puppeteer-reference-server-archived.json",
        "title": "Puppeteer vs Puppeteer (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-puppeteer-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-selenium.json",
        "title": "Puppeteer vs Selenium",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-skyvern.json",
        "title": "Puppeteer vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-skyvern"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-steel.json",
        "title": "Puppeteer vs Steel",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-tinyfish.json",
        "title": "Puppeteer vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-notte.json",
        "title": "Browserbase vs Notte",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-notte"
      }
    ],
    "scores": [
      {
        "by": 22,
        "edge": "puppeteer",
        "key": "reliability",
        "name": "Reliability",
        "notte": 58,
        "puppeteer": 80,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "puppeteer",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "notte": 74,
        "puppeteer": 81,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "notte",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "notte": 75,
        "puppeteer": 67,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "notte",
        "key": "security",
        "name": "Security \u0026 auth",
        "notte": 56,
        "puppeteer": 52,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "puppeteer",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "notte": 40,
        "puppeteer": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "puppeteer",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "notte": 83,
        "puppeteer": 89,
        "weight": 7
      },
      {
        "by": 9,
        "edge": "puppeteer",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "notte": 61,
        "puppeteer": 70,
        "weight": 7
      }
    ],
    "summary": "Puppeteer scores 70.6 (BB) on agent readiness against Notte's 63.2 (B), and leads in 5 of 7 scored categories. Notte leads on agent ergonomics. Both do browser automation.",
    "verdicts": {
      "notte": "Notte publishes an OpenAPI 3.1 contract for 100 operations, a hosted MCP server with eight tools and OAuth, and a free plan with $10 of credits and no card. Its status page records about six hours of Scrape API downtime in 90 days, and a bot check blocked our read of the terms and privacy policy.",
      "puppeteer": "Puppeteer is a stable, Apache-2.0 library on 25.13.0, with ten releases since 27 July 2026, typed APIs, locators that wait and retry, and accessibility snapshots an agent can read. It has no MCP server or llms.txt of its own, and 10 of the 20 most recent CI runs on main failed between 7 and 13 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/notte-vs-puppeteer",
    "json": "https://www.anchorterminal.com/compare/notte-vs-puppeteer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/notte-vs-puppeteer.md",
    "slim": "https://www.anchorterminal.com/compare/notte-vs-puppeteer.min.md"
  },
  "markdown": "Puppeteer scores 70.6 (BB) on agent readiness against Notte's 63.2 (B), and leads in 5 of 7 scored categories. Notte leads on agent ergonomics. Both do browser automation.\n\n- Notte: grade B, 63.2/100, rank #429 of 1076. Markdown https://www.anchorterminal.com/tools/notte.md · JSON https://www.anchorterminal.com/api/v1/tools/notte.json\n- Puppeteer: grade BB, 70.6/100, rank #154 of 1076. Markdown https://www.anchorterminal.com/tools/puppeteer.md · JSON https://www.anchorterminal.com/api/v1/tools/puppeteer.json\n- Best browser automation tools for AI agents: https://www.anchorterminal.com/best/browser/index.md\n- All 120 browser comparisons: https://www.anchorterminal.com/compare/browser/index.md\n\n## Which one, for what\n\n### Notte (B)\n\nGood for: Teams that want hosted browsers together with agents, vaults for logins, personas with mailboxes and scheduled browser functions behind one key.\n\nAhead on:\n- Agent ergonomics, 75 against 67\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: status.notte.cc shows the Scrape API down on 15 of 90 days (about 6 hours in total) and CAPTCHA solving at 88.9 per cent availability\n\n### Puppeteer (BB)\n\nGood for: Agents that write and run Node.js scripts against Chrome or Firefox.\n\nAhead on:\n- Reliability, 80 against 58\n- Schema \u0026 documentation, 81 against 74\n- Payments \u0026 pricing, 60 against 40\n- Maintenance \u0026 community, 89 against 83\n- Transparency \u0026 trust, 70 against 61\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No key needed to call it\n- Open source\n\nWatch for: No MCP server, CLI or llms.txt of its own. The docs point agents to the separate chrome-devtools-mcp project\n\n\n## Score by category\n\n| Category | Weight | Notte | Puppeteer | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 80 | Puppeteer +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 81 | Puppeteer +7 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 67 | Notte +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 52 | Notte +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | Puppeteer +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 89 | Puppeteer +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 70 | Puppeteer +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.2 · B** | **70.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Notte | Puppeteer |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Notte Labs Inc. | Google |\n| Hosted endpoint | `https://api.notte.cc` | no (local only) |\n| Transports | HTTP |  |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Proprietary hosted service under Notte's terms of service. The core repository is SSPL-1.0 and the Node SDK is MIT | Apache-2.0 |\n| Tools exposed | 8 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-07 | 2026-10-08 |\n| Terms last updated | couldn't be read | no document linked |\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| Popularity | 1.3k npm/wk, 5.1k PyPI/wk | 96k stars, 11.5M npm/wk |\n\n## Verdicts\n\n**Notte.** Notte publishes an OpenAPI 3.1 contract for 100 operations, a hosted MCP server with eight tools and OAuth, and a free plan with $10 of credits and no card. Its status page records about six hours of Scrape API downtime in 90 days, and a bot check blocked our read of the terms and privacy policy.\n\n**Puppeteer.** Puppeteer is a stable, Apache-2.0 library on 25.13.0, with ten releases since 27 July 2026, typed APIs, locators that wait and retry, and accessibility snapshots an agent can read. It has no MCP server or llms.txt of its own, and 10 of the 20 most recent CI runs on main failed between 7 and 13 October 2026.\n\n## Before you call either\n\n### Notte\n\n1. Send `Authorization: Bearer $NOTTE_API_KEY` to https://api.notte.cc. A person creates the key in the console at console.notte.cc first\n2. Stop every session when the task ends. Sessions close after 3 idle minutes or 15 minutes in total by default, and the Free plan caps a session at 15 minutes\n3. Use https://api.notte.cc/mcp for browser work. Function and agent administration tools are only on https://api.notte.cc/mcp/full\n4. Back off on 429 and on 529, which means the cluster has too many sessions. The SDKs do not retry rate limits for you\n5. Download session replays within 24 hours. The recordings page says they are deleted after that\n\n### Puppeteer\n\n1. Install with `npm i puppeteer`, which downloads a matching Chrome for Testing. Use `puppeteer-core` to bring your own browser\n2. Prefer `page.locator()` over `page.$()`. Locators wait for the element to be visible and stable before acting\n3. Read pages with `page.accessibility.snapshot({interestingOnly: true})` rather than full HTML to keep output short\n4. Catch `TimeoutError` separately from `TargetCloseError`. The first can be retried, the second needs a new page or browser\n5. Packages are ESM only since 25.0.0. Use `import puppeteer from 'puppeteer'` rather than `require`\n\n## Questions\n\n### Which is better for AI agents, Notte or Puppeteer?\n\nPuppeteer scores 70.6 (BB) on agent readiness against Notte's 63.2 (B), and leads in 5 of 7 scored categories. Notte leads on agent ergonomics.\n\n### Can an agent call Notte and Puppeteer without installing anything?\n\nNotte has a hosted endpoint at https://api.notte.cc. No hosted endpoint is listed for Puppeteer.\n\n### Are Notte and Puppeteer open source?\n\nNo open-source release is listed for Notte. Puppeteer is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/notte-vs-puppeteer.json, and with the fewest tokens: https://www.anchorterminal.com/compare/notte-vs-puppeteer.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"notte\", \"b\": \"puppeteer\"}`. From a terminal: `anchor compare notte puppeteer`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/notte.json and https://www.anchorterminal.com/api/v1/tools/puppeteer.json\n\n## Other comparisons with Notte or Puppeteer\n\n- [agent-browser vs Notte](https://www.anchorterminal.com/compare/agent-browser-vs-notte.md)\n- [agent-browser vs Puppeteer](https://www.anchorterminal.com/compare/agent-browser-vs-puppeteer.md)\n- [Airtop vs Notte](https://www.anchorterminal.com/compare/airtop-vs-notte.md)\n- [Airtop vs Puppeteer](https://www.anchorterminal.com/compare/airtop-vs-puppeteer.md)\n- [Anchor Browser vs Notte](https://www.anchorterminal.com/compare/anchor-browser-vs-notte.md)\n- [Anchor Browser vs Puppeteer](https://www.anchorterminal.com/compare/anchor-browser-vs-puppeteer.md)\n- [Browser Use vs Notte](https://www.anchorterminal.com/compare/browser-use-vs-notte.md)\n- [Browser Use vs Puppeteer](https://www.anchorterminal.com/compare/browser-use-vs-puppeteer.md)\n- [Browserbase vs Puppeteer](https://www.anchorterminal.com/compare/browserbase-vs-puppeteer.md)\n- [Browserless vs Notte](https://www.anchorterminal.com/compare/browserless-vs-notte.md)\n- [Browserless vs Puppeteer](https://www.anchorterminal.com/compare/browserless-vs-puppeteer.md)\n- [Chrome DevTools MCP vs Notte](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-notte.md)\n- [Chrome DevTools MCP vs Puppeteer](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-puppeteer.md)\n- [Hyperbrowser vs Notte](https://www.anchorterminal.com/compare/hyperbrowser-vs-notte.md)\n- [Hyperbrowser vs Puppeteer](https://www.anchorterminal.com/compare/hyperbrowser-vs-puppeteer.md)\n- [Notte vs Playwright MCP](https://www.anchorterminal.com/compare/notte-vs-playwright-mcp.md)\n- [Notte vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/notte-vs-puppeteer-reference-server-archived.md)\n- [Notte vs Selenium](https://www.anchorterminal.com/compare/notte-vs-selenium.md)\n- [Notte vs Skyvern](https://www.anchorterminal.com/compare/notte-vs-skyvern.md)\n- [Notte vs Steel](https://www.anchorterminal.com/compare/notte-vs-steel.md)\n- [Notte vs TinyFish](https://www.anchorterminal.com/compare/notte-vs-tinyfish.md)\n- [Playwright MCP vs Puppeteer](https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer.md)\n- [Puppeteer vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/puppeteer-vs-puppeteer-reference-server-archived.md)\n- [Puppeteer vs Selenium](https://www.anchorterminal.com/compare/puppeteer-vs-selenium.md)\n- [Puppeteer vs Skyvern](https://www.anchorterminal.com/compare/puppeteer-vs-skyvern.md)\n- [Puppeteer vs Steel](https://www.anchorterminal.com/compare/puppeteer-vs-steel.md)\n- [Puppeteer vs TinyFish](https://www.anchorterminal.com/compare/puppeteer-vs-tinyfish.md)\n- [Browserbase vs Notte](https://www.anchorterminal.com/compare/browserbase-vs-notte.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": "Notte vs Puppeteer",
        "url": ""
      }
    ],
    "description": "Puppeteer scores 70.6 (BB) to Notte's 63.2 (B) for browser automation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Notte B 63.2",
      "Puppeteer BB 70.6",
      "scores"
    ],
    "h1": "Notte vs Puppeteer",
    "image": "https://www.anchorterminal.com/assets/og/compare-notte-vs-puppeteer.png",
    "path": "/compare/notte-vs-puppeteer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Notte vs Puppeteer for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/notte-vs-puppeteer"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 730
  },
  "version": 1
}
