{
  "data": {
    "a": {
      "slug": "modal",
      "name": "Modal",
      "vendor": "Modal",
      "vendorUrl": "https://modal.com",
      "kind": "platform",
      "category": "gpu-compute",
      "summary": "Serverless functions, web endpoints, servers and GPU jobs from a Python decorator, with JavaScript and Go SDKs.",
      "url": "https://www.anchorterminal.com/tools/modal",
      "markdownUrl": "https://www.anchorterminal.com/tools/modal.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/modal.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/modal.json",
      "repo": "https://github.com/modal-labs/modal-client",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "modal"
        },
        {
          "registry": "npm",
          "name": "modal"
        }
      ],
      "auth": "api-key",
      "authNotes": "No public REST API for deploying. The SDKs and CLI authenticate with a token ID and secret from `modal token new`, read from `MODAL_TOKEN_ID` and `MODAL_TOKEN_SECRET` or `~/.modal.toml`; tokens can carry a TTL. Deployed web endpoints are open by default and can be locked with proxy tokens sent as `Modal-Key` and `Modal-Secret` headers. Servers and Endpoints require a proxy token by default, sent as `Authorization: Bearer \u003cid\u003e.\u003csecret\u003e`.",
      "pricing": "freemium",
      "pricingNotes": "Starter is $0 a month with $30 of compute included every month, 3 seats, 100 containers and 10 concurrent GPUs. Team is $250 a month plus compute with $100 included, unlimited seats, 5,000 containers and 50 concurrent GPUs. Enterprise is custom. GPUs bill per second with nothing charged at zero containers. T4 $0.000164, L4 $0.000222, A10 $0.000306, L40S $0.000542, A100 40 GB $0.000583, A100 80 GB $0.000694, RTX PRO 6000 $0.000842, H100 $0.001097, H200 $0.001261, B200 $0.001736 and B300 $0.001972 a second. The pricing page lists CPU at $0.0000131 a core-second (0.125 core minimum per container) and memory at $0.00000222 a GiB-second, and volumes at $0.09 a GiB-month after 1 TiB free (https://modal.com/pricing).",
      "priceSummary": "$250 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 514,
        "npmWeekly": 940973,
        "pypiWeekly": 10146778,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://modal.com/docs/guide",
      "llmsTxt": "https://modal.com/llms.txt",
      "capabilities": [
        "compute.gpu",
        "compute.serverless",
        "compute.endpoints",
        "compute.batch",
        "compute.containers"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "python",
        "typescript",
        "go",
        "llms-txt",
        "enterprise"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.8,
        "grade": "B",
        "agentReady": false,
        "rank": 195,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 85,
          "payments": 30,
          "reliability": 70,
          "schema": 70,
          "security": 68,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Scale to zero by default, per-second billing and about one-second container boots. No REST API or OpenAPI spec for deploying or invoking Functions.",
        "strengths": [
          "Scale to zero by default, per-second billing and about one-second container boots",
          "Retention stated per data type (inputs and outputs up to 7 days, logs 1 to 30 days)",
          "Python, JavaScript and Go SDKs, with llms.txt and dated release notes",
          "Four short incidents on the status page between July and September 2026",
          "SOC 2 Type 2, a private HackerOne programme and published disclosure response times"
        ],
        "weaknesses": [
          "No REST API or OpenAPI spec for deploying or invoking Functions",
          "Web endpoints are open by default until proxy tokens are added",
          "RBAC, audit logs and HIPAA only on Enterprise",
          "No published SLA, and Starter caps concurrent GPUs at 10",
          "Region pinning costs 1.15 to 1.75 times the base price"
        ],
        "agentNotes": [
          "Create a proxy token and require it on every web endpoint before sharing the URL; endpoints are public by default",
          "Pass a list to `gpu=` (for example `[\"H100\", \"A100-80GB\"]`) so a job still runs when the first choice is unavailable",
          "Set `scaledown_window` and `min_containers` explicitly; the defaults are 60 seconds and 0",
          "Use `.spawn()` and poll the call ID for long work instead of holding a web request open",
          "Keep web endpoint traffic under 200 requests a second or ask Modal to raise the limit"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.8
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 85,
          "payments": 30,
          "reliability": 70,
          "schema": 70,
          "security": 68,
          "transparency": 63
        },
        "provenanceScore": 75
      },
      "connect": {
        "install": "pip install modal \u0026\u0026 modal setup",
        "http": "curl -X POST \"https://$MODAL_WORKSPACE--my-app-predict.modal.run\" \\\n  -H \"Modal-Key: $MODAL_PROXY_KEY\" -H \"Modal-Secret: $MODAL_PROXY_SECRET\" \\\n  -H \"Content-Type: application/json\" -d '{\"prompt\":\"hello\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/compute.gpu",
        "tool": "https://letme.dev/modal"
      },
      "sameCompany": [
        "modal-sandboxes"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "H100 80 GB",
          "unit": "gpu-hour",
          "usd": 3.95,
          "note": "$0.001097 a second, may be upgraded to H200 at the same price"
        },
        {
          "item": "H200 141 GB",
          "unit": "gpu-hour",
          "usd": 4.54,
          "note": "$0.001261 a second"
        },
        {
          "item": "B200 180 GB",
          "unit": "gpu-hour",
          "usd": 6.25,
          "note": "$0.001736 a second"
        },
        {
          "item": "A100 80 GB",
          "unit": "gpu-hour",
          "usd": 2.5,
          "note": "$0.000694 a second"
        },
        {
          "item": "L40S 48 GB",
          "unit": "gpu-hour",
          "usd": 1.95,
          "note": "$0.000542 a second"
        },
        {
          "item": "L4 24 GB",
          "unit": "gpu-hour",
          "usd": 0.8,
          "note": "$0.000222 a second"
        },
        {
          "item": "T4 16 GB",
          "unit": "gpu-hour",
          "usd": 0.59,
          "note": "$0.000164 a second"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 250,
          "note": "Plus compute, $100 included, 50 concurrent GPUs"
        }
      ],
      "provenance": {
        "legalEntity": "Modal Labs, Inc.",
        "domain": "modal.com",
        "domainRegistered": "1999-03-18",
        "domainNote": "modal.com was registered in 1999, long before Modal Labs, so the domain was bought later.",
        "endpointOnVendorDomain": false,
        "terms": "https://modal.com/legal/terms",
        "privacy": "https://modal.com/legal/privacy-policy",
        "statusPage": "https://status.modal.com",
        "changelog": "https://modal.com/docs/sdk/py/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms (May 2026) name Modal Labs, Inc., a Delaware corporation, under California law.",
          "Deployed web endpoints and Servers are served from *.modal.run, a separate domain from modal.com. Deployment itself goes through the SDK, so there's no public API base URL to check.",
          "modal.com/.well-known/security.txt returns 404. The security guide gives security@modal.com and a private HackerOne programme.",
          "Modal Sandboxes are listed separately under code sandboxes."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/modal.json",
      "live": {
        "slug": "modal",
        "vendorStatus": {
          "page": "https://status.modal.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T18:12:01.451022336Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "modal",
            "version": "0.11.0",
            "seenAt": "2026-10-04T16:33:46.797593577Z"
          },
          {
            "registry": "pypi",
            "name": "modal",
            "version": "1.6.1",
            "released": "2026-10-03",
            "seenAt": "2026-10-04T16:33:46.666636627Z"
          }
        ],
        "githubStars": 522,
        "npmWeekly": 975301,
        "pypiWeekly": 10793701,
        "securityTxt": {
          "url": "https://modal.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:42.140189006Z"
        },
        "llmsTxt": {
          "url": "https://modal.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:01.18366808Z"
        },
        "domain": {
          "domain": "modal.com",
          "registered": "1999-03-18",
          "source": "https://rdap.verisign.com/com/v1/domain/modal.com",
          "checkedAt": "2026-10-04T13:03:51.14581991Z"
        },
        "updatedAt": "2026-10-04T18:12:01.451022336Z"
      }
    },
    "b": {
      "slug": "northflank",
      "name": "Northflank",
      "vendor": "Northflank",
      "vendorUrl": "https://northflank.com",
      "kind": "platform",
      "category": "gpu-compute",
      "summary": "Platform for deploying services, jobs and databases from Git or container images, in managed or customer-owned infrastructure. Supports GPU workloads and sandboxes.",
      "url": "https://www.anchorterminal.com/tools/northflank",
      "markdownUrl": "https://www.anchorterminal.com/tools/northflank.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/northflank.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/northflank.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.northflank.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@northflank/cli"
        },
        {
          "registry": "npm",
          "name": "@northflank/js-client"
        }
      ],
      "auth": "pat",
      "authNotes": "Personal API token from account settings, or a team token issued under an API role, sent as `Authorization: Bearer` to api.northflank.com/v1. Rate limit headers `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset` come back on every response.",
      "pricing": "freemium",
      "pricingNotes": "Pay as you go, pro-rated to the second and charged at the end of the monthly cycle. CPU $0.01667 a vCPU-hour and memory $0.00833 a GB-hour, from a 1 vCPU 2 GB plan at $24 a month to 32 vCPU 499 GB at $3,312. GPUs an hour are L4 24 GB $0.80, A100 40 GB $1.42, A100 80 GB $1.76, H100 80 GB $2.74, RTX PRO 6000 96 GB $3.00. SSD $0.15 a GB-month and egress $0.06 a GB. A free sandbox tier gives 2 services, 1 database and 2 cron jobs. Running in your own cloud adds no platform fee on pay as you go (https://northflank.com/pricing).",
      "priceSummary": "$0.0167 / vCPU-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 19190,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://northflank.com/docs/v1/application",
      "llmsTxt": "https://northflank.com/docs/llms.txt",
      "openapi": "https://api.northflank.com/v1/swagger-json",
      "capabilities": [
        "compute.gpu",
        "compute.containers",
        "compute.batch",
        "compute.endpoints"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "openapi",
        "llms-txt",
        "typescript",
        "uk",
        "enterprise"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.8,
        "grade": "C",
        "agentReady": false,
        "rank": 224,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 48,
          "maintenance": 65,
          "payments": 30,
          "reliability": 65,
          "schema": 81,
          "security": 75,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "OpenAPI 3.0 with over 100 paths, enums and `per_page`, `page` and `cursor` on every list. No scale to zero for services; minimum instances must be at least 1.",
        "strengths": [
          "OpenAPI 3.0 with over 100 paths, enums and `per_page`, `page` and `cursor` on every list",
          "Team API tokens under API roles with granular permissions, plus audit logs",
          "Runs in Northflank's cloud or your own AWS, GCP, Azure or bare metal",
          "llms.txt and a Markdown twin for every docs page",
          "H100 at $2.74 and A100 80 GB at $1.76 an hour, billed per second"
        ],
        "weaknesses": [
          "No scale to zero for services; minimum instances must be at least 1",
          "1,000 API requests an hour by default",
          "One partial outage of workload starts across regions on 5 August 2026",
          "Terms and privacy policy unchanged since 1 March 2021, and no security.txt",
          "No error schemas in the spec, no idempotency keys, no Python SDK"
        ],
        "agentNotes": [
          "Issue the agent a team token under an API role limited to one project, not a personal token",
          "Read `x-ratelimit-remaining` and wait `x-ratelimit-reset` seconds on a 429; the default is 1,000 calls an hour",
          "Page lists with `per_page` up to 100 and the returned `cursor` instead of numbered pages",
          "Use a job, not a service, for anything that finishes; services bill until paused or deleted",
          "Fetch any docs page with .md appended to get Markdown"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.8
          }
        ],
        "editorialScores": {
          "ergonomics": 48,
          "maintenance": 65,
          "payments": 30,
          "reliability": 65,
          "schema": 81,
          "security": 75,
          "transparency": 33
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "npm i -g @northflank/cli \u0026\u0026 northflank login",
        "http": "curl \"https://api.northflank.com/v1/projects\" -H \"Authorization: Bearer $NORTHFLANK_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/compute.gpu",
        "tool": "https://letme.dev/northflank"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "H100 80 GB",
          "unit": "gpu-hour",
          "usd": 2.74,
          "note": "Billed per second"
        },
        {
          "item": "RTX PRO 6000 96 GB",
          "unit": "gpu-hour",
          "usd": 3
        },
        {
          "item": "A100 80 GB",
          "unit": "gpu-hour",
          "usd": 1.76
        },
        {
          "item": "A100 40 GB",
          "unit": "gpu-hour",
          "usd": 1.42
        },
        {
          "item": "L4 24 GB",
          "unit": "gpu-hour",
          "usd": 0.8
        },
        {
          "item": "CPU",
          "unit": "vcpu-hour",
          "usd": 0.01667,
          "note": "Memory extra at $0.00833 a GB-hour"
        },
        {
          "item": "SSD storage",
          "unit": "gb-month",
          "usd": 0.15
        },
        {
          "item": "Egress",
          "unit": "gb",
          "usd": 0.06
        }
      ],
      "provenance": {
        "legalEntity": "Northflank Ltd",
        "domain": "northflank.com",
        "domainRegistered": "2019-03-31",
        "endpointOnVendorDomain": true,
        "terms": "https://northflank.com/legal/terms",
        "privacy": "https://northflank.com/legal/privacy",
        "statusPage": "https://status.northflank.com",
        "changelog": "https://northflank.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms and privacy policy, both dated 1 March 2021, name Northflank Ltd, company number 11918540, 20-22 Wenlock Road, London N1 7GU, with legal@northflank.com as contact.",
          "The API runs on api.northflank.com, a subdomain of the vendor domain.",
          "northflank.com/.well-known/security.txt returns 404.",
          "No public source repository for the platform; the CLI and JavaScript client are published on npm."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/northflank.json",
      "live": {
        "slug": "northflank",
        "probe": {
          "target": "https://api.northflank.com/v1",
          "method": "get",
          "lastAt": "2026-10-05T01:43:41.908339789Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 51,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 36,
          "p95ms24h": 194,
          "samples24h": 272,
          "samples30d": 920,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.northflank.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:16.455763445Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@northflank/cli",
            "version": "0.13.0",
            "seenAt": "2026-10-04T16:34:31.591987754Z"
          },
          {
            "registry": "npm",
            "name": "@northflank/js-client",
            "version": "0.11.0",
            "seenAt": "2026-10-04T16:34:32.039826266Z"
          }
        ],
        "npmWeekly": 5805,
        "securityTxt": {
          "url": "https://northflank.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:44.462143205Z"
        },
        "llmsTxt": {
          "url": "https://northflank.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:03.861255438Z"
        },
        "domain": {
          "domain": "northflank.com",
          "registered": "2019-03-31",
          "source": "https://rdap.verisign.com/com/v1/domain/northflank.com",
          "checkedAt": "2026-10-04T13:08:04.961258123Z"
        },
        "pages": [
          {
            "url": "https://northflank.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:13.215877744Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dded57d72d65"
          },
          {
            "url": "https://northflank.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:19.316082226Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "83f74eaab49c"
          },
          {
            "url": "https://northflank.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:15.370395868Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d3ee323ae832"
          },
          {
            "url": "https://northflank.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:17.302681514Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ead1ffa17ca6"
          }
        ],
        "updatedAt": "2026-10-05T01:43:41.908339789Z"
      }
    },
    "summary": "Modal has a score of 63.8 (B) against Northflank's 61.8 (C). Both do compute gpu. The largest gap is maintenance \u0026 community, 20 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/modal-vs-northflank",
    "json": "https://www.anchorterminal.com/compare/modal-vs-northflank.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/modal-vs-northflank.md",
    "slim": "https://www.anchorterminal.com/compare/modal-vs-northflank.min.md"
  },
  "markdown": "Modal has a score of 63.8 (B) against Northflank's 61.8 (C). Both do compute gpu. The largest gap is maintenance \u0026 community, 20 points.\n\n- Modal: grade B, 63.8/100, rank #195 of 452. Markdown https://www.anchorterminal.com/tools/modal.md · JSON https://www.anchorterminal.com/api/v1/tools/modal.json\n- Northflank: grade C, 61.8/100, rank #224 of 452. Markdown https://www.anchorterminal.com/tools/northflank.md · JSON https://www.anchorterminal.com/api/v1/tools/northflank.json\n\n## Which one, for what\n\nPick Modal for reliability (+5), agent ergonomics (+9), maintenance \u0026 community (+20), transparency \u0026 trust (+9).\n\nPick Northflank for schema \u0026 documentation (+11), security \u0026 auth (+7).\n\n## Score by category\n\n| Category | Weight | Modal | Northflank | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 65 | Modal +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 81 | Northflank +11 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 48 | Modal +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 68 | 75 | Northflank +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 65 | Modal +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 60 | Modal +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.8 · B** | **61.8 · C** | |\n\n## Facts side by side\n\n| Fact | Modal | Northflank |\n| --- | --- | --- |\n| Kind | Model platform | Model platform |\n| Vendor | Modal | Northflank |\n| Hosted endpoint | no (local only) | `https://api.northflank.com/v1` |\n| Transports |  | HTTP |\n| Auth | API key | Token |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | none |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-28 | 2026-09-24 |\n| Popularity | 514 stars, 941k npm/wk, 10.1M PyPI/wk | 19k npm/wk |\n| Agent reviews | 4/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Modal.** Scale to zero by default, per-second billing and about one-second container boots. No REST API or OpenAPI spec for deploying or invoking Functions.\n\n**Northflank.** OpenAPI 3.0 with over 100 paths, enums and `per_page`, `page` and `cursor` on every list. No scale to zero for services; minimum instances must be at least 1.\n\n## Before you call either\n\n### Modal\n\n1. Create a proxy token and require it on every web endpoint before sharing the URL; endpoints are public by default\n2. Pass a list to `gpu=` (for example `[\"H100\", \"A100-80GB\"]`) so a job still runs when the first choice is unavailable\n3. Set `scaledown_window` and `min_containers` explicitly; the defaults are 60 seconds and 0\n4. Use `.spawn()` and poll the call ID for long work instead of holding a web request open\n5. Keep web endpoint traffic under 200 requests a second or ask Modal to raise the limit\n\n### Northflank\n\n1. Issue the agent a team token under an API role limited to one project, not a personal token\n2. Read `x-ratelimit-remaining` and wait `x-ratelimit-reset` seconds on a 429; the default is 1,000 calls an hour\n3. Page lists with `per_page` up to 100 and the returned `cursor` instead of numbered pages\n4. Use a job, not a service, for anything that finishes; services bill until paused or deleted\n5. Fetch any docs page with .md appended to get Markdown\n\n## Other comparisons with Modal or Northflank\n\n- [Baseten vs Modal](https://www.anchorterminal.com/compare/baseten-vs-modal.md)\n- [Baseten vs Northflank](https://www.anchorterminal.com/compare/baseten-vs-northflank.md)\n- [Beam vs Modal](https://www.anchorterminal.com/compare/beam-vs-modal.md)\n- [Beam vs Northflank](https://www.anchorterminal.com/compare/beam-vs-northflank.md)\n- [Koyeb vs Modal](https://www.anchorterminal.com/compare/koyeb-vs-modal.md)\n- [Koyeb vs Northflank](https://www.anchorterminal.com/compare/koyeb-vs-northflank.md)\n- [Lambda Cloud vs Modal](https://www.anchorterminal.com/compare/lambda-vs-modal.md)\n- [Lambda Cloud vs Northflank](https://www.anchorterminal.com/compare/lambda-vs-northflank.md)\n- [Modal vs Replicate Deployments](https://www.anchorterminal.com/compare/modal-vs-replicate-deploy.md)\n- [Modal vs Runpod](https://www.anchorterminal.com/compare/modal-vs-runpod.md)\n- [Northflank vs Replicate Deployments](https://www.anchorterminal.com/compare/northflank-vs-replicate-deploy.md)\n- [Northflank vs Runpod](https://www.anchorterminal.com/compare/northflank-vs-runpod.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Modal vs Northflank",
        "url": ""
      }
    ],
    "description": "Modal has a score of 63.8 (B) against Northflank's 61.8 (C). Both do compute gpu. The largest gap is maintenance \u0026 community, 20 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Modal B 63.8",
      "Northflank C 61.8",
      "scores"
    ],
    "h1": "Modal vs Northflank",
    "image": "https://www.anchorterminal.com/assets/og/compare-modal-vs-northflank.png",
    "path": "/compare/modal-vs-northflank",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Modal vs Northflank for AI agents, B 63.8 vs C 61.8 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/modal-vs-northflank"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 330
  },
  "version": 1
}
