Public API
Read-only JSON endpoints.
Every page on TierGauge is also available as JSON. Schema-pinned (every endpoint validated on every build), CORS-open, cached for 10 minutes, and CC BY 4.0 licensed with attribution.
- Endpoints
- 8
- Per-tool feeds
- 37
- Per-category feeds
- 21
- Cache window
- 10 min
Endpoints
Every endpoint returns JSON with `Content-Type: application/json; charset=utf-8` and the `Cache-Control: public, max-age=600, must-revalidate` header. Each response embeds its own `$schema` URL.
Full feed: every tool we track, with editorial fields, plans, prices, limits, included and missing features, source URLs and capture timestamps. Index-style.
- Top-level keys
- feed_version, generated_at, tools[], per_tool_endpoints[]
- Shape
-
{ feed_version, generated_at, count, tools: Tool[], per_tool_endpoints: string[] }
Per-tool feed: a single Tool with the full editorial + plan payload. One endpoint per slug; the index feed lists them all in `per_tool_endpoints`.
- Top-level keys
- feed_version, generated_at, tool
- Shape
-
{ feed_version, generated_at, tool: Tool }
Per-category feed: all tools whose primary or secondary category matches the slug, ranked the same way as `/best/<category>`. One endpoint per category.
- Top-level keys
- feed_version, generated_at, category, tools[]
- Shape
-
{ feed_version, generated_at, category, tools: Tool[] }
Per-category pricing-comparison feed: cost-only slice (free tier, entry paid plan, mid-tier paid plan) per tool. Mirrors the HTML view at /pricing/<category>. One endpoint per category with 2+ tools. Designed for AI search engines to cite when answering 'compare X pricing' queries.
- Top-level keys
- feed_version, generated_at, category, page_url, tools[]
- Shape
-
{ feed_version, generated_at, category, page_url, tools: { slug, name, plans: { free, entry_paid, mid_tier } }[] }
Pricing-change events: each entry is a captured anchor-price change from the weekly scrape. Empty until the cron has run with real changes; the URL is stable so consumers can subscribe-by-polling.
- Top-level keys
- feed_version, generated_at, count, events[]
- Shape
-
{ feed_version, generated_at, count, events: PriceChange[] }
Coverage gaps: tools referenced by something we DO track (via `alternatives`) but not yet seeded into the spine. Mirrors the data on /coverage. Sorted by reference count, descending.
- Top-level keys
- feed_version, generated_at, tools_tracked, gap_count, total_references, gaps[]
- Shape
-
{ tools_tracked, gap_count, total_references, gaps: { slug, reference_count, referenced_by[] }[] }
Per-tool freshness: when each tool was last verified, bucketed into fresh / due / stale tiers aligned with the weekly scrape cadence. Mirrors /freshness. Sorted stalest-first.
- Top-level keys
- feed_version, generated_at, thresholds, buckets, tools[]
- Shape
-
{ thresholds: { fresh_days, stale_days }, buckets: { fresh, due, stale }, tools: { slug, name, last_verified, age_days, staleness }[] }
Per-tool most-recent scrape attempt: outcome, plans found, warnings, error message on failure, plus cumulative attempt count. Pairs with /api/freshness.json (verified-data staleness) and /api/coverage.json (missing alternatives) so external monitors get three independent signals on data health.
- Top-level keys
- feed_version, generated_at, tools_with_runs, total_warnings_last_run, last_run_outcome_counts, runs[]
- Shape
-
{ tools_with_runs, total_warnings_last_run, last_run_outcome_counts: { ok?, stale-preserved?, ... }, runs: { slug, name, attempts, latest: null | { run_at, outcome, plans_found?, warnings?, error? } }[] }
Per-tool and per-category catalog
We currently track 37 tools and 21 categories. Each has its own dedicated endpoint:
Per-tool (37)
- /api/tools/beehiiv.json
- /api/tools/buffer.json
- /api/tools/buttondown.json
- /api/tools/cal.json
- /api/tools/calendly.json
- /api/tools/close.json
- /api/tools/convert.json
- /api/tools/crisp.json
- /api/tools/customer-io.json
- /api/tools/demio.json
- /api/tools/drip.json
- /api/tools/flodesk.json
- /api/tools/ghost.json
- /api/tools/help-scout.json
- /api/tools/hightouch.json
- /api/tools/hunter.json
- /api/tools/intercom.json
- /api/tools/kit.json
- /api/tools/leadpages.json
- /api/tools/lemlist.json
- /api/tools/mailchimp.json
- /api/tools/mailerlite.json
- /api/tools/mailgun.json
- /api/tools/mailtrap.json
- /api/tools/mixpanel.json
- /api/tools/omnisend.json
- /api/tools/posthog.json
- /api/tools/postmark.json
- /api/tools/postscript.json
- /api/tools/resend.json
- /api/tools/substack.json
- /api/tools/surfer-seo.json
- /api/tools/tally.json
- /api/tools/triple-whale.json
- /api/tools/typeform.json
- /api/tools/unbounce.json
- /api/tools/webflow.json
Per-category (21)
- /api/categories/ab-testing.json (A/B testing)
- /api/categories/analytics.json (Analytics)
- /api/categories/calendar-scheduling.json (Scheduling)
- /api/categories/content-marketing.json (Content marketing)
- /api/categories/crm.json (CRM)
- /api/categories/customer-data-platform.json (Customer data platform)
- /api/categories/deliverability.json (Deliverability)
- /api/categories/email-marketing.json (Email marketing)
- /api/categories/form-builder.json (Form builders)
- /api/categories/help-desk.json (Help desk)
- /api/categories/landing-pages.json (Landing pages)
- /api/categories/lead-generation.json (Lead generation)
- /api/categories/live-chat.json (Live chat)
- /api/categories/marketing-attribution.json (Marketing attribution)
- /api/categories/marketing-automation.json (Marketing automation)
- /api/categories/sales-engagement.json (Sales engagement)
- /api/categories/seo.json (SEO)
- /api/categories/sms-marketing.json (SMS marketing)
- /api/categories/social-media-management.json (Social media management)
- /api/categories/transactional-email.json (Transactional email)
- /api/categories/webinar.json (Webinar)
Per-category pricing (17)
- /api/pricing/ab-testing.json (A/B testing)
- /api/pricing/analytics.json (Analytics)
- /api/pricing/calendar-scheduling.json (Scheduling)
- /api/pricing/content-marketing.json (Content marketing)
- /api/pricing/customer-data-platform.json (Customer data platform)
- /api/pricing/deliverability.json (Deliverability)
- /api/pricing/email-marketing.json (Email marketing)
- /api/pricing/form-builder.json (Form builders)
- /api/pricing/help-desk.json (Help desk)
- /api/pricing/landing-pages.json (Landing pages)
- /api/pricing/lead-generation.json (Lead generation)
- /api/pricing/live-chat.json (Live chat)
- /api/pricing/marketing-attribution.json (Marketing attribution)
- /api/pricing/marketing-automation.json (Marketing automation)
- /api/pricing/sales-engagement.json (Sales engagement)
- /api/pricing/sms-marketing.json (SMS marketing)
- /api/pricing/transactional-email.json (Transactional email)
RSS and HTML feeds
Pricing changes are also published as a standard RSS 2.0 feed at /changes.xml . Subscribe in any reader for push-style updates instead of polling the JSON endpoint.
For a human-readable view of the same data, with events grouped by month and tagged with direction (increase, decrease, added, removed, to-custom, from-custom), see /changes. Cite freely with attribution.
License and attribution
All endpoints are CC BY 4.0 with attribution to TierGauge. Linkbacks
to https://tiergauge.com in
derivative works are appreciated.
Pricing data is scraped from official vendor pages and merged with editorial. We try to keep it accurate, but always confirm with the vendor before purchasing. See Methodology for full details.
For LLM agents and citation tooling, a curated index of the most citable URLs is published at /llms.txt (short list) and /llms-full.txt (extended index with one-line excerpts), following the llmstxt.org convention.