Skip to content

For AI agents

41 free offers from 26 vendors, read-only JSON, no key. Updated 4h ago

Point your agent here

https://tierzero.fru.dev/llms.txtSummary, every page and the API
https://tierzero.fru.dev/llms-full.txtEvery offer, one line each
https://tierzero.fru.dev/openapi.jsonOpenAPI 3.1, usable as tools

Call the API

GET only, CORS open, cached an hour at the edge. Lists take limit (up to 200) and offset.

  • GET/api/offersFree tiers, trials, credits and programs, filterabletype, category, vendor, nocard, limit, offset{ updated, total, count, limit, offset, offers[], vendors[], changes[] }
  • GET/api/offers/{id}One offer with its vendor and change historyid{ offer, vendor, changes[] }
  • GET/api/vendorsEvery vendor with how many offers it hasnone{ updated, count, vendors[] }
  • GET/api/vendors/{id}One vendor and its offersid{ vendor, offers[] }
  • GET/api/changesLaunches, raises, cuts and ends, newest first, each with its sourcelimit, offset{ total, count, limit, offset, changes[] }
  • GET/api/searchRanked search over vendors, offers and pagesq, limit{ q, results[] } (at most 20)

Free tiers, trials, credits and programs, filterable

curl -s 'https://tierzero.fru.dev/api/offers?type=always-free&category=database'
Sample response (real row, trimmed)
{
  "updated": "2026-09-24 10:46:12",
  "total": 41,
  "count": 1,
  "limit": 1,
  "offset": 0,
  "offers": [
    {
      "id": "aws-always-free",
      "vendor": "aws",
      "product": "AWS Always Free",
      "category": "cloud",
      "type": "always-free",
      "headline": "30+ services always free",
      "summary": "More than 30 AWS services carry a monthly free allowance on both the Free and Paid plans.",
      "creditsUsd": null,
      "upTo": false,
      "durationDays": null,
      "cardRequired": null,
      "limits": [
        [
          "Services",
          "30+ with monthly free usage"
        ],
        [
          "Plans",
          "Free and Paid plans"
        ]
      ],
      "eligibility": "",
      "signupUrl": "https://aws.amazon.com/free/",
      "docsUrl": "https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier.html",
      "sourceUrl": "https://aws.amazon.com/free/",
      "sourceQuote": "Always free: 30+ AWS services are always free within monthly usage limits on both the Free and Paid plans.",
      "lastVerified": "2026-09-24",
      "reviewed": true,
      "origin": "seed"
    }
  ]
}

One offer with its vendor and change history

curl -s 'https://tierzero.fru.dev/api/offers/snowflake-trial'
Sample response (real row, trimmed)
{
  "offer": {
    "id": "aws-always-free",
    "vendor": "aws",
    "product": "AWS Always Free",
    "category": "cloud",
    "type": "always-free",
    "headline": "30+ services always free",
    "summary": "More than 30 AWS services carry a monthly free allowance on both the Free and Paid plans.",
    "creditsUsd": null,
    "upTo": false,
    "durationDays": null,
    "cardRequired": null,
    "limits": [
      [
        "Services",
        "30+ with monthly free usage"
      ],
      [
        "Plans",
        "Free and Paid plans"
      ]
    ],
    "eligibility": "",
    "signupUrl": "https://aws.amazon.com/free/",
    "docsUrl": "https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier.html",
    "sourceUrl": "https://aws.amazon.com/free/",
    "sourceQuote": "Always free: 30+ AWS services are always free within monthly usage limits on both the Free and Paid plans.",
    "lastVerified": "2026-09-24",
    "reviewed": true,
    "origin": "seed"
  },
  "vendor": {
    "id": "aws",
    "name": "AWS",
    "domain": "aws.amazon.com",
    "website": "https://aws.amazon.com",
    "description": "Amazon Web Services, the largest public cloud."
  },
  "changes": []
}

Every vendor with how many offers it has

curl -s 'https://tierzero.fru.dev/api/vendors'
Sample response (real row, trimmed)
{
  "count": 26,
  "vendors": [
    {
      "id": "aws",
      "name": "AWS",
      "domain": "aws.amazon.com",
      "website": "https://aws.amazon.com",
      "description": "Amazon Web Services, the largest public cloud.",
      "offers": 4
    }
  ]
}

One vendor and its offers

