Investing APIinvesting.com ↗
Retrieve upcoming economic events from Investing.com's economic calendar. Filter by country, importance, and date range. Returns event names, forecasts, and actuals.
What is the Investing API?
The Investing.com Economic Calendar API exposes a single get_economic_events endpoint that returns up to 500 scheduled macroeconomic events per request, each carrying 9 fields including event name, importance level, country, currency, and actual/forecast/previous values. You can filter results by date range, importance level, and specific country IDs to narrow the feed to only the releases that matter for your use case.
curl -X GET 'https://api.parse.bot/scraper/94e4f0a4-20b9-4cde-8307-8fc5cfe90588/get_economic_events?end_date=2026-09-02&start_date=2026-08-30' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace investing-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Investing.com Economic Calendar — browse upcoming events."""
from parse_apis.investing_com_api import InvestingCom, Importance, ParseError
client = InvestingCom()
# List high-importance economic events, capped at 5 total items.
for event in client.economic_events.list(importance=Importance.HIGH, limit=5):
print(event.event_name, event.date_time, event.importance)
# Drill into the first medium-importance event for detail fields.
try:
event = client.economic_events.list(importance=Importance.MEDIUM, limit=1).first()
except ParseError as e:
print("parse error:", e.code)
event = None
if event is not None:
print(event.event_name, event.country, event.currency)
print("forecast:", event.forecast, "previous:", event.previous, "actual:", event.actual)
print("source:", event.source, "category:", event.category)
print("exercised: economic_events.list")
Returns a list of upcoming economic events from the Investing.com economic calendar. Each event includes the scheduled date/time (UTC), country, currency, event name, importance level, and actual/forecast/previous values when available. Events are returned in chronological order. By default returns events for the next 7 days starting from today. The API fetches up to 200 events per internal request and paginates automatically. When the importance filter is set, it fetches multiple pages to find matching events. The limit parameter caps the total number of returned events (max 500).
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of events to return. Clamped to range 1-500. |
| end_date | string | End date in ISO format YYYY-MM-DD (e.g. 2026-09-07). When omitted, defaults to 7 days after start_date. |
| importance | string | Filter events by importance level. When omitted, events of all importance levels are returned. |
| start_date | string | Start date in ISO format YYYY-MM-DD (e.g. 2026-09-01). When omitted, defaults to today (UTC). |
| country_ids | string | Comma-separated list of numeric country IDs to filter by (e.g. 5,4,17 for US, UK, Germany). When omitted, events for all countries are returned. |
{
"type": "object",
"fields": {
"total": "number of events returned in this response",
"events": "array of economic event objects, each containing occurrence_id, event_id, date_time, country, currency, event_name, importance, actual, forecast, previous, preliminary, reference_period, unit, category, and source",
"has_more": "boolean indicating whether more events exist beyond this response"
},
"sample": {
"data": {
"total": 2,
"events": [
{
"unit": "%",
"actual": null,
"source": "Eurostat",
"country": "Euro Zone",
"category": "inflation",
"currency": "EUR",
"event_id": 68,
"forecast": 3.3,
"previous": 2.9,
"date_time": "2026-09-01T09:00:00Z",
"event_name": "CPI (YoY)",
"importance": "high",
"preliminary": true,
"occurrence_id": 555262,
"reference_period": "Aug"
},
{
"unit": null,
"actual": null,
"source": "Institute for Supply Management",
"country": "United States",
"category": "economic_activity",
"currency": "USD",
"event_id": 173,
"forecast": 55.2,
"previous": 55.6,
"date_time": "2026-09-01T14:00:00Z",
"event_name": "ISM Manufacturing PMI",
"importance": "high",
"preliminary": false,
"occurrence_id": 555288,
"reference_period": "Aug"
}
],
"has_more": true
},
"status": "success"
}
}About the Investing API
What the API Returns
The get_economic_events endpoint returns an array of economic event objects ordered chronologically. Each object includes an occurrence_id and event_id for deduplication and cross-referencing, a date_time field in UTC, country, currency, and event_name describing the release, an importance classification, and actual, forecast, and previous numeric values where available. The response envelope also includes a total count and a has_more boolean so you can detect when your limit parameter truncated the result set.
Filtering and Pagination
The start_date and end_date parameters accept ISO format dates (YYYY-MM-DD). When start_date is omitted, the API defaults to today in UTC; when end_date is omitted, it defaults to seven days after start_date. The limit parameter is clamped between 1 and 500. To filter by geography, pass a comma-separated list of numeric country IDs to country_ids — for example, 5,4,17 targets the US, UK, and Germany simultaneously. The importance parameter filters to a single tier when you only care about high-impact releases.
Data Coverage and Freshness
The calendar covers central bank decisions, inflation prints, employment reports, PMI releases, GDP figures, and hundreds of other scheduled indicators across multiple countries and currencies. The forecast and previous fields are populated ahead of release, while actual fills in as results are published. Events with no consensus estimate will return null for forecast. Coverage spans both major developed markets and a range of emerging market economies accessible via their numeric country IDs.
The Investing API is a managed, monitored endpoint for investing.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when investing.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official investing.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Alert traders before high-importance events by polling for releases where
importanceis set to the highest tier within the next 24 hours - Build a currency volatility calendar by grouping events by
currencyand counting upcoming releases for a given week - Backfill macroeconomic time-series by querying historical date ranges and extracting
actualvsforecastsurprise data - Filter G10 country economic events using
country_idsto power a dashboard for FX desk research - Monitor central bank rate decisions by searching
event_namefields for rate-related keywords across a rolling 30-day window - Correlate asset price moves with scheduled releases by joining
occurrence_idto internal trade logs around eachdate_time - Generate weekly briefing reports that list upcoming releases sorted by
importanceand include consensusforecastvalues
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Investing.com offer an official developer API for its economic calendar?+
What does the `importance` filter accept, and how is importance defined?+
importance parameter filters events to a single level. Investing.com classifies events into three tiers — typically low, medium, and high — reflecting expected market impact. When the parameter is omitted, the endpoint returns events across all tiers. The importance field on each event object carries the same classification so you can still group or filter results client-side after retrieval.Are `actual` values always populated in the response?+
actual field is only populated after the official data release has been published. For events that have not yet occurred, actual will be null. Similarly, forecast may be null if no analyst consensus estimate exists for a given release. The previous field reflects the prior period's reported value and is generally available ahead of the release.Does the API cover historical economic events beyond what falls in a query's date window?+
start_date and end_date values, so you can query past date ranges to retrieve events where actual values are already populated. However, the endpoint does not expose event revision history — if an actual value was later revised by the reporting agency, only the current figure is returned. You can fork this API on Parse and revise it to add a revisions endpoint if that data is needed.