{"uid":"cap_M5-pBRci48xGl7kLo3ddq","slug":"pricing-state-api-set-change-feed-ba09cd0d","name":"Pricing State API — Set Change Feed","description":"Closed catalog of public SaaS and cloud pricing pages, grouped into two named sets (inference and devtools). Each listed vendor is fetched on a ~6 hour schedule in a real browser, extracted into one JSON shape (plan names, prices, currency, billing period, printed price text, features when present, snapshot time), and diffed for detected plan/price/billing-period changes. The paid unit is the set change feed, GET /api/sets/{set}/changes: 0.01 USDC on Base via x402 v2, charged only when a change was recorded after your since cursor, and free when the window is empty. Per-slug snapshot and changes calls remain 0.01 USDC each. Not a live scrape-any-URL service and not unpublished or negotiated rates. Discover sets and slugs free at GET /api/sets and GET /api/monitors. No API key.","url":"https://pricing-state-api.replit.app/api/sets/%7Bset%7D/changes?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"pathParams":{"type":"object","required":["set"],"properties":{"set":{"enum":["inference","devtools"],"type":"string","example":"inference","description":"One named set: inference or devtools (free: GET /api/sets)."}}},"queryParams":{"type":"object","required":[],"properties":{"limit":{"type":"integer","default":20,"example":20,"maximum":100,"minimum":1},"since":{"type":"string","example":"2026-09-01T00:00:00Z","description":"ISO 8601 timestamp with a zone. Only changes detected strictly after it are returned; an empty window is free. Pass back the previous response's cursor."},"before":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,128}$","description":"Opaque cursor from a previous response's nextBefore (optional)."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"set":"inference","limit":20,"since":"2026-09-01T00:00:00Z","cursor":"2026-09-12T08:30:00.000Z","changes":[{"slug":"example-saas","change":{"id":42,"details":[{"kind":"price_changed","after":"10","before":"8","planName":"Pro"}],"summary":"\"Pro\" price changed: $8 → $10","detectedAt":"2026-09-12T08:30:00.000Z"},"sourceUrl":"https://example.com/pricing","detectedAt":"2026-09-12T08:30:00.000Z","snapshotAt":"2026-09-12T08:30:00.000Z"}],"charged":true,"hasMore":false,"nextBefore":null}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_BxrsRHl_kztlZNKyE2c3C","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a paginated feed of detected pricing changes (plan names, prices, billing periods) for all vendors in a named SaaS/cloud catalog set (inference or devtools), filtered by a time cursor.","exampleAgentPrompt":"Show me all pricing changes detected in the inference set since October 1 2026 — I want to know which plans changed price, what the before and after amounts were, and which vendors were affected.","exampleUseCases":[{"title":"Weekly AI pricing change digest","prompt":"Give me a summary of every pricing change detected in the inference set since last Monday — which vendors changed prices, which plans were affected, and by how much?"},{"title":"Devtools price hike alert","prompt":"Check the devtools set for any pricing changes since November 15 2026 and let me know if any plan prices went up so I can review our SaaS budget."},{"title":"Automated pricing change poller","prompt":"Poll the inference set for new pricing changes since the cursor I last used — 2026-09-12T08:30:00Z — and return the next batch of up to 50 changes if any exist."}],"resultDescription":"A JSON object containing the set name, the since timestamp, a cursor for the next poll, an array of change records (each with vendor slug, change ID, list of change details with kind/plan/before/after values, human-readable summary, detectedAt timestamp, and source pricing page URL), a charged boolean indicating whether the window was non-empty, a hasMore flag, and an optional nextBefore pagination cursor.","failureModes":["Empty window returns charged:false and an empty changes array — no charge incurred","Invalid set name (not 'inference' or 'devtools') returns a 400 or 404 error","Malformed since timestamp (non-ISO 8601) returns a validation error","Payment failure via x402 returns a 402 Payment Required response","Invalid before cursor format returns a 400 error","Limit out of range (< 1 or > 100) returns a validation error"],"whenToPreferThis":"Use this endpoint when you need to efficiently poll for new SaaS or cloud pricing changes across a curated vendor catalog without scraping individual pages yourself. Prefer it over generic web scraping when you want structured, diffed, timestamped pricing change records in a consistent JSON shape with cursor-based pagination. Best suited for recurring agent workflows that check periodically for price movements in the inference or devtools vendor sets, especially when cost efficiency matters — the call is free when no changes exist in the requested window.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T18:35:18.227Z","isFirstParty":false,"canonicalSlug":"pricing-state-api-set-change-feed-ba09cd0d"}