curl -s 'https://tierzero.fru.dev/api/vendors/snowflake'
Sample response (real row, trimmed)
{
  "vendor": {
    "id": "aws",
    "name": "AWS",
    "domain": "aws.amazon.com",
    "website": "https://aws.amazon.com",
    "description": "Amazon Web Services, the largest public cloud."
  },
  "offers": [
    {
      "id": "aws-always-free",
      "vendor": "aws",
      "product": "AWS Always Free",
      "category": "cloud",
      "type": "always-free",
      "headline": "30+ services always free",
      "summary": "More than 30 AWS services carry a monthly free allowance on both the Free and Paid plans.",
      "creditsUsd": null,
      "upTo": false,
      "durationDays": null,
      "cardRequired": null,
      "limits": [
        [
          "Services",
          "30+ with monthly free usage"
        ],
        [
          "Plans",
          "Free and Paid plans"
        ]
      ],
      "eligibility": "",
      "signupUrl": "https://aws.amazon.com/free/",
      "docsUrl": "https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier.html",
      "sourceUrl": "https://aws.amazon.com/free/",
      "sourceQuote": "Always free: 30+ AWS services are always free within monthly usage limits on both the Free and Paid plans.",
      "lastVerified": "2026-09-24",
      "reviewed": true,
      "origin": "seed"
    }
  ]
}

Launches, raises, cuts and ends, newest first, each with its source

curl -s 'https://tierzero.fru.dev/api/changes?limit=10'
Sample response (real row, trimmed)
{
  "total": 4,
  "count": 1,
  "limit": 1,
  "offset": 0,
  "changes": [
    {
      "id": 4,
      "offer": "github-copilot-free",
      "date": "2026-09-23",
      "kind": "changed",
      "field": "allowance",
      "before": "2,000 code completions and 50 chat messages a month",
      "after": "An allowance of GitHub AI Credits, auto model selection only",
      "note": "Seen on GitHub's Copilot plans page on this date; the page does not date the switch.",
      "sourceUrl": "https://docs.github.com/en/copilot/get-started/plans",
      "reviewed": true
    }
  ]
}

Ranked search over vendors, offers and pages

curl -s 'https://tierzero.fru.dev/api/search?q=postgres'
Sample response (real row, trimmed)
{
  "q": "aws",
  "results": [
    {
      "id": "co:aws",
      "group": "companies",
      "title": "AWS",
      "href": "/vendors/aws"
    }
  ]
}

Add to your agent

System prompt line

For free tiers, trials and credits of cloud, data and AI services, fetch https://tierzero.fru.dev/llms.txt and use https://tierzero.fru.dev/api/offers (filters: type, category, vendor, nocard). Cite "Tier Zero (tierzero.fru.dev)" with a link.

Tool definition

{
  "name": "tierzero_list_offers",
  "description": "List free tiers, trials and credits from Tier Zero (tierzero.fru.dev). Returns offers with headline, limits, card requirement, duration and the vendor's official sign-up link.",
  "input_schema": {
    "type": "object",
    "properties": {
      "type": {
        "type": "string",
        "enum": [
          "always-free",
          "trial",
          "credits",
          "student",
          "startup"
        ]
      },
      "category": {
        "type": "string",
        "enum": [
          "cloud",
          "data",
          "ai",
          "database",
          "vector",
          "hosting",
          "notebooks",
          "devtools"
        ]
      },
      "vendor": {
        "type": "string",
        "description": "Vendor id, e.g. snowflake"
      },
      "nocard": {
        "type": "string",
        "enum": [
          "1"
        ],
        "description": "1 = only offers that need no card"
      }
    }
  }
}

Python

import requests

r = requests.get(
    "https://tierzero.fru.dev/api/offers",
    params={"type": "always-free", "category": "database"},
    timeout=10,
)
for o in r.json()["offers"]:
    print(o["product"], "-", o["headline"], o["signupUrl"])

TypeScript

const url = new URL('https://tierzero.fru.dev/api/offers')
url.searchParams.set('type', 'always-free')
url.searchParams.set('category', 'database')

const res = await fetch(url)
const { offers } = await res.json()
for (const o of offers) {
  console.log(o.product, '-', o.headline, o.signupUrl)
}

Usage terms

  • Free for reading. No key, no sign-up.
  • Please cite "Tier Zero (tierzero.fru.dev)" with a link.
  • Responses are cached an hour; keep to 60 requests a minute.
  • Rows with reviewed: false are Unverified. The vendor's page is the final word.

Weekly: free tiers, trials and credits that changed, Thursdays.