Dataspryva

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.

FieldTypeRequiredDescription
modestringrequiredWhich Trading Economics surface to collect.
marketTypestringoptionalWhich live market table to collect.
categorystringoptionalRestrict 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
FieldTypeRequiredDescription
modestringrequiredWhich Trading Economics surface to collect.
marketTypestringoptionalWhich live market table to collect.
categorystringoptionalRestrict 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.
countriesarrayoptionalOne or more countries. Required for countryIndicators, countryForecast, creditRatingHistory and bondYields. Optional for calendar, holidays and earningsCalendar (leave empty for global data).
indicatorCategorystringoptionalRestrict 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.
rankingIndicatorsarrayoptionalOne or more indicators to rank across every country. The `rating` indicator returns sovereign credit ratings instead of a numeric series.
indicatorHistoryUrlsarrayoptionalTrading 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.
marketSymbolsarrayoptionalSymbols such as `CL1:COM`, `AAPL:US`, `USGG10YR:IND` or full Trading Economics market URLs. Up to 100 symbols.
forecastAssetClassstringoptionalWhich public forecast table to collect.
searchQuerystringoptionalKeyword used to resolve indicators and markets, e.g. `gold`, `inflation`, `EURUSD`. Required for mode=search.
historySpanstringoptionalHow far back to fetch historical series. `max` returns the full available history.
marketIntervalstringoptionalIntraday or daily interval for market history. Leave on `auto` to use the span's natural frequency.
searchKeywordstringoptionalCase-insensitive substring filter on the record name/title (instrument, indicator, event, company or news headline). Leave blank for no filtering.
minChangePercentnumberoptionalOnly keep instruments whose daily percent change is at least this value. Enter -5 for -5%.
maxChangePercentnumberoptionalOnly keep instruments whose daily percent change is at most this value.
dateFromstringoptionalISO 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.
dateTostringoptionalISO date (YYYY-MM-DD). Upper bound for the same date-aware modes.
importancestringoptionalKeep only releases/news at this market-impact level. Leave unset for all levels.
maxItemsintegeroptionalHard 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.

FieldTypeRequiredDescription
itemsstringoptionalDataset 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; timestamp is epoch seconds when the source provides one.
  • Percent fields are whole percent values (for example 2.5 means 2.5%).
  • revenueActual, marketCap and 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; maxItems is shared round-robin, so each target is represented before any gets a second row.
  • Older saved tasks that still send country or indicator keep working; those values are mapped onto countries and rankingIndicators automatically.

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.

Open the step-by-step Python guide →

Source build 46I5WSgnDTPdSK55W. Documentation is regenerated from the default published build; private drafts are not included.