Twitch Drops Campaign Tracker Scraper avatar

Twitch Drops Campaign Tracker Scraper

Pricing

Pay per event

Go to Apify Store
Twitch Drops Campaign Tracker Scraper

Twitch Drops Campaign Tracker Scraper

Track active and expired Twitch Drops campaigns by game, timing, status, and source links from the public TwDrop catalog.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Track public Twitch Drops campaigns without manually checking hundreds of game pages. This Actor reads the public TwDrop catalog and exports normalized campaign records for alerts, dashboards, research, and recurring monitoring.

What does Twitch Drops Campaign Tracker Scraper do?

It discovers Twitch Drops campaigns across the TwDrop game catalog. Each result includes a stable campaign ID, campaign title, game, status, dates, time remaining, source links, Twitch link, game image, and scrape timestamp. Choose active, expired, or all campaigns. Filter by game or campaign text. Schedule the Actor to spot launches and expirations automatically.

Who is it for?

  • ๐ŸŽฎ Gaming publishers tracking promotional campaigns across a market.
  • ๐Ÿ“ฃ Community managers planning reminders before Drops expire.
  • ๐Ÿค Creator and sponsorship teams finding timely streaming opportunities.
  • ๐Ÿ”” Alert services feeding campaign changes into Discord, Slack, or email.
  • ๐Ÿ“Š Gaming-data products building searchable campaign archives.
  • ๐Ÿง‘โ€๐Ÿ’ป Developers who need structured Twitch Drops data through an API.

Why use this Twitch Drops tracker?

Manual checks are slow and difficult to compare over time. The Actor produces one consistent record per campaign and can run on a schedule. Stable IDs simplify dataset diffs. ISO timestamps simplify sorting and alert rules. No Twitch login or personalized inventory access is required.

What data can you extract?

FieldMeaning
campaignIdStable campaign UUID exposed by TwDrop
campaignTitlePublic campaign name
gameGame title
gameSlugTwDrop game slug
statusactive or expired
startAtParsed ISO start timestamp, when available
endAtParsed ISO end timestamp, when available
timeRemainingSecondsSeconds until the campaign ends
sourceUrlStable TwDrop source reference
twitchUrlTwDrop redirect to the campaign on Twitch
detailsUrlPublic campaign detail or publisher link
gameUrlTwDrop game campaign page
gameImageUrlPublic game artwork
rewardsReserved normalized reward names when exposed publicly
requirementsReserved watch requirements when exposed publicly
scrapedAtUTC extraction timestamp

How to scrape active Twitch Drops campaigns

  1. Open the Actor input page.
  2. Select Active campaigns.
  3. Optionally enter a game name or campaign query.
  4. Choose the maximum number of campaigns.
  5. Click Start.
  6. Export the dataset as JSON, CSV, Excel, XML, or another Apify format.

Input options

Campaign status

active returns live campaigns. expired returns historical campaigns. all returns both groups.

Game filter

Enter a partial game name such as Valorant, 2XKO, or Apex. Matching is case-insensitive. Leave it empty to scan the full catalog.

Use query to match campaign and game titles. This is useful for seasons, launches, esports events, or publisher campaigns.

Maximum campaigns

maxItems controls the maximum dataset size. Use a small limit for a quick test and a larger limit for archival exports.

Enable enrichDetails to retain public external campaign detail links where TwDrop supplies them. The Actor never claims rewards and never accesses personalized watch progress.

Example input

{
"mode": "active",
"game": "",
"query": "",
"maxItems": 100,
"enrichDetails": true
}

Example output

{
"campaignId": "77663c46-f1a1-11f0-8694-0a58a9feac02",
"campaignTitle": "2XKO Season 1 Launch",
"game": "2XKO",
"gameSlug": "2xko",
"status": "expired",
"startAt": "2026-01-20T22:00:00.000Z",
"endAt": "2026-02-03T21:59:00.000Z",
"timeRemainingSeconds": 0,
"sourceUrl": "https://twdrop.de/games/2xko#77663c46-f1a1-11f0-8694-0a58a9feac02",
"twitchUrl": "https://twdrop.de/t/2xko/77663c46-f1a1-11f0-8694-0a58a9feac02/twitch",
"scrapedAt": "2026-07-12T05:00:00.000Z"
}

How much does it cost to track Twitch Drops campaigns?

The Actor uses pay-per-event pricing: a small run-start fee plus a charge for each campaign saved. Apify plan tiers receive automatic volume discounts. The Console shows the exact price before each run. Set maxItems to control the maximum result charge. A focused game monitor is usually cheaper than repeatedly exporting the entire archive.

