TradingView Economic Calendar – Today (AU/US/GB)
Pricing
from $0.01 / 1,000 results
TradingView Economic Calendar – Today (AU/US/GB)
Scrapes TradingView's economic calendar filtered to US/AU/GB and extracts events falling on 'today' in a given IANA timezone (default Australia/Sydney).
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
CloudStar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Security
Limited permissionsShare
TradingView Economic Calendar — Today (AU/US/GB)
Apify actor that scrapes TradingView's economic calendar
(https://www.tradingview.com/economic-calendar/), filtered to a set of
countries (default US,AU,GB), and reports which events fall on today
in a given IANA timezone (default Australia/Sydney, i.e. AEDT/AEST — the
zone resolves daylight saving automatically, so no manual offset math is
needed across the switch).
How it works
- No stable JSON API exists for this page (the data is backed by a WebSocket, not a plain XHR), so the actor drives a real headless Chromium via Playwright/Crawlee and reads the rendered DOM.
- The browser context's
timezoneIdis set to the target timezone, which makes TradingView itself render every row's timestamp in that zone — confirmed by reading each row's<time datetime="...">attribute (a real ISO-8601 UTC instant embedded in the DOM) and converting it with Luxon. - "Today" is computed by comparing each event's timestamp to
now, both in the target zone — not by trusting the page's own day-section headers.
Run locally
npm installnpx playwright install chromium # one-timenpm test # pure timezone logic, no networknpm run discover # dumps rendered HTML/screenshot to scripts/.out, for selector upkeepnpm run start:dev # runs the actor against the live site
Output lands in storage/key_value_stores/default/OUTPUT.json (summary) and
storage/datasets/default/ (one JSON file per matching event). Set
headless: false via a local storage/key_value_stores/default/INPUT.json
while iterating, to watch the browser.
If TradingView changes their markup
Row extraction in src/scraper.ts relies on the stable data-name/
data-country/data-symbol attributes and a <time datetime> element,
plus a couple of [class*="..."] substring matches against CSS-module class
names that will rotate on TradingView's next frontend deploy. If the
actor starts returning zero rows: run npm run discover, open
scripts/.out/calendar.html, find the new class names for title/importance/
value cells, and update the selectors in scraper.ts (dated comment at the
top of that file).
If TradingView starts blocking the actor
- Set
proxyGroups: ["RESIDENTIAL"]in the input — cheap, highest success rate. - If still blocked, add
playwright-extra+ a stealth plugin to patch headless-detection fingerprints Crawlee's built-in fingerprinting doesn't cover.
Deploy to Apify
npx apify-cli@latest loginnpx apify-cli@latest push
(No global Apify CLI install required — npx fetches it transiently.)