{
  "data": {
    "a": {
      "slug": "browserless",
      "name": "Browserless",
      "vendor": "browserless.io, Inc.",
      "vendorUrl": "https://www.browserless.io",
      "kind": "http-api",
      "category": "browser",
      "summary": "Browserless runs hosted headless browsers that agents drive over CDP, Playwright, REST endpoints, BrowserQL or its official MCP server. The same software can be self-hosted from a Docker image.",
      "url": "https://www.anchorterminal.com/tools/browserless",
      "markdownUrl": "https://www.anchorterminal.com/tools/browserless.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/browserless.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/browserless.json",
      "repo": "https://github.com/browserless/browserless",
      "license": "SSPL 1.0 or a commercial licence for the core server and the MCP server. The BAP TypeScript SDK is MIT. BrowserQL, stealth and other cloud additions are proprietary",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://production-sfo.browserless.io",
      "packages": [
        {
          "registry": "npm",
          "name": "@browserless.io/mcp"
        },
        {
          "registry": "npm",
          "name": "@browserless.io/bap-ts"
        },
        {
          "registry": "npm",
          "name": "@browserless.io/browserless"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API token from the account dashboard after signing up in a browser. REST, BrowserQL and WebSocket routes take it as `?token=` in the URL. The hosted MCP server accepts OAuth sign-in with a Browserless account, an `Authorization: Bearer` header, or `?token=` for URL-only clients. An account holds up to 20 named tokens, each shown once and revocable on its own. Cloud tokens have no scopes. The admin, developer and viewer token roles apply to self-hosted Enterprise containers only.",
      "pricing": "freemium",
      "pricingNotes": "Free with 1,000 units a month, 2 concurrent browsers and 2-minute sessions, no card. A unit is up to 30 seconds of browser time. Prototyping is $35 a month ($25 billed annually) with 20,000 units, then $0.0020 a unit. Starter is $200 ($140) with 180,000 units, then $0.0017. Scale is $500 ($350) with 500,000 units, then $0.0015. Enterprise and self-hosting licences are priced by sales. An agent can start on the free plan once a person has signed up (https://www.browserless.io/pricing, checked 2026-10-08).",
      "priceSummary": "$0.002 / credit",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs (llms-full.txt), the OpenAPI document or the pricing page (checked 2026-10-08). The Stripe Link checkout tools are for an agent paying a merchant, not for paying Browserless.",
        "endpoints": []
      },
      "toolCount": 14,
      "popularity": {
        "githubStars": 13786,
        "npmWeekly": 3484,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.browserless.io",
      "llmsTxt": "https://docs.browserless.io/llms.txt",
      "openapi": "https://www.browserless.io/swagger.json",
      "capabilities": [
        "browser.control",
        "browser.hosted",
        "browser.debug",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.proxies",
        "web.scrape",
        "web.crawl",
        "web.search",
        "pdf.generate"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "typescript",
        "source-available",
        "commercial-licence",
        "proxies",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 148,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 82,
          "payments": 40,
          "reliability": 82,
          "schema": 89,
          "security": 53,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "An OpenAPI document, llms.txt and a 14-tool MCP server with annotations on every tool make the service easy for an agent to read, and the free plan needs no card. The API token travels in the URL query string by default, cloud tokens carry no scopes, and no machine payment route exists.",
        "bestFor": "Agents that need a real browser in the cloud with stealth, proxies and CAPTCHA solving, and teams that want the option of running the same server themselves.",
        "strengths": [
          "OpenAPI 3.0.0 document with 87 paths, llms.txt, llms-full.txt and Markdown twins of the docs",
          "Hosted MCP server at mcp.browserless.io with 14 documented tools, each carrying read-only and destructive annotations",
          "Free plan with 1,000 units a month and no card, with per-unit overage prices published for paid plans",
          "Up to 20 named API tokens per account, each revocable on its own, plus request logs filterable by key",
          "MCP server released 32 times between 10 July and 5 October 2026, with a dated changelog in the repository"
        ],
        "weaknesses": [
          "REST and WebSocket routes take the API token as `?token=` in the URL, which the docs give as the standard method",
          "Cloud tokens have no scopes or roles. Token roles exist only on self-hosted Enterprise containers",
          "No x402, MPP or L402, and an account needs a person to sign up in a browser",
          "No prompt-injection guidance found in the docs or in the MCP agent prompt",
          "The terms allow the service to be changed or discontinued without notice, and the subprocessor list is on request only"
        ],
        "agentNotes": [
          "Send the token as `Authorization: Bearer` to the MCP server. On REST and WebSocket routes it goes in `?token=`, so keep those URLs out of logs",
          "Close sessions as soon as the work is done. Browser time bills one unit per 30 seconds, rounded up, idle or not",
          "For multi-step work with `browserless_agent`, set `keepSessionAlive: true` on the first call and pass the returned `sessionId` after that. Sessions are one-shot by default since server 1.33.0",
          "On 429, back off and retry. It means the plan's concurrency limit or queue is full, usually from sessions left open",
          "Match the path to the protocol. Use `/chromium` for CDP clients and `/chromium/playwright` only for `playwright.connect()`"
        ],
        "metrics": {
          "kind": "remote",
          "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.4
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 82,
          "payments": 40,
          "reliability": 82,
          "schema": 89,
          "security": 53,
          "transparency": 47
        },
        "provenanceScore": 77
      },
      "connect": {
        "install": "npx -y @browserless.io/mcp",
        "http": "curl -X POST \"https://production-sfo.browserless.io/screenshot?token=YOUR_API_TOKEN_HERE\" -H \"Content-Type: application/json\" -d '{\"url\": \"https://scraping-sandbox.netlify.app/dashboard\"}' -o response.png",
        "claudeCode": "claude mcp add --transport http browserless https://mcp.browserless.io/mcp --header \"Authorization: Bearer YOUR_API_TOKEN_HERE\"",
        "config": {
          "mcpServers": {
            "browserless": {
              "headers": {
                "Authorization": "Bearer YOUR_API_TOKEN_HERE"
              },
              "type": "http",
              "url": "https://mcp.browserless.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/browserless"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Unit overage, Prototyping plan",
          "unit": "credit",
          "usd": 0.002,
          "note": "One unit is up to 30 seconds of browser time"
        },
        {
          "item": "Unit overage, Starter plan",
          "unit": "credit",
          "usd": 0.0017
        },
        {
          "item": "Unit overage, Scale plan",
          "unit": "credit",
          "usd": 0.0015
        },
        {
          "item": "Browser time at the overage rate, Prototyping plan",
          "unit": "browser-hour",
          "usd": 0.24,
          "note": "Our arithmetic, 120 units at $0.0020"
        },
        {
          "item": "Browser time at the overage rate, Starter plan",
          "unit": "browser-hour",
          "usd": 0.204,
          "note": "Our arithmetic, 120 units at $0.0017"
        },
        {
          "item": "Browser time at the overage rate, Scale plan",
          "unit": "browser-hour",
          "usd": 0.18,
          "note": "Our arithmetic, 120 units at $0.0015"
        },
        {
          "item": "Prototyping plan",
          "unit": "month",
          "usd": 35,
          "note": "20,000 units, $25 a month billed annually"
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 200,
          "note": "180,000 units, $140 a month billed annually"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 500,
          "note": "500,000 units, $350 a month billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "browserless.io, Inc.",
        "domain": "browserless.io",
        "domainRegistered": "2017-09-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.browserless.io/terms-of-service",
        "privacy": "https://www.browserless.io/privacy-policy",
        "statusPage": "https://status.browserless.io",
        "changelog": "https://www.browserless.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service name browserless.io, Inc., 23207 NE 192nd Ct, Battle Ground, WA 98604, United States. Neither the terms nor the privacy policy carries a date.",
          "www.browserless.io/.well-known/security.txt and docs.browserless.io/.well-known/security.txt both return 404. The trust centre sends vulnerability reports to security@browserless.io.",
          "RDAP for browserless.io gives a registration date of 2017-09-06.",
          "The API answers at production-sfo, production-lon and production-ams.browserless.io and the MCP server at mcp.browserless.io. The OAuth metadata at data.browserless.io names a supabase.co issuer."
        ],
        "score": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/browserless.json",
      "live": {
        "slug": "browserless",
        "probe": {
          "target": "https://production-sfo.browserless.io",
          "method": "get",
          "lastAt": "2026-10-09T09:26:45.789424303Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 457,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 437,
          "p95ms24h": 492,
          "samples24h": 194,
          "samples30d": 194,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 101,
              "ok": 101
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.browserless.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:40.838680212Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "browserless/browserless",
            "version": "v2.57.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-08T16:04:11.420407881Z"
          },
          {
            "registry": "npm",
            "name": "@browserless.io/bap-ts",
            "version": "2.0.0",
            "seenAt": "2026-10-08T16:04:09.167089658Z"
          },
          {
            "registry": "npm",
            "name": "@browserless.io/browserless",
            "version": "2.57.0",
            "seenAt": "2026-10-08T16:04:09.383268902Z"
          },
          {
            "registry": "npm",
            "name": "@browserless.io/mcp",
            "version": "1.36.0",
            "seenAt": "2026-10-08T16:04:05.40282872Z"
          }
        ],
        "githubStars": 13789,
        "npmWeekly": 3484,
        "securityTxt": {
          "url": "https://browserless.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:39.246027784Z"
        },
        "pages": [
          {
            "url": "https://www.browserless.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:50.435621953Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fe50f4cf4543"
          },
          {
            "url": "https://www.browserless.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:52.807666862Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4b721f855891"
          },
          {
            "url": "https://www.browserless.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:54.678161564Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2d27c63baca4"
          },
          {
            "url": "https://www.browserless.io/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:56.798474291Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "407b3dff8ee7"
          }
        ],
        "updatedAt": "2026-10-09T09:26:45.789424303Z"
      }
    },
    "answer": "Browserless scores 70.4 (BB) on agent readiness against TinyFish's 67.7 (B), and leads in 4 of 7 scored categories. TinyFish leads on payments \u0026 pricing.",
    "b": {
      "slug": "tinyfish",
      "name": "TinyFish",
      "vendor": "Tiny Fish, Inc.",
      "vendorUrl": "https://www.tinyfish.ai",
      "kind": "http-api",
      "category": "browser",
      "summary": "TinyFish is a hosted web agent platform from Tiny Fish, Inc. Agents call it through REST APIs for goal-driven automation, remote browser sessions over CDP, search, fetch and research, or through a remote MCP server with OAuth.",
      "url": "https://www.anchorterminal.com/tools/tinyfish",
      "markdownUrl": "https://www.anchorterminal.com/tools/tinyfish.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tinyfish.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tinyfish.json",
      "repo": "https://github.com/tinyfish-io/tinyfish-mcp-server",
      "license": "Proprietary service under Tiny Fish's terms of service. The MCP proxy `@tiny-fish/mcp` and the cookbook are MIT. The SDK packages state no licence in npm or PyPI metadata",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://agent.tinyfish.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "tinyfish"
        },
        {
          "registry": "npm",
          "name": "@tiny-fish/sdk"
        },
        {
          "registry": "npm",
          "name": "@tiny-fish/cli"
        },
        {
          "registry": "npm",
          "name": "@tiny-fish/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key from agent.tinyfish.ai/api-keys, sent in the `X-API-Key` header on every REST call. Keys are shown once and can be deleted, and no scopes were found. The MCP server at `https://agent.tinyfish.ai/mcp` uses OAuth 2.1 with a browser sign-in, or a key as a Bearer token for clients without OAuth. No sales approval is needed.",
      "pricing": "freemium",
      "pricingNotes": "Search and Fetch are free up to 12,000 requests and 1,000 URLs a day. Agent runs cost $0.016 a step and Browser sessions $0.002 a minute, drawn from a prepaid wallet with a $10 minimum top-up and no subscription. New accounts start with $8 of wallet funds and need no card, so an agent's owner can start without a contract. Enterprise is by contract (https://www.tinyfish.ai/pricing).",
      "priceSummary": "$0.016 / call",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or L402 in the docs or the OpenAPI documents. `POST /v1/wallet/top-up` accepts the Machine Payments Protocol with a Stripe Shared Payment Token to refill the prepaid wallet ($10 to $500), for accounts in a gradual rollout and with an API key (https://docs.tinyfish.ai/agent-payments.md, checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 5721,
        "pypiWeekly": 6540,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.tinyfish.ai",
      "llmsTxt": "https://docs.tinyfish.ai/llms.txt",
      "openapi": "https://agent.tinyfish.ai/v1/openapi/main",
      "registryName": "ai.tinyfish.agent/web-agent",
      "capabilities": [
        "browser.control",
        "browser.hosted",
        "web.extract",
        "web.fetch",
        "web.search",
        "search.research",
        "scraping.proxies",
        "scraping.anti-bot"
      ],
      "tags": [
        "official",
        "hosted",
        "freemium",
        "no-card",
        "prepaid",
        "mpp",
        "openapi",
        "llms-txt",
        "mcp",
        "oauth",
        "api-key",
        "python",
        "typescript",
        "cli",
        "webhooks",
        "status-page",
        "pre-1.0"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.7,
        "grade": "B",
        "agentReady": false,
        "rank": 227,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 55,
          "reliability": 60,
          "schema": 85,
          "security": 57,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "OpenAPI documents are published for five APIs, errors carry typed codes and request IDs, and Search and Fetch are free within daily allowances. The terms let Tiny Fish train its models on customer data, run creation takes no idempotency keys, and the status page shows an hour or more of downtime on several days for the Browser and Search APIs.",
        "bestFor": "Agents that want one account for a goal-driven web agent, a raw CDP browser, and free search and fetch.",
        "strengths": [
          "OpenAPI 3.0 documents for the Agent, Browser, Fetch, Search and Research APIs, plus `llms.txt`, `llms-full.txt` and a Markdown twin of every docs page",
          "Search and Fetch are free up to 12,000 requests and 1,000 URLs a day, and new accounts start with $8 of wallet funds with no card",
          "Errors carry a code, a message, optional `details` and a `request_id`. Search and Fetch 429s carry `Retry-After` and `X-RateLimit-*` headers",
          "Remote MCP server at `https://agent.tinyfish.ai/mcp` with OAuth 2.1, listed in the official MCP registry as `ai.tinyfish.agent/web-agent`",
          "Vault credentials from 1Password or Bitwarden are opt-in per run and can be limited with `credential_item_ids`. The docs say the agent never sees the passwords",
          "A valid security.txt and a disclosure policy (v1.1, 15 September 2026) with safe harbour and response times"
        ],
        "weaknesses": [
          "The terms of 17 August 2026 allow Tiny Fish to train and improve its models on customer data. No opt-out was found in the reviewed pages",
          "The status page shows downtime of an hour or more on six days for the Browser API and five for the Search API between 11 July and 8 October 2026, with no incident write-ups",
          "No idempotency keys on run or session creation. The docs say retrying a failed request may create duplicate runs",
          "API keys have no scopes and no read-only mode was found. No prompt-injection guidance was found in the API docs",
          "No retention periods, public DPA or subprocessor list on the pages we could read. The trust centre is drawn by script and was unread",
          "The Pulse changelog's newest entry is 22 June 2026, and the Python and TypeScript SDKs are 0.x with no public source repository found"
        ],
        "agentNotes": [
          "Check `result` as well as `status`. A run can be `COMPLETED` while the goal failed, with `result.status` set to `failure`",
          "Don't retry `POST /v1/automation/run` blindly after a timeout. There are no idempotency keys, so list runs first to avoid duplicates",
          "Use `/v1/automation/run-async` or `/run-sse` when a run may need cancelling. Runs started with the synchronous endpoint can't be cancelled",
          "Allow 60 seconds for Browser session creation, connect Playwright to `cdp_url` (not `base_url`), and `DELETE` the session when done because billing is per minute",
          "Never put passwords in `goal`, which is logged. Pass `use_vault: true` with `credential_item_ids`, or `use_profile: true` for saved login state"
        ],
        "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": 67.7
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 55,
          "reliability": 60,
          "schema": 85,
          "security": 57,
          "transparency": 32
        },
        "provenanceScore": 85
      },
      "connect": {
        "install": "pip install -U tinyfish",
        "http": "curl -X POST https://agent.tinyfish.ai/v1/automation/run -H \"X-API-Key: $TINYFISH_API_KEY\" -H \"Content-Type: application/json\" -d '{\"url\": \"https://example.com\", \"goal\": \"Extract the page title\"}'",
        "claudeCode": "claude mcp add --transport http tinyfish https://agent.tinyfish.ai/mcp",
        "config": {
          "mcpServers": {
            "tinyfish": {
              "url": "https://agent.tinyfish.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/tinyfish"
      },
      "sameCompany": [
        "tinyfish-search"
      ],
      "area": "developer",
      "unitPrices": [
        {
          "item": "Agent step",
          "unit": "call",
          "usd": 0.016,
          "note": "Model inference, residential proxy and anti-bot handling included per the pricing page"
        },
        {
          "item": "Browser session",
          "unit": "browser-hour",
          "usd": 0.12,
          "note": "Billed at $0.002 a minute"
        },
        {
          "item": "Search",
          "unit": "1k-requests",
          "usd": 0,
          "note": "Free up to 12,000 requests a day, 30 a minute"
        },
        {
          "item": "Fetch",
          "unit": "1k-pages",
          "usd": 0,
          "note": "Free up to 1,000 URLs a day, 150 a minute"
        },
        {
          "item": "Monitor run",
          "unit": "call",
          "usd": 0.005,
          "note": "Per completed run, failed runs free, per the MCP docs"
        }
      ],
      "provenance": {
        "legalEntity": "Tiny Fish, Inc.",
        "domain": "tinyfish.ai",
        "domainRegistered": "2023-02-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tinyfish.ai/terms",
        "privacy": "https://www.tinyfish.ai/privacy-policy",
        "statusPage": "https://agent.tinyfish.ai/status",
        "changelog": "https://www.tinyfish.ai/pulse",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service, effective 17 August 2026, name Tiny Fish, Inc., a Delaware corporation at 4410 El Camino Real, Los Altos, CA 94022, cover the APIs and the wallet, and choose California law.",
          "The privacy policy, effective 14 December 2025, names TinyFish Inc. in Cupertino, California, and covers the website, products and services.",
          "The APIs answer at agent.tinyfish.ai, api.browser.tinyfish.ai, api.search.tinyfish.ai and api.fetch.tinyfish.ai. The docs' example `cdp_url` is on a tinyfish.io subdomain, the vendor's second domain.",
          "www.tinyfish.ai/.well-known/security.txt gives a contact, a policy link and an expiry of 1 September 2027.",
          "RDAP for tinyfish.ai gives a registration date of 2023-02-06.",
          "Pulse, the product changelog, has its newest entry dated 22 June 2026. Current release dates come from npm and PyPI.",
          "The same GitHub organisation, tinyfish-io, publishes AgentQL, which is a separate product and isn't graded here."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tinyfish.json",
      "live": {
        "slug": "tinyfish",
        "probe": {
          "target": "https://agent.tinyfish.ai",
          "method": "get",
          "lastAt": "2026-10-09T09:27:07.559977621Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 608,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 645,
          "p95ms24h": 705,
          "samples24h": 20,
          "samples30d": 20,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://agent.tinyfish.ai/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:36.020771067Z"
        },
        "updatedAt": "2026-10-09T09:27:07.559977621Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "browserless.io, Inc.",
        "b": "Tiny Fish, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://production-sfo.browserless.io",
        "b": "https://agent.tinyfish.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "SSPL 1.0 or a commercial licence for the core server and the MCP server. The BAP TypeScript SDK is MIT. BrowserQL, stealth and other cloud additions are proprietary",
        "b": "Proprietary service under Tiny Fish's terms of service. The MCP proxy `@tiny-fish/mcp` and the cookbook are MIT. The SDK packages state no licence in npm or PyPI metadata",
        "name": "Licence"
      },
      {
        "a": "14",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "ai.tinyfish.agent/web-agent",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-05",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-08-17",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-12-14",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "14k stars, 3.5k npm/wk",
        "b": "5.7k npm/wk, 6.5k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Browserless scores 70.4 (BB) on agent readiness against TinyFish's 67.7 (B), and leads in 4 of 7 scored categories. TinyFish leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Browserless or TinyFish?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Browserless and TinyFish need an API key?"
      },
      {
        "answer": "Yes. Browserless has a hosted endpoint at https://production-sfo.browserless.io and TinyFish at https://agent.tinyfish.ai.",
        "question": "Can an agent call Browserless and TinyFish without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 82 against 60"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "Agents that need a real browser in the cloud with stealth, proxies and CAPTCHA solving, and teams that want the option of running the same server themselves.",
        "slug": "browserless",
        "watchFor": "REST and WebSocket routes take the API token as `?token=` in the URL, which the docs give as the standard method"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 55 against 40"
        ],
        "also": null,
        "goodFor": "Agents that want one account for a goal-driven web agent, a raw CDP browser, and free search and fetch.",
        "slug": "tinyfish",
        "watchFor": "The terms of 17 August 2026 allow Tiny Fish to train and improve its models on customer data. No opt-out was found in the reviewed pages"
      }
    ],
    "job": {
      "capability": "browser.control",
      "name": "Browser automation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-browserless.json",
        "title": "agent-browser vs Browserless",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-tinyfish.json",
        "title": "agent-browser vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-browserless.json",
        "title": "Airtop vs Browserless",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-tinyfish.json",
        "title": "Airtop vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-browserless.json",
        "title": "Anchor Browser vs Browserless",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-tinyfish.json",
        "title": "Anchor Browser vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-browserless.json",
        "title": "Browser Use vs Browserless",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-tinyfish.json",
        "title": "Browser Use vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-chrome-devtools-mcp.json",
        "title": "Browserless vs Chrome DevTools MCP",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-chrome-devtools-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-hyperbrowser.json",
        "title": "Browserless vs Hyperbrowser",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-hyperbrowser"
      },
      {
        "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-playwright-mcp.json",
        "title": "Browserless vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-puppeteer-reference-server-archived.json",
        "title": "Browserless vs Puppeteer (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-puppeteer-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-skyvern.json",
        "title": "Browserless vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-skyvern"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-steel.json",
        "title": "Browserless vs Steel",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-tinyfish.json",
        "title": "Chrome DevTools MCP vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-tinyfish.json",
        "title": "Hyperbrowser vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-tinyfish"
      },
      {
        "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-tinyfish.json",
        "title": "Playwright MCP vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-tinyfish.json",
        "title": "Puppeteer (archived MCP reference server) vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/skyvern-vs-tinyfish.json",
        "title": "Skyvern vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/skyvern-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/steel-vs-tinyfish.json",
        "title": "Steel vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/steel-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-browserless.json",
        "title": "Browserbase vs Browserless",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-tinyfish.json",
        "title": "Browserbase vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-tinyfish"
      }
    ],
    "scores": [
      {
        "browserless": 82,
        "by": 22,
        "edge": "browserless",
        "key": "reliability",
        "name": "Reliability",
        "tinyfish": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "browserless": 89,
        "by": 4,
        "edge": "browserless",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tinyfish": 85,
        "weight": 13
      },
      {
        "browserless": 78,
        "by": 1,
        "edge": "tinyfish",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tinyfish": 79,
        "weight": 13
      },
      {
        "browserless": 53,
        "by": 4,
        "edge": "tinyfish",
        "key": "security",
        "name": "Security \u0026 auth",
        "tinyfish": 57,
        "weight": 14
      },
      {
        "browserless": 40,
        "by": 15,
        "edge": "tinyfish",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tinyfish": 55,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "browserless": 82,
        "by": 2,
        "edge": "browserless",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tinyfish": 80,
        "weight": 7
      },
      {
        "browserless": 62,
        "by": 3,
        "edge": "browserless",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tinyfish": 59,
        "weight": 7
      }
    ],
    "summary": "Browserless scores 70.4 (BB) on agent readiness against TinyFish's 67.7 (B), and leads in 4 of 7 scored categories. TinyFish leads on payments \u0026 pricing. Both do browser automation.",
    "verdicts": {
      "browserless": "An OpenAPI document, llms.txt and a 14-tool MCP server with annotations on every tool make the service easy for an agent to read, and the free plan needs no card. The API token travels in the URL query string by default, cloud tokens carry no scopes, and no machine payment route exists.",
      "tinyfish": "OpenAPI documents are published for five APIs, errors carry typed codes and request IDs, and Search and Fetch are free within daily allowances. The terms let Tiny Fish train its models on customer data, run creation takes no idempotency keys, and the status page shows an hour or more of downtime on several days for the Browser and Search APIs."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/browserless-vs-tinyfish",
    "json": "https://www.anchorterminal.com/compare/browserless-vs-tinyfish.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/browserless-vs-tinyfish.md",
    "slim": "https://www.anchorterminal.com/compare/browserless-vs-tinyfish.min.md"
  },
  "markdown": "Browserless scores 70.4 (BB) on agent readiness against TinyFish's 67.7 (B), and leads in 4 of 7 scored categories. TinyFish leads on payments \u0026 pricing. Both do browser automation.\n\n- Browserless: grade BB, 70.4/100, rank #148 of 842. Markdown https://www.anchorterminal.com/tools/browserless.md · JSON https://www.anchorterminal.com/api/v1/tools/browserless.json\n- TinyFish: grade B, 67.7/100, rank #227 of 842. Markdown https://www.anchorterminal.com/tools/tinyfish.md · JSON https://www.anchorterminal.com/api/v1/tools/tinyfish.json\n\n## Which one, for what\n\n### Browserless (BB)\n\nGood for: Agents that need a real browser in the cloud with stealth, proxies and CAPTCHA solving, and teams that want the option of running the same server themselves.\n\nAhead on:\n- Reliability, 82 against 60\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: REST and WebSocket routes take the API token as `?token=` in the URL, which the docs give as the standard method\n\n### TinyFish (B)\n\nGood for: Agents that want one account for a goal-driven web agent, a raw CDP browser, and free search and fetch.\n\nAhead on:\n- Payments \u0026 pricing, 55 against 40\n\nWatch for: The terms of 17 August 2026 allow Tiny Fish to train and improve its models on customer data. No opt-out was found in the reviewed pages\n\n\n## Score by category\n\n| Category | Weight | Browserless | TinyFish | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 82 | 60 | Browserless +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 85 | Browserless +4 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 79 | TinyFish +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 57 | TinyFish +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 55 | TinyFish +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 80 | Browserless +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 59 | Browserless +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.4 · BB** | **67.7 · B** | |\n\n## Facts side by side\n\n| Fact | Browserless | TinyFish |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | browserless.io, Inc. | Tiny Fish, Inc. |\n| Hosted endpoint | `https://production-sfo.browserless.io` | `https://agent.tinyfish.ai` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | SSPL 1.0 or a commercial licence for the core server and the MCP server. The BAP TypeScript SDK is MIT. BrowserQL, stealth and other cloud additions are proprietary | Proprietary service under Tiny Fish's terms of service. The MCP proxy `@tiny-fish/mcp` and the cookbook are MIT. The SDK packages state no licence in npm or PyPI metadata |\n| Tools exposed | 14 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `ai.tinyfish.agent/web-agent` |\n| Last release | 2026-10-05 | 2026-10-07 |\n| Terms last updated | no date given | 2026-08-17 |\n| Privacy policy last updated | no date given | 2025-12-14 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 14k stars, 3.5k npm/wk | 5.7k npm/wk, 6.5k PyPI/wk |\n\n## Verdicts\n\n**Browserless.** An OpenAPI document, llms.txt and a 14-tool MCP server with annotations on every tool make the service easy for an agent to read, and the free plan needs no card. The API token travels in the URL query string by default, cloud tokens carry no scopes, and no machine payment route exists.\n\n**TinyFish.** OpenAPI documents are published for five APIs, errors carry typed codes and request IDs, and Search and Fetch are free within daily allowances. The terms let Tiny Fish train its models on customer data, run creation takes no idempotency keys, and the status page shows an hour or more of downtime on several days for the Browser and Search APIs.\n\n## Before you call either\n\n### Browserless\n\n1. Send the token as `Authorization: Bearer` to the MCP server. On REST and WebSocket routes it goes in `?token=`, so keep those URLs out of logs\n2. Close sessions as soon as the work is done. Browser time bills one unit per 30 seconds, rounded up, idle or not\n3. For multi-step work with `browserless_agent`, set `keepSessionAlive: true` on the first call and pass the returned `sessionId` after that. Sessions are one-shot by default since server 1.33.0\n4. On 429, back off and retry. It means the plan's concurrency limit or queue is full, usually from sessions left open\n5. Match the path to the protocol. Use `/chromium` for CDP clients and `/chromium/playwright` only for `playwright.connect()`\n\n### TinyFish\n\n1. Check `result` as well as `status`. A run can be `COMPLETED` while the goal failed, with `result.status` set to `failure`\n2. Don't retry `POST /v1/automation/run` blindly after a timeout. There are no idempotency keys, so list runs first to avoid duplicates\n3. Use `/v1/automation/run-async` or `/run-sse` when a run may need cancelling. Runs started with the synchronous endpoint can't be cancelled\n4. Allow 60 seconds for Browser session creation, connect Playwright to `cdp_url` (not `base_url`), and `DELETE` the session when done because billing is per minute\n5. Never put passwords in `goal`, which is logged. Pass `use_vault: true` with `credential_item_ids`, or `use_profile: true` for saved login state\n\n## Questions\n\n### Which is better for AI agents, Browserless or TinyFish?\n\nBrowserless scores 70.4 (BB) on agent readiness against TinyFish's 67.7 (B), and leads in 4 of 7 scored categories. TinyFish leads on payments \u0026 pricing.\n\n### Do Browserless and TinyFish need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Browserless and TinyFish without installing anything?\n\nYes. Browserless has a hosted endpoint at https://production-sfo.browserless.io and TinyFish at https://agent.tinyfish.ai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/browserless-vs-tinyfish.json, and with the fewest tokens: https://www.anchorterminal.com/compare/browserless-vs-tinyfish.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"browserless\", \"b\": \"tinyfish\"}`. From a terminal: `anchor compare browserless tinyfish`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/browserless.json and https://www.anchorterminal.com/api/v1/tools/tinyfish.json\n\n## Other comparisons with Browserless or TinyFish\n\n- [agent-browser vs Browserless](https://www.anchorterminal.com/compare/agent-browser-vs-browserless.md)\n- [agent-browser vs TinyFish](https://www.anchorterminal.com/compare/agent-browser-vs-tinyfish.md)\n- [Airtop vs Browserless](https://www.anchorterminal.com/compare/airtop-vs-browserless.md)\n- [Airtop vs TinyFish](https://www.anchorterminal.com/compare/airtop-vs-tinyfish.md)\n- [Anchor Browser vs Browserless](https://www.anchorterminal.com/compare/anchor-browser-vs-browserless.md)\n- [Anchor Browser vs TinyFish](https://www.anchorterminal.com/compare/anchor-browser-vs-tinyfish.md)\n- [Browser Use vs Browserless](https://www.anchorterminal.com/compare/browser-use-vs-browserless.md)\n- [Browser Use vs TinyFish](https://www.anchorterminal.com/compare/browser-use-vs-tinyfish.md)\n- [Browserless vs Chrome DevTools MCP](https://www.anchorterminal.com/compare/browserless-vs-chrome-devtools-mcp.md)\n- [Browserless vs Hyperbrowser](https://www.anchorterminal.com/compare/browserless-vs-hyperbrowser.md)\n- [Browserless vs Notte](https://www.anchorterminal.com/compare/browserless-vs-notte.md)\n- [Browserless vs Playwright MCP](https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.md)\n- [Browserless vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/browserless-vs-puppeteer-reference-server-archived.md)\n- [Browserless vs Skyvern](https://www.anchorterminal.com/compare/browserless-vs-skyvern.md)\n- [Browserless vs Steel](https://www.anchorterminal.com/compare/browserless-vs-steel.md)\n- [Chrome DevTools MCP vs TinyFish](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-tinyfish.md)\n- [Hyperbrowser vs TinyFish](https://www.anchorterminal.com/compare/hyperbrowser-vs-tinyfish.md)\n- [Notte vs TinyFish](https://www.anchorterminal.com/compare/notte-vs-tinyfish.md)\n- [Playwright MCP vs TinyFish](https://www.anchorterminal.com/compare/playwright-mcp-vs-tinyfish.md)\n- [Puppeteer (archived MCP reference server) vs TinyFish](https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-tinyfish.md)\n- [Skyvern vs TinyFish](https://www.anchorterminal.com/compare/skyvern-vs-tinyfish.md)\n- [Steel vs TinyFish](https://www.anchorterminal.com/compare/steel-vs-tinyfish.md)\n- [Browserbase vs Browserless](https://www.anchorterminal.com/compare/browserbase-vs-browserless.md)\n- [Browserbase vs TinyFish](https://www.anchorterminal.com/compare/browserbase-vs-tinyfish.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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": "Browserless vs TinyFish",
        "url": ""
      }
    ],
    "description": "Browserless scores 70.4 (BB) on agent readiness against TinyFish's 67.7 (B), and leads in 4 of 7 scored categories. TinyFish leads on payments \u0026 pricing. Both do browser automation. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Browserless BB 70.4",
      "TinyFish B 67.7",
      "scores"
    ],
    "h1": "Browserless vs TinyFish",
    "image": "https://www.anchorterminal.com/assets/og/compare-browserless-vs-tinyfish.png",
    "path": "/compare/browserless-vs-tinyfish",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Browserless vs TinyFish for AI agents, BB 70.4 vs B 67.7",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/browserless-vs-tinyfish"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 730
  },
  "version": 1
}
