{
  "data": {
    "a": {
      "slug": "koyeb",
      "name": "Koyeb",
      "vendor": "Koyeb",
      "vendorUrl": "https://www.koyeb.com",
      "kind": "platform",
      "category": "gpu-compute",
      "summary": "Serverless platform for deploying applications and containers on CPU or GPU instances, with autoscaling and an API.",
      "url": "https://www.anchorterminal.com/tools/koyeb",
      "markdownUrl": "https://www.anchorterminal.com/tools/koyeb.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/koyeb.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/koyeb.json",
      "repo": "https://github.com/koyeb/koyeb-cli",
      "license": "Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.koyeb.com/v1",
      "packages": [],
      "auth": "pat",
      "authNotes": "Personal access token created in the control panel (app.koyeb.com/user/settings/api) and sent as `Authorization: Bearer` to app.koyeb.com/v1. The CLI stores it from `koyeb login` and hides it in debug output. Organisation-scoped tokens can be created for teams.",
      "pricing": "freemium",
      "pricingNotes": "Pro is $29 a month with $10 of usage included, Scale $299 with $100, Enterprise custom. The Starter plan closed to new sign-ups after the Mistral AI agreement. Everything bills per second. GPUs an hour are RTX 4000 SFF Ada $0.50, L4 $0.70, RTX A6000 $0.75, L40S $1.20, A100 $1.60, A100 SXM $2.15, RTX PRO 6000 $2.20, H100 $2.50, H200 $3.00, 2x A100 $3.20, 2x H100 $5.00, 4x A100 $6.40, 8x H100 $20.00, 8x H200 $24.00. CPU services start at $0.000006 a second (https://www.koyeb.com/pricing, https://www.koyeb.com/blog/koyeb-is-joining-mistral-ai-to-build-the-future-of-ai-infrastructure).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 72,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.koyeb.com/docs",
      "capabilities": [
        "compute.gpu",
        "compute.serverless",
        "compute.endpoints",
        "compute.containers"
      ],
      "tags": [
        "hosted",
        "freemium",
        "eu",
        "enterprise"
      ],
      "lastRelease": "2026-05-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47,
        "grade": "D",
        "agentReady": false,
        "rank": 389,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 23,
          "payments": 20,
          "reliability": 60,
          "schema": 41,
          "security": 50,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "H100 at $2.50 and H200 at $3.00 an hour, billed per second. Changelog silent since 27 February 2026 and no CLI release since 12 May 2026.",
        "strengths": [
          "H100 at $2.50 and H200 at $3.00 an hour, billed per second",
          "Scale to zero after 5 idle minutes by default, configurable up to 12 hours on higher plans",
          "99.9 per cent uptime SLA published from the Pro plan",
          "List endpoints filter by name, type, status and region with `limit` and `offset`, and create and update take `dry_run`",
          "French company under French law with a published DPA"
        ],
        "weaknesses": [
          "Changelog silent since 27 February 2026 and no CLI release since 12 May 2026",
          "No free compute tier; Starter closed after the Mistral AI agreement",
          "No llms.txt, no downloadable OpenAPI file, no documented rate limits or error codes",
          "Audit logs and RBAC only on Enterprise, and tokens have no scopes",
          "Platform due to fold into Mistral Compute with no dated migration plan"
        ],
        "agentNotes": [
          "Pass `dry_run` on service create or update to validate the definition before anything deploys",
          "Page service lists with `limit` and `offset` and filter by `statuses` instead of fetching everything",
          "Expect the first request after deep sleep to take 1 to 5 seconds and retry once with a timeout",
          "Set `--min-scale 0` on GPU services so idle instances stop billing",
          "Re-check the Mistral transition before building anything long-lived on it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 23,
          "payments": 20,
          "reliability": 60,
          "schema": 41,
          "security": 50,
          "transparency": 50
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "brew install koyeb/tap/koyeb \u0026\u0026 koyeb login  # or go install github.com/koyeb/koyeb-cli/cmd/koyeb",
        "http": "curl \"https://app.koyeb.com/v1/services\" -H \"Authorization: Bearer $KOYEB_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/compute.gpu",
        "tool": "https://letme.dev/koyeb"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "H100 80 GB",
          "unit": "gpu-hour",
          "usd": 2.5
        },
        {
          "item": "H200 141 GB",
          "unit": "gpu-hour",
          "usd": 3
        },
        {
          "item": "A100 80 GB",
          "unit": "gpu-hour",
          "usd": 1.6
        },
        {
          "item": "RTX PRO 6000",
          "unit": "gpu-hour",
          "usd": 2.2
        },
        {
          "item": "L40S 48 GB",
          "unit": "gpu-hour",
          "usd": 1.2
        },
        {
          "item": "L4 24 GB",
          "unit": "gpu-hour",
          "usd": 0.7
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 29,
          "note": "$10 of usage included"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 299,
          "note": "$100 of usage included"
        }
      ],
      "provenance": {
        "legalEntity": "Koyeb SAS",
        "domain": "koyeb.com",
        "domainRegistered": "2019-03-11",
        "endpointOnVendorDomain": true,
        "terms": "https://www.koyeb.com/docs/legal/terms",
        "privacy": "https://www.koyeb.com/docs/legal/data-processing-agreement",
        "statusPage": "https://status.koyeb.com",
        "changelog": "https://www.koyeb.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The Master Services Agreement of 28 June 2024 names Koyeb, a simplified joint-stock company registered in Nanterre under 850 183 948, at 9 rue des Longs Prés, Boulogne-Billancourt, under French law.",
          "The site footer's privacy link points at the data processing agreement rather than a separate privacy policy.",
          "www.koyeb.com/.well-known/security.txt returns 404 and there's no llms.txt at www.koyeb.com or under /docs.",
          "Koyeb announced on 17 February 2026 that it is joining Mistral AI."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/koyeb.json",
      "live": {
        "slug": "koyeb",
        "probe": {
          "target": "https://app.koyeb.com/v1",
          "method": "get",
          "lastAt": "2026-10-05T04:05:29.007914898Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 103,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 67,
          "p95ms24h": 119,
          "samples24h": 273,
          "samples30d": 947,
          "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": 47,
              "ok": 47
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.koyeb.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:11.113089843Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "koyeb/koyeb-cli",
            "version": "v5.12.0",
            "released": "2026-09-16",
            "seenAt": "2026-10-04T16:30:59.654487485Z"
          }
        ],
        "githubStars": 75,
        "securityTxt": {
          "url": "https://koyeb.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:39.623181757Z"
        },
        "domain": {
          "domain": "koyeb.com",
          "registered": "2019-03-11",
          "source": "https://rdap.verisign.com/com/v1/domain/koyeb.com",
          "checkedAt": "2026-10-04T13:09:21.713025238Z"
        },
        "pages": [
          {
            "url": "https://www.koyeb.com/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:56.745854439Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7e4e89b36b63"
          },
          {
            "url": "https://www.koyeb.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:02.824779527Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9d7cf517fa78"
          },
          {
            "url": "https://www.koyeb.com/docs/legal/data-processing-agreement",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:58.811207008Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6e08cc6e8919"
          },
          {
            "url": "https://www.koyeb.com/docs/legal/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:51:00.911838778Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "089f524cdbd6"
          }
        ],
        "updatedAt": "2026-10-05T04:05:29.007914898Z"
      }
    },
    "b": {
      "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"
      }
    },
    "summary": "Modal has a score of 63.8 (B) against Koyeb's 47 (D). Both do compute gpu. The largest gap is maintenance \u0026 community, 62 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/koyeb-vs-modal",
    "json": "https://www.anchorterminal.com/compare/koyeb-vs-modal.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/koyeb-vs-modal.md",
    "slim": "https://www.anchorterminal.com/compare/koyeb-vs-modal.min.md"
  },
  "markdown": "Modal has a score of 63.8 (B) against Koyeb's 47 (D). Both do compute gpu. The largest gap is maintenance \u0026 community, 62 points.\n\n- Koyeb: grade D, 47/100, rank #389 of 452. Markdown https://www.anchorterminal.com/tools/koyeb.md · JSON https://www.anchorterminal.com/api/v1/tools/koyeb.json\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\n## Which one, for what\n\nPick Koyeb for nothing in particular (no category where it leads by five points or more).\n\nPick Modal for reliability (+10), schema \u0026 documentation (+29), security \u0026 auth (+18), payments \u0026 pricing (+10), maintenance \u0026 community (+62).\n\n## Score by category\n\n| Category | Weight | Koyeb | Modal | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 70 | Modal +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 41 | 70 | Modal +29 |\n| Agent ergonomics | 13% (16.2 this run) | 56 | 57 | Modal +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 68 | Modal +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Modal +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 23 | 85 | Modal +62 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 69 | Modal +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **47 · D** | **63.8 · B** | |\n\n## Facts side by side\n\n| Fact | Koyeb | Modal |\n| --- | --- | --- |\n| Kind | Model platform | Model platform |\n| Vendor | Koyeb | Modal |\n| Hosted endpoint | `https://app.koyeb.com/v1` | no (local only) |\n| Transports | HTTP |  |\n| Auth | Token | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\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 | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-05-12 | 2026-09-28 |\n| Popularity | 72 stars | 514 stars, 941k npm/wk, 10.1M PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**Koyeb.** H100 at $2.50 and H200 at $3.00 an hour, billed per second. Changelog silent since 27 February 2026 and no CLI release since 12 May 2026.\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## Before you call either\n\n### Koyeb\n\n1. Pass `dry_run` on service create or update to validate the definition before anything deploys\n2. Page service lists with `limit` and `offset` and filter by `statuses` instead of fetching everything\n3. Expect the first request after deep sleep to take 1 to 5 seconds and retry once with a timeout\n4. Set `--min-scale 0` on GPU services so idle instances stop billing\n5. Re-check the Mistral transition before building anything long-lived on it\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## Other comparisons with Koyeb or Modal\n\n- [Baseten vs Koyeb](https://www.anchorterminal.com/compare/baseten-vs-koyeb.md)\n- [Baseten vs Modal](https://www.anchorterminal.com/compare/baseten-vs-modal.md)\n- [Beam vs Koyeb](https://www.anchorterminal.com/compare/beam-vs-koyeb.md)\n- [Beam vs Modal](https://www.anchorterminal.com/compare/beam-vs-modal.md)\n- [Koyeb vs Lambda Cloud](https://www.anchorterminal.com/compare/koyeb-vs-lambda.md)\n- [Koyeb vs Northflank](https://www.anchorterminal.com/compare/koyeb-vs-northflank.md)\n- [Koyeb vs Replicate Deployments](https://www.anchorterminal.com/compare/koyeb-vs-replicate-deploy.md)\n- [Koyeb vs Runpod](https://www.anchorterminal.com/compare/koyeb-vs-runpod.md)\n- [Lambda Cloud vs Modal](https://www.anchorterminal.com/compare/lambda-vs-modal.md)\n- [Modal vs Northflank](https://www.anchorterminal.com/compare/modal-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",
  "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": "Koyeb vs Modal",
        "url": ""
      }
    ],
    "description": "Modal has a score of 63.8 (B) against Koyeb's 47 (D). Both do compute gpu. The largest gap is maintenance \u0026 community, 62 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Koyeb D 47",
      "Modal B 63.8",
      "scores"
    ],
    "h1": "Koyeb vs Modal",
    "image": "https://www.anchorterminal.com/assets/og/compare-koyeb-vs-modal.png",
    "path": "/compare/koyeb-vs-modal",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Koyeb vs Modal for AI agents, D 47 vs B 63.8 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/koyeb-vs-modal"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 330
  },
  "version": 1
}
