TradingView Earnings Calendar Scraper avatar

TradingView Earnings Calendar Scraper

Pricing

Pay per event

Go to Apify Store
TradingView Earnings Calendar Scraper

TradingView Earnings Calendar Scraper

Turn TradingView earnings dates into clean EPS, revenue, surprise, timing, currency, and market-cap records for alerts, research, and data pipelines.

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

2 days ago

Last modified

Categories

Share

Extract upcoming and recently reported company earnings from TradingView into structured JSON, CSV, Excel, or API-ready datasets.

TradingView Earnings Calendar Scraper turns a date range and a list of markets into clean company event records. Each result can include EPS and revenue actuals, forecasts, surprises, market capitalization, release timing, currency, and stable TradingView identifiers.

Use it for a weekly earnings watchlist, a daily alert pipeline, post-release surprise research, portfolio risk checks, or a fintech calendar feed.

What does TradingView Earnings Calendar Scraper do?

The Actor queries TradingView's public earnings-calendar scanner and saves one dataset row per company and event date.

It can:

  • 📅 collect reported and upcoming earnings events;
  • 🌍 combine one or more TradingView market regions;
  • 📈 return actual and forecast EPS and revenue;
  • ⚡ calculate-ready surprise values and percentages;
  • 🏢 include company, ticker, exchange symbol, currency, and market cap;
  • 🔗 preserve source and logo links for downstream apps;
  • 🔄 process long ranges in bounded windows and remove duplicates.

No TradingView login or API key is required.

Who is it for?

Traders and portfolio managers

Build an earnings-week watchlist and identify positions with scheduled company reports.

Quantitative researchers

Join event dates and surprise metrics to price histories for event studies, backtests, and factor research.

Risk and operations teams

Schedule daily runs to detect upcoming earnings exposure across holdings and monitored markets.

Fintech and data teams

Feed normalized calendar records into dashboards, databases, newsletters, bots, and internal APIs.

Analysts and journalists

Export a market-specific calendar to CSV or Excel without manually copying the TradingView table.

Why use this earnings calendar extractor?

TradingView provides rich company-event data, but repeatedly copying calendar rows is slow and difficult to automate.

This Actor provides:

  • a stable input contract for date and market selection;
  • structured output with descriptive field names;
  • pagination and range windowing for larger jobs;
  • deduplication by TradingView symbol and event date;
  • response-shape validation to catch upstream column drift;
  • retries with backoff for temporary request failures;
  • native Apify datasets, schedules, webhooks, API, and MCP access.

What data can you extract?

FieldDescription
fullSymbolExchange-qualified TradingView symbol, such as NASDAQ:AAPL
tickerShort company ticker
companyNameCompany name from TradingView
eventDateDate that matched the requested range
eventStatusupcoming or reported
marketTradingView market region
currencyFundamental reporting currency when available
marketCapMarket capitalization
reportedDatePrevious/reported earnings date
upcomingDateNext scheduled earnings date
actualEpsReported quarterly earnings per share
forecastEpsForecast earnings per share
epsSurpriseAbsolute EPS surprise
epsSurprisePercentEPS surprise percentage
actualRevenueReported quarterly revenue
forecastRevenueForecast quarterly revenue
revenueSurpriseAbsolute revenue surprise
revenueSurprisePercentRevenue surprise percentage
reportedReleaseTimeCodeTradingView timing code for the reported release
upcomingReleaseTimeCodeTradingView timing code for the next release
reportedPublicationTypeCodeTradingView reported-publication code
upcomingPublicationTypeCodeTradingView upcoming-publication code
logoId / logoUrlTradingView company logo identifier and URL
sourceUrlTradingView symbol page
scrapedAtUTC extraction timestamp

Fields unavailable for a company are omitted rather than replaced with misleading zeroes.

How to scrape a TradingView earnings calendar

  1. Open the Actor on Apify.
  2. Choose a start and end date, or leave them empty for today through the next seven days.
  3. Select one or more TradingView markets.
  4. Set the maximum number of earnings events.
  5. Click Start.
  6. Preview results in the dataset.
  7. Export JSON, CSV, Excel, XML, or connect the dataset to your workflow.

For a first run, keep the prefilled America market and 20-item limit.

