# GTA 6 Countdown & Developments Tracker — diffed, no leaks (`topsail/gta6-tracker`) Actor

GTA 6 release date countdown, confirmed facts, diffed developments, news and market odds as clean JSON — unofficial, robots-compliant.

- **URL**: https://apify.com/topsail/gta6-tracker.md
- **Developed by:** [Connor Teskey](https://apify.com/topsail) (community)
- **Categories:** News, Automation, Agents
- **Stats:** 5 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## GTA 6 Countdown & Developments Tracker

**One compliant JSON feed for everything GTA 6: a live release countdown, confirmed facts, a diffed changelog of what just changed, filtered news, and a public-metrics hype index.**

Built for AI agents, RAG pipelines, Discord and Telegram bot builders, countdown sites, and dashboard makers who need structured GTA 6 data without scraping leaks, fighting walled pages, or re-polling ten outlets and de-duping headlines. Every run returns one clean state object plus the individual news and change events behind it.

> **Unofficial.** Not affiliated with, endorsed by, or sponsored by Rockstar Games or Take-Two Interactive. Aggregates only publicly available information and official announcements. Tracks no leaked, hacked, or proprietary material.

### What you get

Three record types in the dataset, plus a per-source `HEALTH` report and the latest `SNAPSHOT` in the key-value store.

| Record `type` | What it is |
|---|---|
| `snapshot` | Live countdown (days and hours to launch), confirmed facts (release date, platforms, trailers, pre-order status), a Wikidata release-date cross-check, and the hype index with release-date market odds |
| `development` | A diffed change event vs the previous run — the date slips, pre-orders open, a new trailer drops. The value is detecting the change, not relisting news |
| `news` | GTA-specific coverage from Bing News RSS plus permitted-outlet RSS filtered to GTA/Rockstar items; articles that cover a leak or rumor are tagged `rumor: true` with a credibility note |

### Quick start

The prefilled input runs a complete demo out of the box:

```json
{
  "newsSources": [
    { "url": "https://www.bing.com/news/search?q=%22GTA+6%22&format=rss", "category": "aggregated", "kind": "rss", "keep_all": true },
    { "url": "https://www.gamespot.com/feeds/news/", "category": "coverage", "kind": "rss" },
    { "url": "https://www.eurogamer.net/feed", "category": "coverage", "kind": "rss" },
    { "url": "https://www.pcgamer.com/rss/", "category": "coverage", "kind": "rss" },
    { "url": "https://www.polygon.com/rss/index.xml", "category": "coverage", "kind": "rss" }
  ],
  "includeMarketOdds": true,
  "includeHype": true,
  "youtubeTrailerIds": ["QdBZY2csoPo"],
  "maxItemsPerSource": 25,
  "respectRobots": true
}
```

A run returns one `snapshot`, any `development` events, and up to 25 news items per source — typically a few dozen records in one to two minutes.

### Output example

A `snapshot` record, adapted from a real run:

```json
{
  "type": "snapshot",
  "title": "Grand Theft Auto VI",
  "release_date": "2026-11-19",
  "days_remaining": 164,
  "hours_remaining": 3936,
  "is_released": false,
  "platforms": ["PlayStation 5", "Xbox Series X|S"],
  "preorder_status": "Expected late June 2026",
  "trailers": [
    { "name": "Trailer 1", "date": "2023-12-05" },
    { "name": "Trailer 2", "date": "2025-05-06" }
  ],
  "hype": {
    "momentum_pct": 18.4,
    "wikipedia_pageviews": { "latest_day_views": 41032, "avg_7d": 38110, "momentum_pct_7d_vs_prior_7d": 18.4 },
    "market_odds": { "source": "kalshi", "series": "KXGTA6", "market": "Will GTA 6 release by Nov 30, 2026?", "implied_probability": 0.86 }
  },
  "rumor_watch": { "coverage_items": 2, "note": "count of reputable-outlet items covering a leak/rumor this run" },
  "fetched_at": "2026-06-08T00:00:00+00:00"
}
```

### Why this one

- **Server-side change detection.** Each run diffs the tracked facts (release date, platforms, pre-order status, publisher, trailers) against the previous run and emits `development` events. One feed says "the release date just changed from X to Y" — you do not re-poll ten sites and de-dupe headlines yourself.
- **Hype from public aggregate metrics, never scraped posts.** Wikipedia pageviews (official Wikimedia API) with a 7-day momentum percentage, optional Rockstar trailer stats via the official YouTube Data API, Google Trends search interest (best-effort), and Kalshi prediction-market odds on the release date holding.
- **Rumor signal without rumor scraping.** Reputable-outlet articles that cover a leak or insider claim are delivered and tagged `rumor: true` — reporting about the claim, never the leaked material itself.
- **Selector-free, self-healing news parsing.** Feeds are parsed by shape (RSS/Atom fields, scored article links), not brittle CSS selectors, so a site redesign degrades to a flagged zero-yield source instead of silently breaking the feed.
- **Facts cross-checked each run.** The curated, dated fact baseline is checked against Wikidata's release-date claims (P577) every run, so the countdown target stays current.

### Compliance and reliability

Topsail actors are built compliance-first and ship with self-healing plumbing:

- **robots.txt is always respected — fail-closed.** If a robots check cannot complete, the source is skipped, never scraped. There is no input to turn this off.
- **Sources are public and permitted only.** This actor reads permissively licensed Wikidata facts, syndication-intended news RSS feeds, and official public APIs (Wikimedia pageviews, Kalshi markets, optional YouTube Data API) — never leaked, proprietary, paywalled, or login-gated material.
- **Transient failures retry once with backoff**; persistent failures are reported, not hidden.
- **Every run writes a per-source HEALTH report** to the key-value store, so you can see exactly which sources delivered and which were blocked, empty, or erroring.
- **No PII, no paywalled or login-gated content, no circumvention.**

By design, this actor does not scrape Reddit, forums, or Discord: Reddit blocks automated access and its terms bar resale of its data, and forum robots.txt rules fail-closed at runtime anyway. Insider chatter reaches you as tagged outlet coverage instead.

### Pricing

Pay per result: $5.00 per 1,000 dataset results. You pay only for records actually delivered — sources that are robots-blocked, erroring, or empty produce no results and cost nothing. A default run typically yields a few dozen to about 130 records depending on the news cycle, so a scheduled hourly feed costs cents per day.

### Honest limits

- The first run emits no `development` events — there is no previous state to diff against yet.
- Google Trends has no official API; the unofficial endpoint is best-effort, and the metric is simply absent when it fails.
- YouTube trailer statistics require a free YouTube Data API v3 key; without one, that metric is skipped.
- Rockstar's own Newswire exposes no reachable public RSS feed, so official posts surface through the Bing News feed and the confirmed-facts object rather than a direct Newswire source.
- Kalshi's dedicated GTA 6 series (`KXGTA6`) can be illiquid; the market is still reported, with a null probability and a note.
- Confirmed facts start from a curated, dated baseline (see `facts_as_of` in the snapshot), cross-checked against Wikidata each run.

### FAQ

**When does GTA 6 come out?**
The currently tracked release date is 2026-11-19 (delayed from 2026-05-26). The snapshot carries the live GTA 6 release date countdown, and a `development` event fires the moment the tracked date changes.

**Does it track leaks or insider rumors?**
No leaked material, ever. Articles from reputable outlets that cover a rumor are included and tagged `rumor: true` with a note, so you get the insider signal as reporting about it.

**Can I power a Discord bot or a countdown website with this?**
Yes. Schedule the actor and read the dataset or the `SNAPSHOT` key — the structured JSON is built for GTA 6 countdown sites, Discord bots, and dashboards.

**How often should I run it?**
Hourly to daily for most uses. The developments diff compares against the previous run, so a steady schedule gives the cleanest changelog.

**Is this affiliated with Rockstar Games or Take-Two?**
No. It is an unofficial GTA 6 tracker that aggregates publicly available information and official announcements only.

### More compliant data feeds from Topsail

- [Site to Markdown](https://apify.com/topsail/site-to-markdown) — any site to clean LLM-ready markdown
- [Commodity Intel](https://apify.com/topsail/compliant-commodity-intel) — oil, gold, uranium headlines from permitted sources
- [Crypto News](https://apify.com/topsail/compliant-crypto-news) — BTC/ETH/DeFi headlines from major outlets
- [AI Research Radar](https://apify.com/topsail/compliant-ai-research-radar) — new papers and lab announcements

# Actor input Schema

## `newsSources` (type: `array`):

News feeds to track. Each item: {"url": "https://.../", "category": "aggregated|coverage|official", "kind": "rss|html", "keep\_all": true|false}. Feeds marked keep\_all (already GTA-scoped, like the Bing News query feed) are kept in full; all others are filtered to GTA/Rockstar items. Defaults to a curated, robots-clean set.

## `includeMarketOdds` (type: `boolean`):

Pull prediction-market implied odds on the release date holding (public Kalshi data, Polymarket fallback). Best-effort; omitted if unavailable.

## `includeHype` (type: `boolean`):

Public aggregate hype metrics: Wikipedia pageviews, optional YouTube official-trailer stats, Google Trends, market odds. No PII and no post or forum scraping; Reddit is intentionally excluded (blocks automated access; ToS bars resale).

## `youtubeApiKey` (type: `string`):

Free YouTube Data API v3 key. If set, the hype index adds official Rockstar trailer view and like counts. Leave blank to skip that one metric.

## `youtubeTrailerIds` (type: `array`):

Official Rockstar trailer video IDs to pull stats for (requires the API key above). Defaults to the known trailer set.

## `wikipediaArticle` (type: `string`):

Wikipedia article title backing the pageviews hype metric.

## `maxItemsPerSource` (type: `integer`):

Cap on news items pulled from each source per run. Billing is per delivered result, so this also caps cost.

## `releaseDateOverride` (type: `string`):

Optional ISO date (YYYY-MM-DD) that forces the countdown target, for testing the diff and countdown logic. Leave blank to use tracked facts.

## Actor input object example

```json
{
  "newsSources": [
    {
      "url": "https://www.bing.com/news/search?q=%22GTA+6%22&format=rss",
      "category": "aggregated",
      "kind": "rss",
      "keep_all": true
    },
    {
      "url": "https://www.gamespot.com/feeds/news/",
      "category": "coverage",
      "kind": "rss"
    },
    {
      "url": "https://www.eurogamer.net/feed",
      "category": "coverage",
      "kind": "rss"
    },
    {
      "url": "https://www.pcgamer.com/rss/",
      "category": "coverage",
      "kind": "rss"
    },
    {
      "url": "https://www.polygon.com/rss/index.xml",
      "category": "coverage",
      "kind": "rss"
    }
  ],
  "includeMarketOdds": true,
  "includeHype": true,
  "youtubeTrailerIds": [
    "QdBZY2csoPo"
  ],
  "wikipediaArticle": "Grand_Theft_Auto_VI",
  "maxItemsPerSource": 25
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "newsSources": [
        {
            "url": "https://www.bing.com/news/search?q=%22GTA+6%22&format=rss",
            "category": "aggregated",
            "kind": "rss",
            "keep_all": true
        },
        {
            "url": "https://www.gamespot.com/feeds/news/",
            "category": "coverage",
            "kind": "rss"
        },
        {
            "url": "https://www.eurogamer.net/feed",
            "category": "coverage",
            "kind": "rss"
        },
        {
            "url": "https://www.pcgamer.com/rss/",
            "category": "coverage",
            "kind": "rss"
        },
        {
            "url": "https://www.polygon.com/rss/index.xml",
            "category": "coverage",
            "kind": "rss"
        }
    ],
    "includeMarketOdds": true,
    "includeHype": true,
    "youtubeTrailerIds": [
        "QdBZY2csoPo"
    ],
    "maxItemsPerSource": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("topsail/gta6-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "newsSources": [
        {
            "url": "https://www.bing.com/news/search?q=%22GTA+6%22&format=rss",
            "category": "aggregated",
            "kind": "rss",
            "keep_all": True,
        },
        {
            "url": "https://www.gamespot.com/feeds/news/",
            "category": "coverage",
            "kind": "rss",
        },
        {
            "url": "https://www.eurogamer.net/feed",
            "category": "coverage",
            "kind": "rss",
        },
        {
            "url": "https://www.pcgamer.com/rss/",
            "category": "coverage",
            "kind": "rss",
        },
        {
            "url": "https://www.polygon.com/rss/index.xml",
            "category": "coverage",
            "kind": "rss",
        },
    ],
    "includeMarketOdds": True,
    "includeHype": True,
    "youtubeTrailerIds": ["QdBZY2csoPo"],
    "maxItemsPerSource": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("topsail/gta6-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "newsSources": [
    {
      "url": "https://www.bing.com/news/search?q=%22GTA+6%22&format=rss",
      "category": "aggregated",
      "kind": "rss",
      "keep_all": true
    },
    {
      "url": "https://www.gamespot.com/feeds/news/",
      "category": "coverage",
      "kind": "rss"
    },
    {
      "url": "https://www.eurogamer.net/feed",
      "category": "coverage",
      "kind": "rss"
    },
    {
      "url": "https://www.pcgamer.com/rss/",
      "category": "coverage",
      "kind": "rss"
    },
    {
      "url": "https://www.polygon.com/rss/index.xml",
      "category": "coverage",
      "kind": "rss"
    }
  ],
  "includeMarketOdds": true,
  "includeHype": true,
  "youtubeTrailerIds": [
    "QdBZY2csoPo"
  ],
  "maxItemsPerSource": 25
}' |
apify call topsail/gta6-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,topsail/gta6-tracker"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/jmEosdBGingMxO8Ne/builds/3RgXfTGWeTPJXt70c/openapi.json
