Soren

What PC games will be free next week?

Epic Games Store announces its giveaways ahead of time — usually about a week — and rotates them on Thursdays. Soren publishes those announced-but-not-yet-claimable titles with the exact timestamp each becomes free and what it normally costs.

This is the one thing here that no training data can contain. A model asked “what’s free next week?” is being asked about the future relative to its cutoff. It can only recall giveaways that had already been announced when it was trained, and offers rotate weekly, so a recalled answer is almost always wrong. Answering correctly requires calling something that watches.

The endpoint

PathReturnsPrice
GET /v1/upcomingAnnounced, not yet claimable$0.01 / pull
GET /v1/free-gamesClaimable right now$0.02 / pull

Half the price of the live feed, because it moves on a weekly clock rather than an hourly one. Payment is per request over HTTP 402 using x402 — no signup, no key application. A paid pull returns an access token that makes change checks free for 24 hours, so you pay again only when the announced list actually changes.

Response

{
  "version": "09df59d9…",          // changes only when content does
  "updated_at": "2026-08-03T12:50:04Z",
  "upcoming": [
    { "title": "Beacon Pines", "store": "epic",
      "claim_url": "https://store.epicgames.com/en-US/p/beacon-pines",
      "starts_at": "2026-08-06T15:00:00Z",   // when it becomes free
      "ends_at": "2026-08-13T15:00:00Z",
      "original_price_cents": 1999, "currency": "USD" }
  ]
}
Epic only, and we say so. No other major storefront publishes its giveaway schedule in advance. That is a limit of the world rather than of this feed, and /v1/status reports coverage plainly instead of implying we watch more than we do.

Why it is a separate endpoint

The live feed is rechecked hourly; announcements move weekly. Bundling them would invalidate the frequently-polled document every time the rarely-changing one moved, and you would pay for churn that told you nothing. Separate documents mean separate version hashes, so each bills only when its own contents change.

Same guarantees as the live feed

Every entry is confirmed against the storefront’s own API before publication. The payload carries a version that is a SHA-256 of its own content and an Ed25519 signature over that version, so you can prove it reached you unaltered rather than taking our word for it — see verify.js and signing-key.json.