Input configuration

{
"startDate": "2026-07-20",
"endDate": "2026-07-26",
"markets": ["america"],
"maxItems": 250
}
InputTypeDefaultNotes
startDatestringtoday UTCInclusive YYYY-MM-DD date
endDatestringstart + 7 daysInclusive YYYY-MM-DD date
marketsstring[]["america"]One or more supported TradingView regions
maxItemsinteger100Range 1–10,000
proxyConfigurationobjectnoneOptional Apify/custom proxy fallback

The maximum date span is 366 days. The Actor fails closed on invalid dates or reversed ranges.

Supported TradingView markets

The input editor lists supported region codes, including:

  • North America: america, canada, mexico;
  • Europe: uk, germany, france, italy, spain, switzerland, and others;
  • Asia-Pacific: japan, china, hongkong, india, australia, korea, and others;
  • Latin America: brazil, argentina, chile, colombia, and others;
  • Middle East and Africa: uae, ksa, israel, southafrica, and others.

Market availability and company coverage are controlled by TradingView.

Output example

{
"fullSymbol": "NYSE:TSM",
"ticker": "TSM",
"companyName": "Taiwan Semiconductor Manufacturing Company Ltd.",
"eventDate": "2026-07-16",
"eventStatus": "reported",
"market": "america",
"currency": "USD",
"marketCap": 1984808816724.5586,
"actualEps": 4.221011,
"forecastEps": 4.350846,
"epsSurprise": 0.410916,
"epsSurprisePercent": 10.7849279,
"sourceUrl": "https://www.tradingview.com/symbols/NYSE-TSM/",
"scrapedAt": "2026-07-17T12:00:00.000Z"
}

Numeric amounts remain numbers so they can be filtered, aggregated, and loaded into analytical databases.

How much does it cost to extract TradingView earnings data?

This Actor uses pay-per-event pricing:

  • a small charge when a run starts;
  • one charge for each unique earnings event saved.

Apify plan tiers receive volume-adjusted event prices. The Console shows the exact estimate before a run. Small weekly checks are inexpensive, while large historical or multi-market exports scale with the useful records delivered.

Use maxItems to put a predictable ceiling on output and cost.

Common workflow recipes

Weekly earnings watchlist

Run each Monday for america, export the next seven days, and join symbols to current portfolio positions.

Post-release surprise monitor

Run every morning for yesterday and today. Filter for large absolute epsSurprisePercent or revenueSurprisePercent values.

Multi-market risk calendar

Select the markets where your portfolio trades and send upcoming dates to a shared calendar or alert channel.

Quant event-study dataset

Schedule daily snapshots and join fullSymbol plus eventDate to price-return data in your warehouse.

Scheduling and webhooks

Apify schedules can run the Actor daily or weekly without a separate server.

A typical automation is:

  1. schedule the run before market open;
  2. read the completed default dataset;
  3. filter events against a watchlist;
  4. send matching rows to Slack, email, a database, or a webhook.

Use a webhook on the ACTOR.RUN.SUCCEEDED event when downstream processing should begin immediately.

Integrations

Connect earnings records to:

  • Google Sheets for an analyst watchlist;
  • Slack or Microsoft Teams for upcoming-event alerts;
  • Zapier or Make for no-code workflows;
  • BigQuery, Snowflake, PostgreSQL, or S3 for research history;
  • Python/pandas for surprise analysis;
  • dashboards such as Looker Studio or Power BI;
  • another Apify Actor for enrichment or price-history collection.

The dataset API supports pagination and multiple export formats.

Apify API usage

Replace APIFY_TOKEN with your token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~tradingview-earnings-calendar-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"markets":["america"],"maxItems":100}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/tradingview-earnings-calendar-scraper').call({
markets: ['america', 'uk'],
maxItems: 250,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("automation-lab/tradingview-earnings-calendar-scraper").call(
run_input={"markets": ["america"], "maxItems": 100}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with Apify MCP

Connect the Actor to AI assistants through the Apify MCP server:

https://mcp.apify.com/?tools=automation-lab/tradingview-earnings-calendar-scraper

Example prompts:

  • “Get the next seven days of US earnings and group them by event date.”
  • “Find reported companies with EPS surprise above 10%.”
  • “Build a UK and German earnings-risk list for this week.”

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=automation-lab/tradingview-earnings-calendar-scraper"

Claude Desktop

Add this to the Claude Desktop MCP configuration:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com/?tools=automation-lab/tradingview-earnings-calendar-scraper"
}
}
}