Scheduling campaign alerts

Create an Apify schedule that runs hourly or daily. Keep the same input and compare datasets by campaignId. A new ID indicates a newly discovered campaign. A status change or lower timeRemainingSeconds can trigger an expiry reminder. Use webhooks to start an integration after every successful run.

Integrations

  • ๐Ÿ”” Send newly discovered campaigns to Discord through a webhook workflow.
  • ๐Ÿ’ฌ Post expiring campaigns to Slack with Make or Zapier.
  • ๐Ÿ“ง Generate community reminder emails from active records.
  • ๐Ÿ“Š Load campaign history into Google Sheets or a BI warehouse.
  • ๐Ÿ—„๏ธ Store records in PostgreSQL, Snowflake, BigQuery, or S3.
  • โšก Trigger another Actor when a campaign is launched.

API usage: JavaScript example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/twitch-drops-campaign-tracker-scraper').call({
mode: 'active',
maxItems: 100,
enrichDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API example

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/twitch-drops-campaign-tracker-scraper').call(run_input={
'mode': 'active',
'maxItems': 100,
'enrichDetails': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL API example

curl -X POST "https://api.apify.com/v2/acts/automation-lab~twitch-drops-campaign-tracker-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"active","maxItems":100,"enrichDetails":true}'

Use with Apify MCP

Connect AI assistants through https://mcp.apify.com?tools=automation-lab/twitch-drops-campaign-tracker-scraper. In Claude Code, ask: โ€œRun the Twitch Drops campaign tracker and summarize campaigns ending soon.โ€ In Claude Desktop, ask: โ€œFind active Drops for games containing Apex and return their Twitch links.โ€ MCP lets an assistant run the Actor and inspect its dataset without custom glue code.

Data quality and limitations

TwDrop is a third-party public tracker, not Twitch itself. Campaign availability and translations reflect what TwDrop exposes. Some campaigns do not publish reward names or watch requirements, so the corresponding arrays can be empty. Dates are normalized from the visible German date format. When a parsed endAt is in the past, the Actor always reports expired, even if TwDrop's visual styling is stale. If an end date is unavailable, status falls back to TwDrop's current visual label. External detail links may point to a publisher page rather than a dedicated reward page. Markup changes can temporarily affect extraction; source URLs are retained for verification.

Tips for reliable monitoring

  • Use active for frequent low-cost checks.
  • Use all for periodic archive snapshots.
  • Filter by game when only one community matters.
  • Deduplicate on campaignId, not title.
  • Compare endAt rather than localized display strings.
  • Keep scrapedAt to audit when a status was observed.
  • Configure a webhook only after a run succeeds.

The Actor accesses public, unauthenticated pages and does not bypass account controls. It does not claim Drops, log in to Twitch, or access personal watch progress. You are responsible for your use of the data and for complying with applicable laws, contracts, and website terms. Avoid republishing copyrighted images in ways that exceed your rights.

Troubleshooting

Why did I get no campaigns?

Check whether your game or query filter is too narrow. Try mode: "all" and remove filters to verify the catalog. A game may have no campaign in the selected status.

Why are rewards empty?

TwDrop's public catalog often exposes campaign timing and links but not structured reward requirements. The Actor does not invent missing values. Follow detailsUrl or twitchUrl for the authoritative campaign presentation.

Why is a time remaining value zero?

Expired campaigns intentionally return zero when an end timestamp is known. Active campaigns with a known end date return a positive value. The Actor reconciles status against endAt; use both fields when building alerts and treat a missing end date as source-limited timing.

FAQ

Does this Actor require a Twitch account?

No. It reads public TwDrop pages without Twitch authentication.

Can it claim Drops for me?

No. Claiming rewards and tracking personalized progress are intentionally out of scope.

Can I monitor one game?

Yes. Set the partial game filter and schedule recurring runs.

Can I export old campaigns?

Yes. Choose expired or all and increase maxItems.

Can I use a proxy?

Yes. Proxy configuration is optional because direct HTTP normally works.

How do I detect new campaigns?

Compare campaignId values between scheduled run datasets.

Explore other gaming and social-media data tools from automation-lab. Combine this Actor with Twitch channel or schedule actors when you need creator and broadcast context alongside Drops campaigns. Only use actors that match your intended data source and legal basis.

Support

If a run produces unexpected output, open an issue from the Actor page. Include the input, run ID, affected game, and expected campaign. That evidence makes target-markup changes faster to diagnose.