{
  "data": {
    "a": {
      "slug": "airtop",
      "name": "Airtop",
      "vendor": "Switchboard Visual Technologies, Inc. (dba Airtop)",
      "vendorUrl": "https://www.airtop.ai",
      "kind": "http-api",
      "category": "browser",
      "summary": "Airtop runs cloud browser sessions that an agent controls through a REST API, Node and Python SDKs, natural-language page calls, or Puppeteer, Playwright and Selenium connections. The same company sells Agent Builder, a no-code product for scheduled web agents.",
      "url": "https://www.anchorterminal.com/tools/airtop",
      "markdownUrl": "https://www.anchorterminal.com/tools/airtop.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/airtop.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/airtop.json",
      "repo": "https://github.com/airtop-ai/airtop-node-sdk",
      "license": "Proprietary cloud service under Airtop's terms of use. The Node and Python SDKs are MIT per npm and PyPI",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.airtop.ai/api",
      "packages": [
        {
          "registry": "npm",
          "name": "@airtop/sdk"
        },
        {
          "registry": "pypi",
          "name": "airtop"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key from the portal at portal.airtop.ai/api-keys after a browser signup, sent as `Authorization: Bearer` on https://api.airtop.ai/api/v1. Puppeteer and Playwright connect to the session's `cdpWsUrl`, and Selenium to its `chromedriverUrl`, with the same Bearer header, so the key stays out of URLs. A key works across its organisation, including saved profiles. No scopes, read-only keys, expiry or rotation were found in the reviewed documentation. The developers page mentions RBAC for enterprise access without detail.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 1,000 credits a month and 3 simultaneous sessions. Paid plans start at $29 a month (Starter, 30,000 credits), $189 (Professional, 225,000) and $558 (Enterprise, 775,000), each with larger credit options, and annual billing takes 10 per cent off. Credits pay for browser time (billed in 30-second increments), integrated proxy traffic and AI calls, but the credits charged per unit are not published. No one-off credit purchases, and unused credits do not carry over. The pricing page states a 10,000 one-time credit bonus on Free while the billing guide states 30,000. Whether signup needs a card is not stated (https://www.airtop.ai/pricing, https://www.airtop.ai/help/billing/billing, checked 2026-10-08).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI document or the pricing page. An unauthenticated GET to https://api.airtop.ai/api/v1/sessions on 2026-10-08 returned 401, not 402.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 16,
        "npmWeekly": 15505,
        "pypiWeekly": 246,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.airtop.ai",
      "llmsTxt": "https://docs.airtop.ai/llms.txt",
      "openapi": "https://docs.airtop.ai/openapi.json",
      "capabilities": [
        "browser.control",
        "browser.hosted",
        "browser.debug",
        "web.scrape",
        "scraping.proxies",
        "scraping.anti-bot"
      ],
      "tags": [
        "official",
        "hosted",
        "freemium",
        "api-key",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "proxies",
        "captcha",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-07-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.3,
        "grade": "C",
        "agentReady": false,
        "rank": 592,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 24,
          "payments": 25,
          "reliability": 69,
          "schema": 76,
          "security": 46,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The cloud browser API has a public OpenAPI 3.1 document, Markdown docs, natural-language page calls with a per-call credit cap, and a status page with no incident in the last 90 days. Credit rates for browser time, proxy traffic and AI calls are not published, and the developer changelog's last entry is dated 3 September 2025.",
        "bestFor": "Agents that need a hosted browser with natural-language page calls, saved logins handed over by a person, and proxies and CAPTCHA solving in one service.",
        "strengths": [
          "OpenAPI 3.1 document with 39 operations, an llms.txt index and a Markdown twin of every docs page",
          "The API key travels as a Bearer header on REST, CDP and Selenium connections, not in the URL",
          "Every AI call returns `meta.usage.credits` and accepts `costThresholdCredits` and `timeThresholdSeconds` to cap spend and time",
          "status.airtop.ai shows no incident between 10 July and 8 October 2026, only 30 minutes of scheduled maintenance on 18 August",
          "A person can log in through an embedded Live View, and the saved profile keeps the agent signed in without it seeing the password"
        ],
        "weaknesses": [
          "No published rate for what a browser minute, a GB of proxy traffic or an AI call costs in credits",
          "The developer changelog's last entry is 3 September 2025, and the stable Python SDK dates from 23 April 2025",
          "No request rate limits, 429 handling or idempotency keys found in the reviewed documentation",
          "No scoped or read-only API keys documented, and no guidance on prompt injection from page content",
          "No security.txt, bug bounty, public DPA or subprocessor list found. The SOC 2 report is on request"
        ],
        "agentNotes": [
          "Terminate every session with `DELETE /v1/sessions/{id}`. Sessions bill in 30-second increments and idle ones last 10 minutes by default",
          "Set `costThresholdCredits` on AI calls and read `meta.usage.credits` afterwards. Credit rates are not published, so measure them",
          "Use `page-query` with `configuration.outputSchema` for structured output. `prompt-content` and `summarize-content` are deprecated",
          "When calling REST without the SDK, poll session status until `running` before creating a window. Only the SDK waits for you",
          "Airtop's integrated proxy cannot reach LinkedIn, ticketing sites and some banks and streaming services. Bring a custom proxy for those"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.3
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 24,
          "payments": 25,
          "reliability": 69,
          "schema": 76,
          "security": 46,
          "transparency": 42
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "npm i -s @airtop/sdk",
        "http": "curl -X POST https://api.airtop.ai/api/v1/sessions -H \"Authorization: Bearer YOUR_AIRTOP_API_KEY\" -H \"Content-Type: application/json\" -d '{}'"
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/airtop"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 29,
          "note": "30,000 credits, larger credit options cost more"
        },
        {
          "item": "Professional plan",
          "unit": "month",
          "usd": 189,
          "note": "225,000 credits, 30 simultaneous sessions"
        },
        {
          "item": "Enterprise plan",
          "unit": "month",
          "usd": 558,
          "note": "775,000 credits, 100 simultaneous sessions"
        }
      ],
      "provenance": {
        "legalEntity": "Switchboard Visual Technologies, Inc. (dba Airtop)",
        "domain": "airtop.ai",
        "domainRegistered": "2024-07-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.airtop.ai/tos",
        "privacy": "https://www.airtop.ai/privacy",
        "statusPage": "https://status.airtop.ai",
        "changelog": "https://docs.airtop.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Use (effective 28 July 2025) are a contract with Switchboard Visual Technologies, Inc dba Airtop, 3277 S. White Rd., PMB 14328, San Jose, CA 95148, under California law. They cover the website, products, services and applications, and no separate API or service agreement was found.",
          "The privacy policy was updated on 2 September 2025 and says the services are hosted in the United States.",
          "The API answers at api.airtop.ai, Live View at live.airtop.ai and the portal at portal.airtop.ai.",
          "www.airtop.ai/.well-known/security.txt and docs.airtop.ai/.well-known/security.txt both return 404.",
          "RDAP for airtop.ai gives a registration date of 2024-07-08.",
          "The status page runs on Instatus with one component, App. The trust centre at trust.airtop.ai is a Vanta page that needs JavaScript and was not read.",
          "There are two changelogs. docs.airtop.ai/changelog covers the browser API and ends on 3 September 2025. www.airtop.ai/help/changelog covers Agent Builder and has one entry, 5 August 2026."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/airtop.json",
      "live": {
        "slug": "airtop",
        "probe": {
          "target": "https://api.airtop.ai/api",
          "method": "get",
          "lastAt": "2026-10-09T09:26:41.65761898Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 325,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 295,
          "p95ms24h": 316,
          "samples24h": 171,
          "samples30d": 171,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 70,
              "ok": 70
            },
            {
              "date": "2026-10-09",
              "probes": 101,
              "ok": 101
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.airtop.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:35.440116904Z"
        },
        "pages": [
          {
            "url": "https://docs.airtop.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:10.014971821Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c3630d9e2345"
          },
          {
            "url": "https://www.airtop.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:01.944890702Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "38896fa721d2"
          },
          {
            "url": "https://www.airtop.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:04.133677205Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ee64836a6ed3"
          },
          {
            "url": "https://www.airtop.ai/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:06.187954482Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d7cae0ea0d26"
          }
        ],
        "updatedAt": "2026-10-09T09:26:41.65761898Z"
      }
    },
    "answer": "TinyFish scores 67.7 (B) on agent readiness against Airtop's 55.3 (C), and leads in 5 of 7 scored categories. Airtop leads on reliability.",
    "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": "Switchboard Visual Technologies, Inc. (dba Airtop)",
        "b": "Tiny Fish, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.airtop.ai/api",
        "b": "https://agent.tinyfish.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary cloud service under Airtop's terms of use. The Node and Python SDKs are MIT per npm and PyPI",
        "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": "no",
        "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-07-01",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2025-07-29",
        "b": "2026-08-17",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-02",
        "b": "2025-12-14",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "16 stars, 16k npm/wk, 246 PyPI/wk",
        "b": "5.7k npm/wk, 6.5k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "TinyFish scores 67.7 (B) on agent readiness against Airtop's 55.3 (C), and leads in 5 of 7 scored categories. Airtop leads on reliability.",
        "question": "Which is better for AI agents, Airtop or TinyFish?"
      },
      {
        "answer": "Airtop needs an API key. TinyFish takes an API key or an OAuth sign-in.",
        "question": "Do Airtop and TinyFish need an API key?"
      },
      {
        "answer": "Yes. Airtop has a hosted endpoint at https://api.airtop.ai/api and TinyFish at https://agent.tinyfish.ai.",
        "question": "Can an agent call Airtop and TinyFish without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 69 against 60"
        ],
        "also": null,
        "goodFor": "Agents that need a hosted browser with natural-language page calls, saved logins handed over by a person, and proxies and CAPTCHA solving in one service.",
        "slug": "airtop",
        "watchFor": "No published rate for what a browser minute, a GB of proxy traffic or an AI call costs in credits"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 76",
          "Agent ergonomics, 79 against 65",
          "Security \u0026 auth, 57 against 46",
          "Payments \u0026 pricing, 55 against 25",
          "Maintenance \u0026 community, 80 against 24"
        ],
        "also": [
          "Free to start without a card"
        ],
        "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-airtop.json",
        "title": "agent-browser vs Airtop",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-airtop"
      },
      {
        "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-anchor-browser.json",
        "title": "Airtop vs Anchor Browser",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-anchor-browser"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-browser-use.json",
        "title": "Airtop vs Browser Use",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-browser-use"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-browserbase.json",
        "title": "Airtop vs Browserbase",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-browserbase"
      },
      {
        "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-chrome-devtools-mcp.json",
        "title": "Airtop vs Chrome DevTools MCP",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-chrome-devtools-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-hyperbrowser.json",
        "title": "Airtop vs Hyperbrowser",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-hyperbrowser"
      },
      {
        "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-playwright-mcp.json",
        "title": "Airtop vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-puppeteer-reference-server-archived.json",
        "title": "Airtop vs Puppeteer (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-puppeteer-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-skyvern.json",
        "title": "Airtop vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-skyvern"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-steel.json",
        "title": "Airtop vs Steel",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-steel"
      },
      {
        "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-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-tinyfish.json",
        "title": "Browserless vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-tinyfish"
      },
      {
        "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-tinyfish.json",
        "title": "Browserbase vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-tinyfish"
      }
    ],
    "scores": [
      {
        "airtop": 69,
        "by": 9,
        "edge": "airtop",
        "key": "reliability",
        "name": "Reliability",
        "tinyfish": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "airtop": 76,
        "by": 9,
        "edge": "tinyfish",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tinyfish": 85,
        "weight": 13
      },
      {
        "airtop": 65,
        "by": 14,
        "edge": "tinyfish",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tinyfish": 79,
        "weight": 13
      },
      {
        "airtop": 46,
        "by": 11,
        "edge": "tinyfish",
        "key": "security",
        "name": "Security \u0026 auth",
        "tinyfish": 57,
        "weight": 14
      },
      {
        "airtop": 25,
        "by": 30,
        "edge": "tinyfish",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tinyfish": 55,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "airtop": 24,
        "by": 56,
        "edge": "tinyfish",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tinyfish": 80,
        "weight": 7
      },
      {
        "airtop": 61,
        "by": 2,
        "edge": "airtop",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tinyfish": 59,
        "weight": 7
      }
    ],
    "summary": "TinyFish scores 67.7 (B) on agent readiness against Airtop's 55.3 (C), and leads in 5 of 7 scored categories. Airtop leads on reliability. Both do browser automation.",
    "verdicts": {
      "airtop": "The cloud browser API has a public OpenAPI 3.1 document, Markdown docs, natural-language page calls with a per-call credit cap, and a status page with no incident in the last 90 days. Credit rates for browser time, proxy traffic and AI calls are not published, and the developer changelog's last entry is dated 3 September 2025.",
      "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/airtop-vs-tinyfish",
    "json": "https://www.anchorterminal.com/compare/airtop-vs-tinyfish.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/airtop-vs-tinyfish.md",
    "slim": "https://www.anchorterminal.com/compare/airtop-vs-tinyfish.min.md"
  },
  "markdown": "TinyFish scores 67.7 (B) on agent readiness against Airtop's 55.3 (C), and leads in 5 of 7 scored categories. Airtop leads on reliability. Both do browser automation.\n\n- Airtop: grade C, 55.3/100, rank #592 of 842. Markdown https://www.anchorterminal.com/tools/airtop.md · JSON https://www.anchorterminal.com/api/v1/tools/airtop.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### Airtop (C)\n\nGood for: Agents that need a hosted browser with natural-language page calls, saved logins handed over by a person, and proxies and CAPTCHA solving in one service.\n\nAhead on:\n- Reliability, 69 against 60\n\nWatch for: No published rate for what a browser minute, a GB of proxy traffic or an AI call costs in credits\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- Schema \u0026 documentation, 85 against 76\n- Agent ergonomics, 79 against 65\n- Security \u0026 auth, 57 against 46\n- Payments \u0026 pricing, 55 against 25\n- Maintenance \u0026 community, 80 against 24\n\nAlso in its favour:\n- Free to start without a card\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 | Airtop | TinyFish | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 69 | 60 | Airtop +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 85 | TinyFish +9 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 79 | TinyFish +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 46 | 57 | TinyFish +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 55 | TinyFish +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 24 | 80 | TinyFish +56 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 59 | Airtop +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **55.3 · C** | **67.7 · B** | |\n\n## Facts side by side\n\n| Fact | Airtop | TinyFish |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Switchboard Visual Technologies, Inc. (dba Airtop) | Tiny Fish, Inc. |\n| Hosted endpoint | `https://api.airtop.ai/api` | `https://agent.tinyfish.ai` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary cloud service under Airtop's terms of use. The Node and Python SDKs are MIT per npm and PyPI | 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| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `ai.tinyfish.agent/web-agent` |\n| Last release | 2026-07-01 | 2026-10-07 |\n| Terms last updated | 2025-07-29 | 2026-08-17 |\n| Privacy policy last updated | 2025-09-02 | 2025-12-14 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 16 stars, 16k npm/wk, 246 PyPI/wk | 5.7k npm/wk, 6.5k PyPI/wk |\n\n## Verdicts\n\n**Airtop.** The cloud browser API has a public OpenAPI 3.1 document, Markdown docs, natural-language page calls with a per-call credit cap, and a status page with no incident in the last 90 days. Credit rates for browser time, proxy traffic and AI calls are not published, and the developer changelog's last entry is dated 3 September 2025.\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### Airtop\n\n1. Terminate every session with `DELETE /v1/sessions/{id}`. Sessions bill in 30-second increments and idle ones last 10 minutes by default\n2. Set `costThresholdCredits` on AI calls and read `meta.usage.credits` afterwards. Credit rates are not published, so measure them\n3. Use `page-query` with `configuration.outputSchema` for structured output. `prompt-content` and `summarize-content` are deprecated\n4. When calling REST without the SDK, poll session status until `running` before creating a window. Only the SDK waits for you\n5. Airtop's integrated proxy cannot reach LinkedIn, ticketing sites and some banks and streaming services. Bring a custom proxy for those\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, Airtop or TinyFish?\n\nTinyFish scores 67.7 (B) on agent readiness against Airtop's 55.3 (C), and leads in 5 of 7 scored categories. Airtop leads on reliability.\n\n### Do Airtop and TinyFish need an API key?\n\nAirtop needs an API key. TinyFish takes an API key or an OAuth sign-in.\n\n### Can an agent call Airtop and TinyFish without installing anything?\n\nYes. Airtop has a hosted endpoint at https://api.airtop.ai/api and TinyFish at https://agent.tinyfish.ai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/airtop-vs-tinyfish.json, and with the fewest tokens: https://www.anchorterminal.com/compare/airtop-vs-tinyfish.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"airtop\", \"b\": \"tinyfish\"}`. From a terminal: `anchor compare airtop tinyfish`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/airtop.json and https://www.anchorterminal.com/api/v1/tools/tinyfish.json\n\n## Other comparisons with Airtop or TinyFish\n\n- [agent-browser vs Airtop](https://www.anchorterminal.com/compare/agent-browser-vs-airtop.md)\n- [agent-browser vs TinyFish](https://www.anchorterminal.com/compare/agent-browser-vs-tinyfish.md)\n- [Airtop vs Anchor Browser](https://www.anchorterminal.com/compare/airtop-vs-anchor-browser.md)\n- [Airtop vs Browser Use](https://www.anchorterminal.com/compare/airtop-vs-browser-use.md)\n- [Airtop vs Browserbase](https://www.anchorterminal.com/compare/airtop-vs-browserbase.md)\n- [Airtop vs Browserless](https://www.anchorterminal.com/compare/airtop-vs-browserless.md)\n- [Airtop vs Chrome DevTools MCP](https://www.anchorterminal.com/compare/airtop-vs-chrome-devtools-mcp.md)\n- [Airtop vs Hyperbrowser](https://www.anchorterminal.com/compare/airtop-vs-hyperbrowser.md)\n- [Airtop vs Notte](https://www.anchorterminal.com/compare/airtop-vs-notte.md)\n- [Airtop vs Playwright MCP](https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp.md)\n- [Airtop vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/airtop-vs-puppeteer-reference-server-archived.md)\n- [Airtop vs Skyvern](https://www.anchorterminal.com/compare/airtop-vs-skyvern.md)\n- [Airtop vs Steel](https://www.anchorterminal.com/compare/airtop-vs-steel.md)\n- [Anchor Browser vs TinyFish](https://www.anchorterminal.com/compare/anchor-browser-vs-tinyfish.md)\n- [Browser Use vs TinyFish](https://www.anchorterminal.com/compare/browser-use-vs-tinyfish.md)\n- [Browserless vs TinyFish](https://www.anchorterminal.com/compare/browserless-vs-tinyfish.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 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": "Airtop vs TinyFish",
        "url": ""
      }
    ],
    "description": "TinyFish scores 67.7 (B) on agent readiness against Airtop's 55.3 (C), and leads in 5 of 7 scored categories. Airtop leads on reliability. Both do browser automation. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Airtop C 55.3",
      "TinyFish B 67.7",
      "scores"
    ],
    "h1": "Airtop vs TinyFish",
    "image": "https://www.anchorterminal.com/assets/og/compare-airtop-vs-tinyfish.png",
    "path": "/compare/airtop-vs-tinyfish",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Airtop vs TinyFish for AI agents, C 55.3 vs B 67.7 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/airtop-vs-tinyfish"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 680
  },
  "version": 1
}