Cursor

Open Settings → Tools & MCP → Add custom MCP and use the same mcpServers JSON configuration.

VS Code

Open the MCP server settings, choose Add HTTP server, and enter the Apify MCP URL above. Authenticate with your Apify token when prompted.

Data quality and freshness

Records reflect what TradingView returns at run time. Forecasts, schedules, and release timing can change as companies and data providers publish updates.

For time-sensitive workflows:

  • run shortly before the decision or alert window;
  • store scrapedAt with every snapshot;
  • treat scheduled dates as changeable;
  • rerun after releases to collect actuals and surprises;
  • use fullSymbol, not ticker alone, when joining across exchanges.

Reliability and pagination

The Actor splits ranges longer than 31 days into bounded requests, paginates each response, and deduplicates records.

Transient failures are retried with exponential backoff. If TradingView changes the positional response column count, the Actor fails clearly rather than silently attaching values to the wrong fields.

Direct requests normally work. Optional proxy configuration is available for network-specific blocking.

Tips for better results

  • Start with one market and a low maxItems value.
  • Use short date windows for daily alerting.
  • Select multiple markets in one run when you need a unified export.
  • Use exchange-qualified fullSymbol values for joins.
  • Compare both EPS and revenue surprise metrics; they can tell different stories.
  • Keep raw timing and publication codes if downstream logic needs TradingView semantics.
  • Schedule repeated snapshots if you need to observe forecast revisions.

Limitations

  • This Actor extracts the TradingView earnings calendar; it does not scrape conference-call transcripts.
  • It does not predict earnings or recommend trades.
  • TradingView may omit values for some companies or markets.
  • Tickers are not globally unique; use fullSymbol for identity.
  • Release timing and publication codes are source codes, not translated guarantees such as “before market open.”
  • A maximum of 10,000 events can be saved per run.
  • Coverage and field availability may change upstream.

Public financial calendar data can generally be collected for legitimate research and automation, but users are responsible for their use.

Follow applicable laws, contractual obligations, database rights, and TradingView's terms. Do not use the output for market manipulation, deceptive claims, or unlawful redistribution. Financial data may be delayed or revised and should not be the sole basis for investment decisions.

This Actor does not bypass authentication or collect private account data.

Troubleshooting

My dataset is empty

Confirm the selected market has earnings events in the requested range. Try a seven-day America range and ensure maxItems is greater than zero.

The run says a date is invalid

Use exact YYYY-MM-DD values, ensure the end date is not before the start date, and keep the range within 366 days.

Some forecast fields are missing

TradingView does not provide every metric for every company. Missing optional values are omitted intentionally.

Requests fail from my network

Retry once, then enable an Apify datacenter proxy in proxyConfiguration. Residential proxy traffic is normally unnecessary.

The same ticker appears more than once

Different exchanges can share a ticker. Compare fullSymbol and eventDate; that pair is the Actor's event identity.

Frequently asked questions

Does it require a TradingView account?

No. The useful scanner route is accessed anonymously.

Can I scrape historical and upcoming earnings?

Yes. The date filter matches recent reported dates and upcoming scheduled dates returned by TradingView.

Can I select several countries?

Yes. Choose multiple TradingView market region codes in the markets array.

Are surprise percentages already provided?

Yes. The Actor returns TradingView's EPS and revenue surprise values and percentages when available.

Can I export to CSV or Excel?

Yes. Use the default dataset export controls or dataset API.

Can I monitor earnings automatically?

Yes. Combine an Apify schedule with webhooks, integrations, or MCP.

Choose this Actor when the primary entity is a dated company earnings event. Choose the TradingView screener when you need broad security-level metrics or custom scanner columns.

Support

If a run fails, share the run URL, selected date range, and markets through the Actor's Issues tab. Do not include private credentials.

For reproducible reports, keep the failed run's logs and input available. This makes it easier to distinguish an empty source range, invalid input, and an upstream response change.