# freetier.tech
> Free-tier developer services with the exact setup steps a coding agent needs: limits, commercial-use rules, signup links, CLI logins and env var names. Every entry lists its sources and the date it was last verified.
Pick a category to compare options, then open a service for its setup steps. The same data is available as JSON, starting at https://freetier.tech/api/v1/categories.json.
---
# Cloudflare Workers
> Serverless platform that serves static assets and Worker code from Cloudflare's global network.
- Category: [Static & frontend hosting](https://freetier.tech/c/static-hosting.md)
- Free tier: Always free. Static asset requests are free and unlimited; Worker script requests are capped at 100,000 per day.
- Commercial use not stated
- No card required
- Pricing: https://developers.cloudflare.com/workers/platform/pricing/
- Last verified: 2026-10-28
## Free tier limits
- Requests that serve static assets are free and unlimited
- 100,000 Worker requests per day (resets at 00:00 UTC)
- 10 ms CPU time per Worker request
- 20,000 static asset files per Worker version
- 25 MiB max per static asset file
- 100 Workers per account
- 3,000 Workers Builds minutes per month, 1 concurrent build, 20-minute build timeout
## Gotchas
- Cloudflare's Pages docs now tell new projects to start on Workers (static assets) instead of Pages.
- Past 100,000 Worker requests in a day the Worker returns Error 1027; paths matched by `run_worker_first` get a 429 instead of falling back to static assets.
- Cloudflare's Self-Serve Subscription Agreement bars collecting or processing credit card information on any web property receiving Free Services.
- workers.dev subdomains are intended for personal or hobby projects that aren't business-critical; Cloudflare recommends a custom domain or route for production.
- Accounts created with Google, Apple or GitHub login have no password until one is set, and creating API tokens requires a password.
- `wrangler deploy
` only works interactively; agents and CI should set `assets.directory` in the Wrangler config file.
## Setup
### What the human does
1. Sign up at https://dash.cloudflare.com/sign-up and verify your email address.
2. Approve the Wrangler OAuth prompt in the browser when the agent runs `npx wrangler login`, or create an API token.
### How the agent gets access
#### CLI login
- Install: `npm i -D wrangler@latest`
- Run: `npx wrangler login`
- Notes: Opens a browser OAuth flow with a localhost:8976 callback; use `npx wrangler login --device` on remote or containerized machines.
#### API key
- Install: `npm i -D wrangler@latest`
- Get it at: https://dash.cloudflare.com/profile/api-tokens
- Env var: `CLOUDFLARE_API_TOKEN`
- Notes: Create it from the "Edit Cloudflare Workers" template; non-interactive Wrangler also needs CLOUDFLARE_ACCOUNT_ID.
### Verify
```sh
npx wrangler whoami
```
### Optional: start without an account
Creates a temporary resource before the human has an account, for trying things out. The steps above are the normal path.
- Run: `npx wrangler deploy --temporary`
- Expires: The human has 60 minutes to claim the deployment.
- To keep it: Open the claim URL Wrangler prints.
- Notes: Needs Wrangler 4.102.0 or later, and fails if Wrangler can already authenticate with OAuth, CLOUDFLARE_API_TOKEN or a global API key.
## Docs
- Quickstart: https://developers.cloudflare.com/workers/static-assets/get-started/
- llms.txt: https://developers.cloudflare.com/workers/llms.txt
## Sources
- https://developers.cloudflare.com/pages/
- https://developers.cloudflare.com/workers/static-assets/
- https://developers.cloudflare.com/workers/static-assets/billing-and-limitations/
- https://developers.cloudflare.com/workers/static-assets/get-started/
- https://developers.cloudflare.com/workers/platform/pricing/
- https://developers.cloudflare.com/workers/platform/limits/
- https://developers.cloudflare.com/workers/ci-cd/builds/limits-and-pricing/
- https://developers.cloudflare.com/workers/configuration/routing/workers-dev/
- https://www.cloudflare.com/terms/
- https://www.cloudflare.com/plans/
- https://developers.cloudflare.com/fundamentals/account/create-account/
- https://developers.cloudflare.com/fundamentals/user-profiles/login/
- https://developers.cloudflare.com/fundamentals/api/get-started/create-token/
- https://developers.cloudflare.com/workers/wrangler/install-and-update/
- https://developers.cloudflare.com/workers/wrangler/commands/general/
- https://developers.cloudflare.com/workers/wrangler/commands/workers/
- https://developers.cloudflare.com/workers/ci-cd/external-cicd/github-actions/
- https://developers.cloudflare.com/workers/llms.txt
JSON: https://freetier.tech/api/v1/services/cloudflare-workers.json
---
# GitHub Pages
> Static site hosting that publishes HTML, CSS and JavaScript straight from a GitHub repository.
- Category: [Static & frontend hosting](https://freetier.tech/c/static-hosting.md)
- Free tier: Always free. Free for public repositories on GitHub Free; sites up to 1 GB with a 100 GB/month soft bandwidth limit.
- Non-commercial only
- No card required
- Pricing: https://github.com/pricing
- Last verified: 2026-10-28
## Free tier limits
- Public repositories only on GitHub Free (private repos need a paid plan)
- 1 GB max published site size
- 1 GB recommended source repository size
- 100 GB per month soft bandwidth limit
- 10 builds per hour soft limit (not applied to custom GitHub Actions workflows)
- Deployments time out after 10 minutes
- 1 user or organization site per account; 1 project site per repository
- GitHub Actions is free for public repositories on standard GitHub-hosted runners
## Gotchas
- GitHub says Pages may not be used as free hosting for an online business, e-commerce site or commercial SaaS, nor for sensitive transactions such as passwords or credit card numbers.
- The published site is public even when its repository is private (on plans that allow private Pages repos).
- Changes can take up to 10 minutes to go live after a push.
- Pushing `.github/workflows` files needs the `workflow` OAuth scope; gh's default scopes are repo, read:org and gist (add it with `gh auth refresh -s workflow`).
- A CNAME file does not set a custom domain; configure it in the repository's Pages settings or via the REST API.
- Commits pushed by a workflow using GITHUB_TOKEN do not trigger a branch-based Pages build.
## Setup
### What the human does
1. Sign up at https://github.com/signup and verify your email address.
2. Approve the GitHub CLI login in the browser when the agent runs `gh auth login`, or create a fine-grained personal access token.
### How the agent gets access
#### CLI login
- Install: `brew install gh`
- Run: `gh auth login --web --scopes workflow`
- Notes: Browser login with a one-time code; installers for other OSes are at https://cli.github.com. The workflow scope lets the agent push Pages workflow files.
#### API key
- Install: `brew install gh`
- Get it at: https://github.com/settings/personal-access-tokens/new
- Env var: `GH_TOKEN`
- Notes: Fine-grained token for the site repo with Contents, Pages, Administration and Workflows write; gh uses GH_TOKEN instead of stored credentials.
### Verify
```sh
gh auth status
```
## Docs
- Quickstart: https://docs.github.com/en/pages/quickstart
- llms.txt: https://docs.github.com/llms.txt
## Sources
- https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits
- https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages
- https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site
- https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site
- https://docs.github.com/en/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages
- https://docs.github.com/en/pages/quickstart
- https://docs.github.com/en/get-started/learning-about-github/githubs-plans
- https://github.com/pricing
- https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github
- https://docs.github.com/en/github-cli/github-cli/quickstart
- https://docs.github.com/en/github-cli/github-cli/authenticating-with-github-cli
- https://cli.github.com/
- https://cli.github.com/manual/gh_auth_login
- https://cli.github.com/manual/gh_auth_refresh
- https://cli.github.com/manual/gh_auth_status
- https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps
- https://docs.github.com/en/rest/pages/pages
- https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens
- https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
- https://docs.github.com/llms.txt
JSON: https://freetier.tech/api/v1/services/github-pages.json
---
# Netlify
> Web platform for deploying static sites and web apps with a global CDN, deploy previews and serverless functions.
- Category: [Static & frontend hosting](https://freetier.tech/c/static-hosting.md)
- Free tier: Always free. 300 credits per month (hard cap); a production deploy costs 15 credits and 1 GB of bandwidth costs 20.
- Commercial use allowed
- No card required
- Pricing: https://www.netlify.com/pricing/
- Last verified: 2026-10-28
## Free tier limits
- 300 credits per month, hard limit (no rollover, no extra credits on Free)
- 15 credits per production deploy
- 20 credits per GB of bandwidth
- 2 credits per 10,000 web requests
- 10 credits per GB-hour of compute (functions)
- 0 credits to create Deploy Previews and branch deploys (their traffic still counts)
- Form submissions are free
- 1 concurrent build
- 500 projects per team
- 1 team member (the Team Owner)
## Gotchas
- When the monthly credits run out, every project on the team is paused ("Site not available") until the next billing cycle; Free can't buy more credits.
- 20 production deploys use the whole 300-credit month; creating Deploy Previews and branch deploys costs 0 credits.
- Teams created on or after 2026-07-28 default to private projects, which only the Team Owner can view until made public.
- Free-plan projects created on or after 2026-08-19 show a "Powered by Netlify" badge to visitors; turn it off per project under Project configuration > General.
- Accounts created before 2025-09-04 stay on legacy (non-credit) plans with different limits.
## Setup
### What the human does
1. Sign up at https://app.netlify.com/signup (GitHub, GitLab, Bitbucket or email).
2. Approve the Netlify CLI in the browser when the agent runs `netlify login`, or create a personal access token.
3. To make new sites public by default, set Team settings > General > Visitor access > Default project visibility to "Public for new projects".
### How the agent gets access
#### CLI login
- Install: `npm install -g netlify-cli`
- Run: `netlify login`
- Notes: Opens a browser for the human to approve; `netlify login --request` creates a login ticket for agent/human-in-the-loop auth and `--check` polls it.
#### API key
- Install: `npm install -g netlify-cli`
- Get it at: https://app.netlify.com/user/applications#personal-access-tokens
- Env var: `NETLIFY_AUTH_TOKEN`
- Notes: Personal access token for CI or headless use; the CLI reads NETLIFY_AUTH_TOKEN.
### Verify
```sh
netlify status
```
## Docs
- Quickstart: https://docs.netlify.com/api-and-cli-guides/cli-guides/get-started-with-cli/
- llms.txt: https://docs.netlify.com/llms.txt
## Sources
- https://www.netlify.com/pricing/
- https://docs.netlify.com/manage/accounts-and-billing/billing/billing-for-credit-based-plans/credit-based-pricing-plans/
- https://docs.netlify.com/manage/accounts-and-billing/billing/billing-for-credit-based-plans/how-credits-work/
- https://docs.netlify.com/manage/accounts-and-billing/billing/billing-for-credit-based-plans/billing-faq-for-credit-based-plans/
- https://www.netlify.com/changelog/2026-04-14-pricing-updates-april-2026/
- https://www.netlify.com/changelog/2026-08-19-pre-launch-toolbar-and-powered-by-netlify-badge/
- https://docs.netlify.com/manage/projects/powered-by-netlify-badge/
- https://docs.netlify.com/manage/security/secure-access-to-sites/project-visibility/
- https://www.netlify.com/guides/netlify-vs-vercel/
- https://www.netlify.com/blog/introducing-netlify-free-plan/
- https://www.netlify.com/legal/self-serve-subscription-agreement/
- https://docs.netlify.com/api-and-cli-guides/cli-guides/get-started-with-cli/
- https://docs.netlify.com/manage/accounts-and-billing/user-settings/
- https://cli.netlify.com/commands/login/
- https://cli.netlify.com/commands/status/
- https://docs.netlify.com/llms.txt
JSON: https://freetier.tech/api/v1/services/netlify.json
---
# Vercel
> Cloud platform for deploying static sites and web apps with Git integration, preview deployments and serverless functions.
- Category: [Static & frontend hosting](https://freetier.tech/c/static-hosting.md)
- Free tier: Always free. Hobby plan with 100 GB Fast Data Transfer and 1M CDN requests per month, for personal non-commercial use only.
- Non-commercial only
- No card required
- Pricing: https://vercel.com/pricing
- Last verified: 2026-10-28
## Free tier limits
- 100 GB Fast Data Transfer per month
- 10 GB Fast Origin Transfer per month
- 1,000,000 CDN requests per month
- 1,000,000 function invocations per month
- 4 CPU-hours Active CPU and 360 GB-hours provisioned memory per month
- 5,000 image transformations per month
- 100 deployments per day
- 200 projects
- 1 concurrent build, 45 minutes max per build
- 100 MB max source upload per CLI deployment
## Gotchas
- Hobby is restricted to non-commercial personal use; Vercel counts ads, taking payments, affiliate-focused sites and being paid to build or host the site as commercial.
- Going over a Hobby limit pauses that usage, generally until 30 days have passed; Hobby can't buy extra usage.
- Hobby projects can't connect to Git repositories owned by a Git organization.
- CLI deployments are limited to 100 MB of source files on Hobby and 15,000 source files.
- Use plain `vercel login` (OAuth device flow); the email and `--github`/`--gitlab`/`--bitbucket` login variants were retired on 2026-02-26.
## Setup
### What the human does
1. Sign up at https://vercel.com/signup and use the free Hobby plan.
2. Approve the device login in the browser when the agent runs `vercel login`, or create an access token.
### How the agent gets access
#### CLI login
- Install: `npm i -g vercel`
- Run: `vercel login`
- Notes: OAuth device flow; the human approves in any browser.
#### API key
- Install: `npm i -g vercel`
- Get it at: https://vercel.com/account/settings/tokens
- Env var: `VERCEL_TOKEN`
- Notes: The CLI reads VERCEL_TOKEN (or `--token`); set VERCEL_ORG_ID and VERCEL_PROJECT_ID to skip `vercel link` in CI.
### Verify
```sh
vercel whoami
```
### Optional: start without an account
Creates a temporary resource before the human has an account, for trying things out. The steps above are the normal path.
- Run: `vercel deploy --temporary`
- Expires: Set by Vercel and printed by the CLI; the launch announcement said one hour.
- To keep it: Open the claim URL the CLI prints, then run `vercel login` to keep deploying.
- Notes: Only works with no stored Vercel credentials, and not in CI or in a directory already linked to a Vercel project. Anyone with the claim link can take the project.
## Docs
- Quickstart: https://vercel.com/docs/getting-started-with-vercel
- llms.txt: https://vercel.com/llms.txt
## Sources
- https://vercel.com/pricing
- https://vercel.com/docs/plans/hobby
- https://vercel.com/docs/plans
- https://vercel.com/docs/limits
- https://vercel.com/docs/limits/fair-use-guidelines
- https://vercel.com/docs/plans/pro-plan/trials
- https://vercel.com/legal/terms
- https://vercel.com/docs/accounts
- https://vercel.com/signup
- https://vercel.com/docs/cli
- https://vercel.com/docs/cli/global-options
- https://vercel.com/docs/cli/login
- https://vercel.com/docs/cli/whoami
- https://vercel.com/changelog/new-vercel-cli-login-flow
- https://vercel.com/changelog/deploy-without-an-account-using-vercel-cli
- https://vercel.com/llms.txt
- https://vercel.com/docs/deployments/deploy-without-logging-in
JSON: https://freetier.tech/api/v1/services/vercel.json
---
# Neon
> Serverless Postgres with autoscaling, branching and scale-to-zero.
- Category: [Databases](https://freetier.tech/c/database.md)
- Free tier: Always free. 100 projects, each with 100 CU-hours/month, 1 GB storage (20 GB total) and 5 GB egress/month.
- Commercial use not stated
- No card required
- Pricing: https://neon.com/pricing
- Last verified: 2026-10-28
## Free tier limits
- 100 projects
- 100 CU-hours per project per month
- 1 GB Postgres storage per project, 20 GB total across all projects
- 5 GB public network transfer (egress) per project per month
- Autoscaling up to 2 CU (8 GB RAM)
- 10 branches per project
- 6-hour restore window (1 GB limit)
- 1 manual snapshot
- 1 day monitoring retention
## Gotchas
- Compute scales to zero after 5 minutes idle and this can't be disabled on Free; the next query wakes it within a few hundred milliseconds.
- Using up a project's 100 CU-hours or 5 GB egress suspends its compute until the next billing period or an upgrade.
- Exceeding 1 GB in a project (or 20 GB in total) makes inserts, updates and deletes fail until space is freed; data is not deleted.
- Neon says Free should be avoided for production workloads where uninterrupted availability matters.
- The CLI's npm package is now `neon` (Homebrew formula is still `neonctl`); `neon auth` is a legacy alias for `neon login`.
## Setup
### What the human does
1. Sign up at https://neon.com/signup (GitHub or Google sign-in is fastest).
2. Approve the browser prompt from `neon login`, or create an API key in the Console under Account settings > API keys.
### How the agent gets access
#### CLI login
- Install: `npm i -g neon@latest`
- Run: `neon login`
- Notes: Opens a browser for the human to approve; credentials are saved to ~/.config/neon/credentials.json.
#### API key
- Get it at: https://console.neon.tech
- Env var: `NEON_API_KEY`
- Notes: Create under Account settings > API keys; the key is shown only once. The CLI uses it instead of `neon login`.
#### Connection string
- Run: `neon connection-string --pooled`
- Get it at: https://console.neon.tech
- Env var: `DATABASE_URL`
- Notes: Or copy it from the Connect button in the Console; the -pooler host enables connection pooling.
### Verify
```sh
neon me
```
### Optional: start without an account
Creates a temporary resource before the human has an account, for trying things out. The steps above are the normal path.
- Run: `neon claim create --env-pull`
- Expires: Unclaimed projects expire after 72 hours and are capped at 100 MB storage and 1 GB transfer until claimed.
- To keep it: The human runs `neon claim accept`, which opens the claim page (`--no-open` prints the URL instead); each claim code lasts 15 minutes.
- Notes: Writes the connection details to `.env`. Functions, Object Storage and AI Gateway stay unavailable until the project is claimed.
## Docs
- Quickstart: https://neon.com/docs/get-started/with-an-agent
- llms.txt: https://neon.com/llms.txt
## Sources
- https://neon.com/pricing
- https://neon.com/docs/introduction/plans
- https://neon.com/faqs/free-plan-limits-and-quotas
- https://neon.com/docs/changelog/2026-10-02
- https://neon.com/blog/neon-free-plan-1-gb-per-project
- https://neon.com/docs/introduction/scale-to-zero
- https://neon.com/docs/get-started/production-checklist
- https://neon.com/docs/reference/cli-install
- https://neon.com/docs/cli/install.md
- https://neon.com/docs/cli/login.md
- https://neon.com/docs/cli/connection-string.md
- https://neon.com/docs/reference/neon-cli
- https://neon.com/docs/manage/api-keys
- https://neon.com/faqs/find-or-generate-neon-api-keys
- https://neon.com/docs/manage/accounts
- https://neon.com/docs/connect/connect-from-any-app
- https://neon.com/docs/get-started/with-an-agent
- https://neon.com/auth.md
- https://neon.com/terms-of-service
- https://neon.com/llms.txt
- https://neon.com/docs/reference/claimable-neon
JSON: https://freetier.tech/api/v1/services/neon.json
---
# Supabase
> Managed Postgres platform with auth, file storage, edge functions and realtime APIs.
- Category: [Databases](https://freetier.tech/c/database.md)
- Free tier: Always free. Two active projects, each with a 500 MB Postgres database; 5 GB egress and 1 GB file storage.
- Commercial use not stated
- Card requirement not stated
- Pricing: https://supabase.com/pricing
- Last verified: 2026-10-28
## Free tier limits
- 2 active free projects across orgs you own or administer (paused projects don't count)
- 500 MB database size per project
- Shared CPU, 500 MB RAM
- 5 GB egress
- 5 GB cached egress
- 1 GB file storage, 50 MB max file upload
- 50,000 monthly active users
- 500,000 Edge Function invocations
- 2 million Realtime messages per month, 200 concurrent peak connections
- 1-day API and database log retention
- 1 GB log ingestion and 100 GB log query included
## Gotchas
- Projects are paused after 1 week of low database activity; a paused project can be restored from the dashboard for up to 1 year.
- Direct connections use IPv6 unless the project has the IPv4 add-on; on IPv4-only networks use the Session pooler connection string.
- No automatic backups or point-in-time recovery on Free.
- Exceeding Free quotas triggers a notification and a grace period; continued overuse leads to service restrictions.
## Setup
### What the human does
1. Sign up at https://supabase.com/dashboard/sign-up (GitHub sign-in is fastest).
2. Approve the browser prompt from `npx supabase login`, or create an access token at https://supabase.com/dashboard/account/tokens.
3. For a direct database connection, copy the connection string from the project's Connect dialog.
### How the agent gets access
#### Connection string
- Get it at: https://supabase.com/dashboard/project/_?showConnect=true
- Env var: `DATABASE_URL`
- Notes: Replace [YOUR-PASSWORD] with the project's database password. Use the Session pooler string on IPv4-only networks.
#### CLI login
- Install: `npm install supabase --save-dev`
- Run: `npx supabase login`
- Notes: Opens a browser by default; pass --token or set SUPABASE_ACCESS_TOKEN when headless.
#### API key
- Get it at: https://supabase.com/dashboard/account/tokens
- Env var: `SUPABASE_ACCESS_TOKEN`
- Notes: Personal access token; lets CLI commands skip `supabase login`.
### Verify
```sh
npx supabase projects list
```
## Docs
- Quickstart: https://supabase.com/docs/guides/getting-started
- llms.txt: https://supabase.com/llms.txt
## Sources
- https://supabase.com/pricing
- https://supabase.com/pricing.md
- https://supabase.com/docs/guides/platform/billing-on-supabase
- https://supabase.com/docs/guides/platform/billing-faq
- https://supabase.com/docs/guides/platform/get-set-up-for-billing
- https://supabase.com/docs/guides/platform/free-project-pausing
- https://supabase.com/docs/guides/platform/manage-your-usage/logs-ingest
- https://supabase.com/docs/guides/platform/manage-your-usage/logs-query
- https://supabase.com/docs/guides/database/connecting-to-postgres
- https://supabase.com/docs/guides/local-development/cli/getting-started
- https://supabase.com/docs/reference/cli/supabase-login
- https://supabase.com/docs/guides/troubleshooting/email-password-login-disabled-supabase-vercel-marketplace-a7dd36
- https://supabase.com/terms
- https://supabase.com/llms.txt
JSON: https://freetier.tech/api/v1/services/supabase.json
---
# TiDB Cloud
> MySQL-compatible distributed SQL database; Starter is its autoscaling serverless tier (formerly Serverless).
- Category: [Databases](https://freetier.tech/c/database.md)
- Free tier: Always free. Five free MySQL-compatible Starter instances per org, each with 5 GiB row + 5 GiB columnar storage and 50M RUs/month.
- Commercial use not stated
- No card required
- Pricing: https://www.pingcap.com/tidb-cloud-starter-pricing-details/
- Last verified: 2026-10-28
## Free tier limits
- Free quota applies to the first 5 MySQL-compatible Starter instances in each organization
- 5 GiB row-based storage per instance
- 5 GiB columnar storage per instance
- 50 million Request Units (RUs) per instance per month
- PostgreSQL-compatible Starter (public preview): first 10 instances free, each with 50 GiB row-based storage and 500 million RUs per month
## Gotchas
- Starter on Alibaba Cloud (Singapore) is in public preview; Starter on AWS is generally available.
- When an instance uses up its free quota, new connections are refused and existing ones are throttled until the month resets or the spending limit is raised.
- A credit card and spending limit are required for a sixth instance or any spending limit above $0.
- Starter requires TLS connections.
- PostgreSQL-compatible Starter is a public preview intended for development and evaluation, not production.
- Serverless was renamed Starter (Aug 2025) and clusters became instances (Apr 2026); CLI commands still say `serverless`.
- Both CLIs (`ticloud` and the newer `ti`) are in public preview.
## Setup
### What the human does
1. Sign up at https://tidbcloud.com/free-trial (Google, GitHub or Microsoft sign-in is fastest).
2. On My TiDB, click Create Resource and select Starter, then choose Alibaba Cloud as the cloud provider and Singapore as the region. Keep the spending limit at $0 so it stays free.
3. Open that instance, click Connect, click Generate Password, and copy the connection string.
4. For CLI access, approve the browser prompt from `ticloud auth login`, or create an API key under Organization Settings > API Keys.
### How the agent gets access
#### Connection string
- Get it at: https://tidbcloud.com
- Env var: `DATABASE_URL`
- Notes: From the instance's Connect dialog (Generate Password first); TLS is required on the public endpoint.
#### CLI login
- Install: `curl https://raw.githubusercontent.com/tidbcloud/tidbcloud-cli/main/install.sh | sh`
- Run: `ticloud auth login`
- Notes: OAuth device flow that opens a browser for the human to approve. To create the Alibaba Cloud Singapore instance from the CLI, find its region name with `ticloud serverless region`, then run `ticloud serverless create --display-name --region `.
#### API key
- Run: `ticloud config create --profile-name --public-key --private-key `
- Get it at: https://tidbcloud.com
- Notes: Create under Organization Settings > API Keys; this command saves the public/private key pair to a CLI profile.
### Verify
```sh
ticloud project list
```
## Docs
- Quickstart: https://docs.pingcap.com/tidbcloud/tidb-cloud-quickstart/
- llms.txt: https://docs.pingcap.com/llms.txt
## Sources
- https://www.pingcap.com/tidb-cloud-starter/
- https://www.pingcap.com/pricing/
- https://www.pingcap.com/tidb-cloud-starter-pricing-details/
- https://docs.pingcap.com/tidbcloud/select-cluster-tier/
- https://docs.pingcap.com/tidbcloud/create-tidb-cluster-serverless/
- https://docs.pingcap.com/tidbcloud/manage-serverless-spend-limit/
- https://docs.pingcap.com/tidbcloud/tidb-cloud-quickstart/
- https://docs.pingcap.com/tidbcloud/connect-to-tidb-cluster-serverless/
- https://docs.pingcap.com/developer/dev-guide-sample-application-nodejs-prisma/
- https://docs.pingcap.com/tidbcloud/get-started-with-cli/
- https://docs.pingcap.com/tidbcloud/cli-reference/
- https://docs.pingcap.com/tidbcloud/ticloud-auth-login/
- https://docs.pingcap.com/tidbcloud/ticloud-config-create/
- https://docs.pingcap.com/tidbcloud/ticloud-project-list/
- https://docs.pingcap.com/tidbcloud/integrate-tidbcloud-with-n8n/
- https://docs.pingcap.com/ai/ti-overview/
- https://docs.pingcap.com/tidbcloud/tidb-cloud-release-notes/
- https://docs.pingcap.com/tidbcloud/release-notes-2025/
- https://www.pingcap.com/blog/tidb-cloud-supports-oauth-2-0-for-a-more-secure-login-experience/
- https://docs.pingcap.com/llms.txt
- https://docs.pingcap.com/tidbcloud/tidb-cloud-intro/
- https://www.pingcap.com/blog/introducing-tidb-cloud-starter-auto-scaling-plan-renamed/
- https://docs.pingcap.com/tidbcloud/ticloud-serverless-region
- https://docs.pingcap.com/tidbcloud/ticloud-cluster-create/
JSON: https://freetier.tech/api/v1/services/tidb-cloud.json
---
# Brevo
> Customer messaging platform with a transactional email API and SMTP relay alongside marketing email, SMS and CRM tools.
- Category: [Transactional email](https://freetier.tech/c/email.md)
- Free tier: Always free. 300 emails per day, shared between transactional email and campaigns.
- Commercial use allowed
- No card required
- Pricing: https://www.brevo.com/pricing/
- Last verified: 2026-10-28
## Free tier limits
- 300 emails per day (transactional and campaigns combined)
- 100,000 contacts
- 1,000 requests per second on the transactional send endpoint (POST /v3/smtp/email)
- 100 requests per hour on API endpoints without a dedicated rate limit
## Gotchas
- Brevo has to approve a new account before it can send; if sends fail with "SMTP account is not yet activated", request transactional activation through a support ticket from the account.
- The sender address must be verified (Brevo emails it a link) or its domain authenticated before you can send from it.
- The 300-per-day cap is shared with marketing campaigns, and only a paid plan removes it.
- Account, sender and domain API endpoints fall under the 100 requests/hour general limit.
- API keys are shown only once, when created.
## Setup
### What the human does
1. Sign up at https://onboarding.brevo.com/account/register with an email address and organization name, then verify the email.
2. Create an API key at https://app.brevo.com/settings/keys/api.
3. Verify a sender email address or authenticate your sending domain (DNS records) in Brevo.
### How the agent gets access
#### API key
- Install: `npm install @getbrevo/brevo`
- Get it at: https://app.brevo.com/settings/keys/api
- Env var: `BREVO_API_KEY`
- Notes: Send the key in the `api-key` header; the SDKs take it as a constructor argument (Brevo's PHP guide reads it from BREVO_API_KEY).
### Verify
```sh
curl -s https://api.brevo.com/v3/account -H "api-key: $BREVO_API_KEY"
```
## Docs
- Quickstart: https://developers.brevo.com/docs/quickstart
- llms.txt: https://developers.brevo.com/llms.txt
## Sources
- https://www.brevo.com/pricing/
- https://www.brevo.com/pricing.md
- https://www.brevo.com/llms.txt
- https://www.brevo.com/free-smtp-server/
- https://www.brevo.com/features/email-api/
- https://www.brevo.com/products/transactional-email/
- https://help.brevo.com/hc/en-us/articles/115000188150-Troubleshooting-Issues-with-Brevo-SMTP
- https://developers.brevo.com/docs/quickstart
- https://developers.brevo.com/docs/api-key-authentication
- https://developers.brevo.com/docs/api-limits
- https://developers.brevo.com/docs/send-a-transactional-email
- https://developers.brevo.com/docs/sender-creation-and-management
- https://developers.brevo.com/guides/node-js
- https://developers.brevo.com/guides/php
- https://developers.brevo.com/llms.txt
JSON: https://freetier.tech/api/v1/services/brevo.json
---
# Mailgun
> Email API and SMTP relay for sending, receiving and tracking email.
- Category: [Transactional email](https://freetier.tech/c/email.md)
- Free tier: Always free. 100 emails per day with 1 custom sending domain and 1-day log retention.
- Commercial use not stated
- No card required
- Pricing: https://www.mailgun.com/pricing/
- Last verified: 2026-10-28
## Free tier limits
- 100 emails per day
- 1 custom sending domain
- 2 API keys
- 1-day log retention
- 1 inbound route
- 1 user per account
## Gotchas
- Account activation requires verifying your email and a mobile number by SMS; VoIP, virtual and landline numbers are not accepted.
- The built-in sandbox domain only delivers to up to 5 authorized recipients, who must each confirm by email; verify a custom domain to send to anyone.
- Domains created in the EU region must use https://api.eu.mailgun.net instead of https://api.mailgun.net.
- Domain sending keys can only send messages; listing or managing domains needs an account API key.
## Setup
### What the human does
1. Sign up at https://signup.mailgun.com/new/signup.
2. Activate the account by verifying your email address and a mobile phone number (SMS code).
3. Create an API key at https://app.mailgun.com/settings/api_security.
4. Add your sending domain's DNS records at your DNS provider, or add yourself as an authorized recipient to test with the sandbox domain.
### How the agent gets access
#### API key
- Get it at: https://app.mailgun.com/settings/api_security
- Env var: `MAILGUN_API_KEY`
- Notes: HTTP Basic auth with username `api`; the official MCP server reads MAILGUN_API_KEY (and MAILGUN_API_REGION=eu for EU accounts).
### Verify
```sh
curl -s --user "api:$MAILGUN_API_KEY" https://api.mailgun.net/v4/domains
```
## Docs
- Quickstart: https://documentation.mailgun.com/docs/mailgun/quickstart
- llms.txt: https://documentation.mailgun.com/llms.txt
## Sources
- https://www.mailgun.com/pricing/
- https://www.mailgun.com/features/email-api/
- https://help.mailgun.com/hc/en-us/articles/203068914-What-does-the-Free-plan-offer
- https://help.mailgun.com/hc/en-us/articles/37182933150491-Account-Activation
- https://help.mailgun.com/hc/en-us/articles/217531258-Authorized-Recipients
- https://documentation.mailgun.com/docs/mailgun/quickstart
- https://documentation.mailgun.com/docs/mailgun/user-manual/domains/domains-sandbox
- https://documentation.mailgun.com/docs/mailgun/api-reference/api-overview
- https://documentation.mailgun.com/docs/mailgun/api-reference/mg-auth
- https://documentation.mailgun.com/docs/mailgun/user-manual/api-key-mgmt/rbac-mgmt
- https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/domains/get-v4-domains
- https://documentation.mailgun.com/docs/mailgun/mcp
- https://documentation.mailgun.com/docs/mailgun/sdk/nodejs_sdk
- https://www.mailgun.com/legal/terms/
- https://documentation.mailgun.com/llms.txt
JSON: https://freetier.tech/api/v1/services/mailgun.json
---
# Resend
> Email API for sending transactional and marketing email, with SDKs, SMTP relay, inbound email and webhooks.
- Category: [Transactional email](https://freetier.tech/c/email.md)
- Free tier: Always free. 3,000 transactional emails per month, capped at 100 per day, with up to 3 verified domains.
- Commercial use not stated
- No card required
- Pricing: https://resend.com/pricing
- Last verified: 2026-10-28
## Free tier limits
- 3,000 transactional emails per month
- 100 emails per day (UTC calendar day)
- 3 verified domains
- 1 webhook endpoint
- 30-day data retention
- 1,000 marketing contacts
- 10 API requests per second per team
## Gotchas
- Received (inbound) emails and every To, CC and BCC recipient count against the daily and monthly quota.
- Until a domain is verified you can only send test emails from onboarding@resend.dev to your own account address; other recipients get a 403.
- API keys with "Sending access" can only send email; creating and verifying domains needs a "Full access" key.
- Going over the quota returns a 429 (daily_quota_exceeded or monthly_quota_exceeded); the daily quota resets at midnight UTC.
- A domain's region and return path can't be changed after it is created.
## Setup
### What the human does
1. Sign up at https://resend.com/signup (Google, GitHub or email).
2. Create an API key at https://resend.com/api-keys (Full access if the agent will set up domains), or approve the MCP server's OAuth login.
3. Add the DNS records Resend lists for your sending domain at your DNS provider, unless the agent can edit DNS.
### How the agent gets access
#### API key
- Install: `npm install -g resend-cli`
- Get it at: https://resend.com/api-keys
- Env var: `RESEND_API_KEY`
- Notes: The Resend CLI and local MCP server read RESEND_API_KEY; `resend login` stores a pasted key instead. The key is shown only once.
#### OAuth
- Run: `claude plugin install resend@claude-plugins-official`
- Notes: Adds the hosted MCP server (https://mcp.resend.com/mcp); run /mcp and log in through the browser. For Codex, `codex mcp add resend --url https://mcp.resend.com/mcp`.
### Verify
```sh
resend doctor
```
## Docs
- Quickstart: https://resend.com/docs/introduction
- llms.txt: https://resend.com/llms.txt
## Sources
- https://resend.com/pricing
- https://resend.com/pricing.md
- https://resend.com/docs/knowledge-base/account-quotas-and-limits
- https://resend.com/docs/api-reference/rate-limit
- https://resend.com/changelog/three-domains-on-the-free-tier
- https://resend.com/legal/terms-of-service
- https://resend.com/docs/knowledge-base/403-error-resend-dev-domain
- https://resend.com/docs/create-an-api-key
- https://resend.com/docs/dashboard/api-keys/introduction
- https://resend.com/docs/cli
- https://resend.com/docs/mcp-server
- https://resend.com/docs/ai-onboarding
- https://resend.com/setup.md
- https://resend.com/auth.md
- https://resend.com/signup
- https://resend.com/docs/introduction
- https://resend.com/llms.txt
JSON: https://freetier.tech/api/v1/services/resend.json
---
# Cloudflare Workers AI
> Serverless AI inference on Cloudflare's network, with text-to-image models callable over a REST API or a Workers binding.
- Category: [Image generation](https://freetier.tech/c/image-generation.md)
- Free tier: Always free. 10,000 Neurons per day, reset at 00:00 UTC, usable with FLUX, Stable Diffusion and Leonardo text-to-image models.
- Commercial use not stated
- No card required
- Pricing: https://developers.cloudflare.com/workers-ai/platform/pricing/
- Last verified: 2026-10-28
## Free tier limits
- 10,000 Neurons per day on Workers Free and Workers Paid
- The daily allocation resets at 00:00 UTC
- Text-to-Image rate limit: 720 requests per minute (beta models may be lower)
- FLUX.1 [schnell]: 4.80 Neurons per 512x512 tile plus 9.60 per step (4 steps by default, 8 max)
- FLUX.2 [klein] 4B: 5.37 Neurons per input 512x512 tile, 26.05 per output tile
- FLUX.2 [dev]: 18.75 Neurons per input 512x512 tile per step, 37.50 per output tile per step
- FLUX.2 [klein] 9B: 1,363.64 Neurons for the first megapixel (1024x1024), 181.82 per subsequent megapixel
- Leonardo Phoenix 1.0: 530 Neurons per 512x512 tile plus 10 per step
- Leonardo Lucid Origin: 636 Neurons per 512x512 tile plus 12 per step
- Beta models Stable Diffusion XL base 1.0 and SDXL-Lightning: listed at $0.00 per step
## Gotchas
- Workers Free has no pay-as-you-go; once the 10,000 daily Neurons are used, requests fail with HTTP 429 (error 3036) until 00:00 UTC.
- Neuron cost depends on the model, the number of 512x512 tiles and the step count; Leonardo models cost 530-636 Neurons per tile versus 4.80 for FLUX.1 [schnell].
- Inference from `wrangler dev` still runs on your Cloudflare account and counts toward the daily allocation.
- Each model has its own license or provider terms (see its model page), and Cloudflare's terms require following them; check them before commercial use.
- Cloudflare can make a model Workers Paid only, after which Free requests get HTTP 403 (error 5035); the July 2026 change covered a few resource-intensive LLMs, not image models.
- Requests can fail with HTTP 429 error 3040 (Out of capacity); retry later.
- Response formats differ by model; FLUX models and Lucid Origin return JSON with a base64 image, while Stable Diffusion XL and Phoenix return raw PNG or JPEG bytes.
- FLUX.2 models take multipart form data, even for a prompt-only request.
- Accounts created with Google, GitHub or Apple sign-in have no password at first, and creating API tokens requires one.
## Setup
### What the human does
1. Sign up at https://dash.cloudflare.com/sign-up/workers-and-pages (email, Google, GitHub or Apple).
2. If you used Google, GitHub or Apple, set a password at https://dash.cloudflare.com/forgot-password; API token creation requires one.
3. Open Workers AI at https://dash.cloudflare.com/?to=/:account/ai/workers-ai, select Use REST API > Create a Workers AI API Token > Create API Token, then copy the token and the Account ID.
4. To use the Workers binding instead, approve the browser prompt from `npx wrangler login`.
### How the agent gets access
#### API key
- Get it at: https://dash.cloudflare.com/?to=/:account/ai/workers-ai
- Env var: `CLOUDFLARE_API_TOKEN`
- Notes: Also set CLOUDFLARE_ACCOUNT_ID from the same dialog. A custom token needs Workers AI Read and Workers AI Edit. The token is shown only once.
#### CLI login
- Install: `npm i -D wrangler@latest`
- Run: `npx wrangler login`
- Notes: For Workers that call models through the AI binding (env.AI). Opens a browser; use --device when the localhost:8976 callback is unreachable. In headless environments, set CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID instead.
### Verify
```sh
curl -s "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/models/search?search=flux" -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
```
## Docs
- Quickstart: https://developers.cloudflare.com/workers-ai/get-started/rest-api/
- llms.txt: https://developers.cloudflare.com/workers-ai/llms.txt
## Sources
- https://developers.cloudflare.com/workers-ai/platform/pricing/
- https://developers.cloudflare.com/workers-ai/platform/limits/
- https://developers.cloudflare.com/workers-ai/platform/errors/
- https://developers.cloudflare.com/workers-ai/platform/data-usage/
- https://developers.cloudflare.com/workers-ai/models/flux-1-schnell/
- https://developers.cloudflare.com/workers-ai/models/flux-2-dev/
- https://developers.cloudflare.com/workers-ai/models/flux-2-klein-4b/
- https://developers.cloudflare.com/workers-ai/models/flux-2-klein-9b/
- https://developers.cloudflare.com/workers-ai/models/lucid-origin/
- https://developers.cloudflare.com/workers-ai/models/phoenix-1.0/
- https://developers.cloudflare.com/workers-ai/models/stable-diffusion-xl-base-1.0/
- https://developers.cloudflare.com/workers-ai/models/stable-diffusion-xl-lightning/
- https://developers.cloudflare.com/changelog/post/2026-01-15-flux-2-klein-4b-workers-ai/
- https://developers.cloudflare.com/changelog/post/2026-07-28-models-require-workers-paid/
- https://developers.cloudflare.com/workers-ai/get-started/rest-api/
- https://developers.cloudflare.com/workers-ai/get-started/workers-wrangler/
- https://developers.cloudflare.com/api/resources/ai/methods/run/
- https://developers.cloudflare.com/api/resources/ai/subresources/models/methods/list/
- https://developers.cloudflare.com/fundamentals/api/get-started/create-token/
- https://developers.cloudflare.com/fundamentals/api/reference/sdks/
- https://developers.cloudflare.com/fundamentals/account/create-account/
- https://developers.cloudflare.com/fundamentals/user-profiles/login/
- https://developers.cloudflare.com/workers/platform/pricing/
- https://developers.cloudflare.com/workers/wrangler/install-and-update/
- https://developers.cloudflare.com/workers/wrangler/commands/general/
- https://developers.cloudflare.com/workers/wrangler/system-environment-variables/
- https://www.cloudflare.com/products/workers/
- https://www.cloudflare.com/service-specific-terms-developer-platform/
- https://developers.cloudflare.com/workers-ai/llms.txt
JSON: https://freetier.tech/api/v1/services/cloudflare-workers-ai.json