Trading Economics Market, Indicator & Calendar Scraper
Get live commodity, currency, stock index, bond yield, and crypto quotes, country economic indicators and forecasts, global rankings, the economic calendar, public holidays, and corporate earnings releases from Trading Economics.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | Which Trading Economics surface to collect. |
marketType | string | optional | Which live market table to collect. |
category | string | optional | Restrict the market table to one category or region. Commodities use Energy/Metals/Agricultural/Industrial/Livestock/Index/Electricity; currencies, stocks and bonds use Major/Europe/America/Asia/Oceania/Africa; crypto uses Crypto/BTC/ETH; shares use Top Gainers/Top Losers. Leave unset for all rows. |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | Which Trading Economics surface to collect. |
marketType | string | optional | Which live market table to collect. |
category | string | optional | Restrict the market table to one category or region. Commodities use Energy/Metals/Agricultural/Industrial/Livestock/Index/Electricity; currencies, stocks and bonds use Major/Europe/America/Asia/Oceania/Africa; crypto uses Crypto/BTC/ETH; shares use Top Gainers/Top Losers. Leave unset for all rows. |
countries | array | optional | One or more countries. Required for countryIndicators, countryForecast, creditRatingHistory and bondYields. Optional for calendar, holidays and earningsCalendar (leave empty for global data). |
indicatorCategory | string | optional | Restrict country indicators or forecasts to one category. `markets` only appears on the forecast page and `health` only on the indicators page. Leave unset for all categories. |
rankingIndicators | array | optional | One or more indicators to rank across every country. The `rating` indicator returns sovereign credit ratings instead of a numeric series. |
indicatorHistoryUrls | array | optional | Trading Economics indicator pages as full URLs or `country/indicator-slug`, e.g. `united-states/inflation-cpi` or `https://tradingeconomics.com/germany/unemployment-rate`. Up to 100 pages. |
marketSymbols | array | optional | Symbols such as `CL1:COM`, `AAPL:US`, `USGG10YR:IND` or full Trading Economics market URLs. Up to 100 symbols. |
forecastAssetClass | string | optional | Which public forecast table to collect. |
searchQuery | string | optional | Keyword used to resolve indicators and markets, e.g. `gold`, `inflation`, `EURUSD`. Required for mode=search. |
historySpan | string | optional | How far back to fetch historical series. `max` returns the full available history. |
marketInterval | string | optional | Intraday or daily interval for market history. Leave on `auto` to use the span's natural frequency. |
searchKeyword | string | optional | Case-insensitive substring filter on the record name/title (instrument, indicator, event, company or news headline). Leave blank for no filtering. |
minChangePercent | number | optional | Only keep instruments whose daily percent change is at least this value. Enter -5 for -5%. |
maxChangePercent | number | optional | Only keep instruments whose daily percent change is at most this value. |
dateFrom | string | optional | ISO date (YYYY-MM-DD). Lower bound for calendar, holidays, earnings, credit-rating history, bond yields and history points. For calendar this fetches the requested range, not just the default page. |
dateTo | string | optional | ISO date (YYYY-MM-DD). Upper bound for the same date-aware modes. |
importance | string | optional | Keep only releases/news at this market-impact level. Leave unset for all levels. |
maxItems | integer | optional | Hard cap on emitted records. History modes cap the total number of points across all requested series. |
Download the published input schema
View complete JSON
{
"description": "Choose a data surface: live markets, country indicators, global rankings, economic calendar, forecasts, public holidays, earnings, historical series, news, search, credit ratings or bond yields.",
"properties": {
"category": {
"default": "",
"description": "Restrict the market table to one category or region. Commodities use Energy/Metals/Agricultural/Industrial/Livestock/Index/Electricity; currencies, stocks and bonds use Major/Europe/America/Asia/Oceania/Africa; crypto uses Crypto/BTC/ETH; shares use Top Gainers/Top Losers. Leave unset for all rows.",
"editor": "select",
"enum": [
"",
"Energy",
"Metals",
"Agricultural",
"Industrial",
"Livestock",
"Index",
"Electricity",
"Major",
"Europe",
"America",
"Asia",
"Oceania",
"Africa",
"Crypto",
"BTC",
"ETH",
"Top Gainers",
"Top Losers"
],
"enumTitles": [
"All categories/regions",
"Energy (commodities)",
"Metals (commodities)",
"Agricultural (commodities)",
"Industrial (commodities)",
"Livestock (commodities)",
"Index (commodities)",
"Electricity (commodities)",
"Major (currencies/stocks/bonds)",
"Europe (currencies/stocks/bonds)",
"America (currencies/stocks/bonds)",
"Asia (currencies/stocks/bonds)",
"Oceania (currencies/stocks/bonds)",
"Africa (currencies/stocks/bonds)",
"Crypto — USD pairs",
"BTC pairs",
"ETH pairs",
"Top Gainers (shares)",
"Top Losers (shares)"
],
"prefill": "",
"title": "Category / region (mode=markets)",
"type": "string"
},
"countries": {
"default": [],
"description": "One or more countries. Required for countryIndicators, countryForecast, creditRatingHistory and bondYields. Optional for calendar, holidays and earningsCalendar (leave empty for global data).",
"editor": "select",
"items": {
"enum": [
"afghanistan",
"albania",
"algeria",
"andorra",
"angola",
"antigua-and-barbuda",
"argentina",
"armenia",
"aruba",
"australia",
"austria",
"azerbaijan",
"bahamas",
"bahrain",
"bangladesh",
"barbados",
"belarus",
"belgium",
"belize",
"benin",
"bermuda",
"bhutan",
"bolivia",
"bosnia-and-herzegovina",
"botswana",
"brazil",
"brunei",
"bulgaria",
"burkina-faso",
"burundi",
"cambodia",
"cameroon",
"canada",
"cape-verde",
"cayman-islands",
"central-african-republic",
"chad",
"chile",
"china",
"colombia",
"comoros",
"congo",
"costa-rica",
"croatia",
"cuba",
"cyprus",
"czech-republic",
"denmark",
"djibouti",
"dominica",
"dominican-republic",
"east-timor",
"ecuador",
"egypt",
"el-salvador",
"equatorial-guinea",
"eritrea",
"estonia",
"ethiopia",
"euro-area",
"faroe-islands",
"fiji",
"finland",
"france",
"gabon",
"gambia",
"georgia",
"germany",
"ghana",
"greece",
"grenada",
"guatemala",
"guinea",
"guinea-bissau",
"guyana",
"haiti",
"honduras",
"hong-kong",
"hungary",
"iceland",
"india",
"indonesia",
"iran",
"iraq",
"ireland",
"isle-of-man",
"israel",
"italy",
"ivory-coast",
"jamaica",
"japan",
"jordan",
"kazakhstan",
"kenya",
"kiribati",
"kosovo",
"kuwait",
"kyrgyzstan",
"laos",
"latvia",
"lebanon",
"lesotho",
"liberia",
"libya",
"liechtenstein",
"lithuania",
"luxembourg",
"macau",
"macedonia",
"madagascar",
"malawi",
"malaysia",
"maldives",
"mali",
"malta",
"mauritania",
"mauritius",
"mexico",
"moldova",
"monaco",
"mongolia",
"montenegro",
"morocco",
"mozambique",
"myanmar",
"namibia",
"nepal",
"netherlands",
"new-caledonia",
"new-zealand",
"nicaragua",
"niger",
"nigeria",
"north-korea",
"norway",
"oman",
"pakistan",
"palestine",
"panama",
"papua-new-guinea",
"paraguay",
"peru",
"philippines",
"poland",
"portugal",
"puerto-rico",
"qatar",
"republic-of-the-congo",
"romania",
"russia",
"rwanda",
"samoa",
"sao-tome-and-principe",
"saudi-arabia",
"senegal",
"serbia",
"seychelles",
"sierra-leone",
"singapore",
"slovakia",
"slovenia",
"solomon-islands",
"somalia",
"south-africa",
"south-korea",
"south-sudan",
"spain",
"sri-lanka",
"sudan",
"suriname",
"swaziland",
"sweden",
"switzerland",
"syria",
"taiwan",
"tajikistan",
"tanzania",
"thailand",
"togo",
"tonga",
"trinidad-and-tobago",
"tunisia",
"turkey",
"turkmenistan",
"uganda",
"ukraine",
"united-arab-emirates",
"united-kingdom",
"united-states",
"uruguay",
"uzbekistan",
"vanuatu",
"venezuela",
"vietnam",
"yemen",
"zambia",
"zimbabwe"
],
"type": "string"
},
"prefill": [],
"title": "Countries (multi-select)",
"type": "array"
},
"dateFrom": {
"default": "",
"description": "ISO date (YYYY-MM-DD). Lower bound for calendar, holidays, earnings, credit-rating history, bond yields and history points. For calendar this fetches the requested range, not just the default page.",
"editor": "textfield",
"prefill": "",
"title": "Date from",
"type": "string"
},
"dateTo": {
"default": "",
"description": "ISO date (YYYY-MM-DD). Upper bound for the same date-aware modes.",
"editor": "textfield",
"prefill": "",
"title": "Date to",
"type": "string"
},
"forecastAssetClass": {
"default": "commodity",
"description": "Which public forecast table to collect.",
"editor": "select",
"enum": [
"commodity",
"currency",
"crypto",
"stockMarket",
"governmentBond10Y"
],
"enumTitles": [
"Commodities",
"Currencies",
"Cryptocurrencies",
"Stock market indices",
"Government bonds (10Y)"
],
"prefill": "commodity",
"title": "Forecast asset class (mode=marketForecast)",
"type": "string"
},
"historySpan": {
"default": "5y",
"description": "How far back to fetch historical series. `max` returns the full available history.",
"editor": "select",
"enum": [
"1m",
"3m",
"6m",
"1y",
"2y",
"5y",
"10y",
"max"
],
"enumTitles": [
"1 month",
"3 months",
"6 months",
"1 year",
"2 years",
"5 years",
"10 years",
"Maximum available"
],
"prefill": "1y",
"title": "History span (history modes)",
"type": "string"
},
"importance": {
"default": "",
"description": "Keep only releases/news at this market-impact level. Leave unset for all levels.",
"editor": "select",
"enum": [
"",
"low",
"medium",
"high"
],
"enumTitles": [
"All levels",
"Low",
"Medium",
"High"
],
"prefill": "",
"title": "Importance (calendar, earnings, news)",
"type": "string"
},
"indicatorCategory": {
"default": "",
"description": "Restrict country indicators or forecasts to one category. `markets` only appears on the forecast page and `health` only on the indicators page. Leave unset for all categories.",
"editor": "select",
"enum": [
"",
"overview",
"gdp",
"labour",
"prices",
"money",
"trade",
"government",
"business",
"consumer",
"housing",
"energy",
"health",
"markets"
],
"enumTitles": [
"All categories",
"Overview",
"GDP",
"Labour",
"Prices",
"Money",
"Trade",
"Government",
"Business",
"Consumer",
"Housing",
"Energy",
"Health (country indicators)",
"Markets (country forecast)"
],
"prefill": "",
"title": "Indicator category (mode=countryIndicators, countryForecast)",
"type": "string"
},
"indicatorHistoryUrls": {
"default": [],
"description": "Trading Economics indicator pages as full URLs or `country/indicator-slug`, e.g. `united-states/inflation-cpi` or `https://tradingeconomics.com/germany/unemployment-rate`. Up to 100 pages.",
"editor": "stringList",
"items": {
"type": "string"
},
"prefill": [],
"title": "Indicator pages (mode=indicatorHistory)",
"type": "array"
},
"marketInterval": {
"default": "auto",
"description": "Intraday or daily interval for market history. Leave on `auto` to use the span's natural frequency.",
"editor": "select",
"enum": [
"auto",
"1m",
"5m",
"15m",
"30m",
"1h",
"1d",
"1w",
"1M"
],
"enumTitles": [
"Automatic",
"1 minute",
"5 minutes",
"15 minutes",
"30 minutes",
"1 hour",
"1 day",
"1 week",
"1 month"
],
"prefill": "auto",
"title": "Market interval (mode=marketHistory)",
"type": "string"
},
"marketSymbols": {
"default": [],
"description": "Symbols such as `CL1:COM`, `AAPL:US`, `USGG10YR:IND` or full Trading Economics market URLs. Up to 100 symbols.",
"editor": "stringList",
"items": {
"type": "string"
},
"prefill": [],
"title": "Market symbols or pages (mode=marketHistory)",
"type": "array"
},
"marketType": {
"default": "commodities",
"description": "Which live market table to collect.",
"editor": "select",
"enum": [
"commodities",
"currencies",
"stocks",
"bonds",
"crypto",
"shares"
],
"enumTitles": [
"Commodities (energy, metals, agricultural...)",
"Currencies (FX pairs)",
"Stock market indices",
"Government bond yields (10Y)",
"Cryptocurrencies",
"Shares (top gaining/losing stocks)"
],
"prefill": "commodities",
"title": "Market type (mode=markets)",
"type": "string"
},
"maxChangePercent": {
"description": "Only keep instruments whose daily percent change is at most this value.",
"maximum": 1000,
"minimum": -1000,
"title": "Max daily % change (mode=markets)",
"type": "number"
},
"maxItems": {
"default": 100,
"description": "Hard cap on emitted records. History modes cap the total number of points across all requested series.",
"maximum": 10000,
"minimum": 1,
"prefill": 3,
"title": "Max items",
"type": "integer"
},
"minChangePercent": {
"description": "Only keep instruments whose daily percent change is at least this value. Enter -5 for -5%.",
"maximum": 1000,
"minimum": -1000,
"title": "Min daily % change (mode=markets)",
"type": "number"
},
"mode": {
"default": "markets",
"description": "Which Trading Economics surface to collect.",
"editor": "select",
"enum": [
"markets",
"countryIndicators",
"indicatorRanking",
"calendar",
"countryForecast",
"holidays",
"earningsCalendar",
"indicatorHistory",
"marketHistory",
"marketForecast",
"news",
"search",
"creditRatingHistory",
"bondYields"
],
"enumTitles": [
"Markets (commodities / currencies / stocks / bonds / crypto / shares)",
"Country indicators (GDP, inflation, unemployment...)",
"Global indicator ranking (one or more indicators, all countries)",
"Economic calendar (global or per-country)",
"Country forecast (quarter-ahead projections)",
"Public holidays (global or per-country)",
"Earnings calendar (per-country or global)",
"Indicator history (historical time series)",
"Market history (historical prices, intraday to max)",
"Market forecast (commodities / currencies / indices / bonds / crypto)",
"Economic news (latest stream)",
"Search indicators and markets",
"Credit-rating history (S&P / DBRS / TE)",
"Government bond yields (all maturities)"
],
"prefill": "markets",
"title": "Mode",
"type": "string"
},
"rankingIndicators": {
"default": [
"interest-rate"
],
"description": "One or more indicators to rank across every country. The `rating` indicator returns sovereign credit ratings instead of a numeric series.",
"editor": "select",
"items": {
"enum": [
"interest-rate",
"inflation-rate",
"unemployment-rate",
"gdp-growth-rate",
"gdp-per-capita",
"current-account-to-gdp",
"gold-reserves",
"government-debt-to-gdp",
"crude-oil-production",
"gasoline-prices",
"rating",
"asylum-applications",
"average-annual-wages",
"balance-of-trade",
"bank-lending-rate",
"bankruptcies",
"banks-balance-sheet",
"building-permits",
"business-confidence",
"capacity-utilization",
"capital-flows",
"car-production",
"car-registrations",
"cash-reserve-ratio",
"cement-production",
"central-bank-balance-sheet",
"changes-in-inventories",
"co2-emissions",
"construction-output",
"consumer-confidence",
"consumer-credit",
"consumer-price-index-cpi",
"consumer-spending",
"core-consumer-prices",
"core-inflation-rate",
"corporate-profits",
"corporate-tax-rate",
"corruption-index",
"corruption-rank",
"cpi-housing-utilities",
"crude-oil-rigs",
"current-account",
"deposit-interest-rate",
"disposable-personal-income",
"electric-car-registrations",
"electricity-production",
"employed-persons",
"employment-change",
"employment-change-yoy",
"employment-rate",
"export-prices",
"exports",
"external-debt",
"factory-orders",
"fiscal-expenditure",
"food-inflation",
"foreign-direct-investment",
"foreign-exchange-reserves",
"full-time-employment",
"full-year-gdp-growth",
"gdp",
"gdp-annual-growth-rate",
"gdp-constant-prices",
"gdp-deflator",
"gdp-from-agriculture",
"gdp-from-construction",
"gdp-from-manufacturing",
"gdp-from-mining",
"gdp-from-public-administration",
"gdp-from-services",
"gdp-from-transport",
"gdp-from-utilities",
"gdp-per-capita-ppp",
"government-budget",
"government-budget-value",
"government-debt",
"government-revenues",
"government-spending",
"government-spending-to-gdp",
"gross-average-monthly-wages",
"gross-fixed-capital-formation",
"gross-national-product",
"harmonised-consumer-prices",
"harmonised-inflation-rate-mom",
"harmonised-inflation-rate-yoy",
"home-ownership-rate",
"hospital-beds",
"hospitals",
"households-debt-to-gdp",
"households-debt-to-income",
"housing-index",
"housing-starts",
"icu-beds",
"import-prices",
"imports",
"industrial-production",
"industrial-production-mom",
"inflation-expectations",
"inflation-rate-mom",
"initial-jobless-claims",
"interbank-rate",
"job-vacancies",
"labor-force-participation-rate",
"labour-costs",
"leading-economic-index",
"lending-rate",
"loan-growth",
"loans-to-private-sector",
"long-term-unemployment-rate",
"manufacturing-production",
"medical-doctors",
"military-expenditure",
"minimum-wages",
"mining-production",
"money-supply-m0",
"money-supply-m1",
"money-supply-m2",
"money-supply-m3",
"natural-gas-stocks-capacity",
"natural-gas-stocks-injection",
"natural-gas-stocks-inventory",
"natural-gas-stocks-withdrawal",
"new-orders",
"non-farm-payrolls",
"nurses",
"part-time-employment",
"personal-income-tax-rate",
"personal-savings",
"personal-spending",
"population",
"precipitation",
"price-to-rent-ratio",
"private-debt-to-gdp",
"private-sector-credit",
"producer-price-inflation-mom",
"producer-prices",
"producer-prices-change",
"productivity",
"remittances",
"residential-property-prices",
"retail-sales-mom",
"retail-sales-yoy",
"retirement-age-men",
"retirement-age-women",
"sales-tax-rate",
"small-business-sentiment",
"social-security-rate",
"social-security-rate-for-companies",
"social-security-rate-for-employees",
"steel-production",
"temperature",
"terms-of-trade",
"terrorism-index",
"total-vehicle-sales",
"tourism-revenues",
"tourist-arrivals",
"unemployed-persons",
"wage-growth",
"wages",
"wages-in-manufacturing",
"weapons-sales",
"youth-unemployment-rate",
"zew-economic-sentiment-index"
],
"type": "string"
},
"prefill": [
"interest-rate"
],
"title": "Ranking indicators (mode=indicatorRanking)",
"type": "array"
},
"searchKeyword": {
"default": "",
"description": "Case-insensitive substring filter on the record name/title (instrument, indicator, event, company or news headline). Leave blank for no filtering.",
"editor": "textfield",
"prefill": "",
"title": "Keyword filter",
"type": "string"
},
"searchQuery": {
"default": "",
"description": "Keyword used to resolve indicators and markets, e.g. `gold`, `inflation`, `EURUSD`. Required for mode=search.",
"editor": "textfield",
"prefill": "gold",
"title": "Search query (mode=search)",
"type": "string"
}
},
"required": [
"mode"
],
"schemaVersion": 1,
"title": "Trading Economics Scraper Input",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
items | string | optional | Dataset containing all collected Trading Economics records. |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "Market quotes, country indicators and forecasts, historical series, calendar events, holidays, earnings, news, search hits, credit ratings and bond yields.",
"properties": {
"items": {
"description": "Dataset containing all collected Trading Economics records.",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "Trading Economics records",
"type": "string"
}
},
"title": "Trading Economics Markets, Indicators & Calendar Scraper Output"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"views": {
"overview": {
"display": {
"component": "table",
"properties": {}
},
"title": "Trading Economics data",
"transformation": {
"fields": [
"recordType",
"name",
"country",
"category",
"last",
"changePercent",
"unit",
"referenceDate",
"sourceUrl"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
Trading Economics Markets, Indicators & Calendar Scraper
Trading Economics publishes live market quotes, macro indicators, forecasts, release calendars and financial news for nearly every country. This actor turns those public pages into clean JSON: live quotes, country indicators, global rankings, economic calendar events with actual/consensus/revision values, quarterly forecasts, holidays, earnings, long historical series, market forecasts, news, keyword search, credit-rating history and full government-bond curves.
What this actor does
- 14 modes:
markets,countryIndicators,indicatorRanking,calendar,countryForecast,holidays,earningsCalendar,indicatorHistory,marketHistory,marketForecast,news,search,creditRatingHistory,bondYields - Multi-country and multi-indicator: pass several countries, ranking indicators or symbols in one run; the item cap is spread round-robin so each requested target is represented
- Long history: economic indicators and market prices from one month to the full available history, including intraday intervals
- Calendar precision: numeric actual/previous/consensus/forecast values, revision markers and a derived surprise when the units match
- Everything else: global rankings, quarter-ahead country projections, public holidays, global or per-country earnings, news stream, symbol search, rating histories and every bond maturity
- Empty fields are omitted — no nulls, empty strings or placeholder values anywhere in the output
Services and data covered
| Service | What you get |
|---|---|
| Markets | Commodities, FX pairs, stock indices, 10Y bond yields, crypto and top-moving shares |
| Macro indicators | GDP, labour, prices, money, trade, government, business, consumer, housing, energy and health tables by country |
| Global rankings | Any of 163 indicator slugs ranked across all reporting countries, including sovereign credit ratings |
| Economic calendar | Global or filtered by country with the requested date range fetched directly |
| Forecasts | Quarter-ahead country projections and public commodity/currency/crypto/index/bond forecasts |
| Holidays and earnings | Public/bank holidays and corporate EPS/revenue release calendars |
| News and search | Latest economic/market news stream and a keyword resolver for indicators and instruments |
| History and bonds | Indicator and market time series plus 15 government-bond maturities per country |
How it works
The actor reads the same public, no-login pages a browser sees: market tables, country pages, rankings, calendars, forecasts, holiday lists, earnings tables, rating pages, bond pages, news and search results. Historical series come from the public chart data behind each indicator or market page. It expands a requested date range into short windows so the calendar does not stop at the page's display ceiling, removes duplicate records, and stops at maxItems or when the source runs out. When several countries, indicators or symbols are requested, records are emitted round-robin so one large target cannot consume the whole cap; history points are newest-first. No account, API key, cookie or proxy setup is required.
Output
Every record carries recordType and scrapedAt. Fields below are the complete contract; a field is omitted when the source does not provide it.
market
name, marketType, category, maturity (bonds), unit, symbol, last, change, changePercent, weekly, monthly, ytd, yoy, marketCap, referenceDate, country, sourceUrl.
countryIndicator
indicatorName, country, category, last, previous, highest, lowest, unit, referenceDate, sourceUrl.
indicatorRanking
indicator, indicatorName, country, last, previous, referenceDate, unit, nextRelease, sourceUrl. For indicator=rating: spRating, dbrsRating, teScore, ratingDescription (Moody's is not published publicly and is therefore omitted).
calendarEvent
eventId, event, country, countryCode, category, symbol, importance, date, time, referencePeriod, actual, previous, consensus, forecast, actualValue, previousValue, consensusValue, forecastValue, previousRevisedFrom, surprise, surpriseDirection, sourceUrl.
countryForecast
indicatorName, country, category, unit, actual, forecasts[] (period, value), sourceUrl.
holiday
date, country, countryCode, holidayName, sourceUrl.
earnings
company, symbol, country, countryCode, date, epsActual, epsConsensus, epsPrevious, revenueActual, revenueConsensus, revenuePrevious, marketCap, fiscalPeriod, time, importance, sourceUrl.
indicatorHistoryPoint
country, indicatorName, indicatorSlug, seriesSymbol, category, unit, frequency, source, date, timestamp, value, sourceUrl.
marketHistoryPoint
symbol, name, date, timestamp, value, change, changePercent, interval, sourceUrl.
marketForecast
name, assetClass, group, price, signal, forecasts[] (period, value), sourceUrl.
news
newsId, title, description, url, author, country, category, importance, publishedAt, expiresAt, image, sourceUrl.
searchResult
title, url, resultType, group, category, country, frequency, unit, sourceUrl.
creditRatingEvent
country, agency, rating, outlook, date, sourceUrl.
bondYield
country, name, maturity, yield, dailyChange, monthlyChange, yearlyChange, date, sourceUrl.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
string | markets |
One of the 14 modes listed above |
marketType |
string | commodities |
mode=markets: commodities / currencies / stocks / bonds / crypto / shares |
category |
string | – | mode=markets: category or region filter |
countries |
array | [] |
Countries for countryIndicators, countryForecast, creditRatingHistory and bondYields (required there); optional for calendar, holidays and earningsCalendar |
indicatorCategory |
string | – | mode=countryIndicators / countryForecast: one macro category |
rankingIndicators |
array | ["interest-rate"] |
mode=indicatorRanking: one or more indicator slugs |
indicatorHistoryUrls |
array | [] |
mode=indicatorHistory: TE indicator URLs or country/indicator-slug |
marketSymbols |
array | [] |
mode=marketHistory: symbols such as CL1:COM, AAPL:US or TE market URLs |
forecastAssetClass |
string | commodity |
mode=marketForecast: commodity / currency / crypto / stockMarket / governmentBond10Y |
searchQuery |
string | – | mode=search: keyword to resolve, e.g. gold |
historySpan |
string | 5y |
history modes: 1m … 10y, max |
marketInterval |
string | auto |
mode=marketHistory: 1m … 1M or auto |
searchKeyword |
string | – | Case-insensitive filter on the record name/title |
minChangePercent |
number | – | mode=markets: minimum daily % change |
maxChangePercent |
number | – | mode=markets: maximum daily % change |
dateFrom |
string | – | ISO date lower bound for date-aware modes |
dateTo |
string | – | ISO date upper bound for date-aware modes |
importance |
string | – | calendar / earnings / news: low / medium / high |
maxItems |
integer | 100 |
Hard cap on emitted records (1–10,000); shared round-robin across requested countries/indicators/symbols |
Example: live energy commodities
{
"mode": "markets",
"marketType": "commodities",
"category": "Energy",
"maxItems": 50
}
Example: prices indicators for three countries
{
"mode": "countryIndicators",
"countries": ["united-states", "germany", "japan"],
"indicatorCategory": "prices",
"maxItems": 100
}
Example: US CPI history, full available series
{
"mode": "indicatorHistory",
"indicatorHistoryUrls": ["united-states/inflation-cpi"],
"historySpan": "max",
"maxItems": 2000
}
Example: high-impact calendar for one week
{
"mode": "calendar",
"dateFrom": "2026-11-02",
"dateTo": "2026-11-08",
"importance": "high",
"maxItems": 100
}
Example: intraday crude-oil prices
{
"mode": "marketHistory",
"marketSymbols": ["CL1:COM"],
"historySpan": "1d",
"marketInterval": "5m",
"maxItems": 500
}
Use cases
- Trading and macro desks — pull quotes, curves and calendar events into a research pipeline
- Cross-country comparison — rank every country by rates, inflation, debt or credit rating
- Historical research — export multi-decade indicator series without an API subscription
- Fintech dashboards — feed live markets, forecasts and bond curves into a client product
- Event monitoring — watch high-impact releases and news for market-moving surprises
- Journalism and academia — bulk-export macro data with source links and timestamps
Usage cost
Apify bills this actor per result (one dataset item = one record). Market snapshots and rankings are small runs; history modes can emit thousands of points, so set maxItems to the number of points you actually need. The daily prefill is intentionally the smallest run with output.
FAQ
Is an API key or login required? No. The actor reads public Trading Economics pages and chart data, and works with no account, cookie or proxy setup.
Is this affiliated with Trading Economics? No. It is an independent third-party actor that reads the same public pages a browser would see.
How fresh is the data? Market quotes are delayed intraday values, not tick-level real-time data. Indicators and calendar events update when Trading Economics republishes a release.
Why is moodysRating missing from credit ratings? Moody's ratings are not published on the public rating pages. The actor never fabricates them; S&P, DBRS and the Trading Economics score are returned instead.
What is teScore and ratingDescription? teScore is Trading Economics' 0–100 sovereign score. ratingDescription maps that score to the published grade band, such as Prime, High grade or Non-investment grade.
How does the calendar surprise work? surprise is actual minus consensus (or the published forecast when consensus is absent), emitted only when both values use the same currency, scale and unit. surpriseDirection is above, below or inline.
Why do some calendar events lack values? A future release has no actual yet, and some agencies publish only a previous value. Missing fields are omitted rather than filled with zero.
Why do index and bond market forecasts show only a few rows? Trading Economics publishes the Major group publicly; further regional index and bond forecast tables are subscription-only. Commodity, currency and crypto forecasts are public in full.
Can I request more than one country or indicator? Yes. Use the countries, rankingIndicators and history/market arrays. The actor fetches each target and emits round-robin, so a cap of 30 with three indicators returns about ten rows per indicator instead of thirty from the first one. Raise maxItems if you need every row from every target.
Why does a history run stop before my maxItems? The source itself has no more observations for that series or span, or the remaining targets produced nothing. The actor reports this rather than padding the dataset. History points are emitted newest-first so a capped run keeps the most recent observations.
Notes
- Dates are ISO
YYYY-MM-DD;timestampis epoch seconds when the source provides one. - Percent fields are whole percent values (for example
2.5means 2.5%). revenueActual,marketCapand similar scaled figures keep their source suffix (B,M,T) because the scale can vary by company.- Records are deduplicated by their natural key, so paginated calendar or news runs do not repeat rows.
- Multi-target runs make one request per requested country/indicator/symbol;
maxItemsis shared round-robin, so each target is represented before any gets a second row. - Older saved tasks that still send
countryorindicatorkeep working; those values are mapped ontocountriesandrankingIndicatorsautomatically.
Limitations
- Moody's ratings are not in the public data and are never emitted.
- Regional index and bond forecasts beyond the Major group are paywalled by the source.
- Calendar rendering is capped by the source at roughly 2,000 rows per page; the actor splits long date ranges into short windows to stay under the cap.
- News is available 100 items per request and has no server-side country filter; the actor paginates and filters client-side.
- Search returns the site's fixed embedded hit set for a query rather than an open-ended index.
- Market tables have source-side row caps that vary by market type; use category runs for the deepest coverage.
- Some symbols have no public chart history. Certain futures contracts and less-covered instruments return an empty chart payload. The actor names the symbol in its status message and continues with the rest of the request.
- Company financial statements are not available on the public pages; only the earnings calendar fields are returned.
- Small or low-coverage economies may have no forecast, rating history or bond curve; those runs return the countries that do have data and leave the rest empty.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build 46I5WSgnDTPdSK55W. Documentation is regenerated from the default published build; private drafts are not included.