Economic Calendar
v1.0.1Fetch and display filtered macro-economic events from Investing.com with no API key, supporting date range, importance, country, timezone, and JSON output.
Security Scan
OpenClaw
Benign
medium confidencePurpose & Capability
Name/description (economic calendar from Investing.com) match the included script and SKILL.md: the code builds POST requests to Investing.com, parses returned HTML, and formats output. No unrelated binaries or credentials are requested.
Instruction Scope
SKILL.md tells the agent to run the included Python scraper with date/country/timezone filters and optional JSON output. The script operates via HTTP against investing.com, maintains a session/cookies, and writes JSON to stdout or to a local file — all within the declared purpose. There is no instruction to read unrelated local files or environment variables.
Install Mechanism
This is instruction-only (no installer). Dependencies are normal Python packages for scraping. Minor inconsistency: SKILL.md and script use/require 'lxml' parser, but requirements.txt lists requests, beautifulsoup4, and pytz (lxml is missing). That is an installation/packaging oversight but not a malicious signal.
Credentials
The skill requests no environment variables, no credentials, and no config paths. The script uses only command-line args and makes network requests to investing.com; no secrets are accessed or required.
Persistence & Privilege
always:false and disable-model-invocation left default (agent may call it when allowed). The skill does not request persistent system presence or modify other skills. It writes its own output files (calendar_YYYYMMDD.json) which is expected.
Assessment
This skill appears to do exactly what it says: scrape Investing.com and output filtered events. Before installing or running it: (1) review the full scripts/economic_calendar.py file (the copy provided here was truncated) to confirm there are no hidden network calls or unexpected behavior; (2) be aware scraping can violate a site's terms of service and may be blocked — the script mimics a browser and uses delays, which is expected for scraping; (3) fix the packaging mismatch (requirements.txt omits lxml even though BeautifulSoup('lxml') is used) to ensure proper dependency installation; (4) run in a restricted environment or sandbox if you want to be extra cautious, since the script makes outbound HTTP requests and writes files to disk. If you want higher assurance, provide the full, untruncated script for a line-by-line review.Like a lobster shell, security has layers — review code before you run it.
economicsfinanceforexlatestscraping
economic-calendar
Fetch macro-economic events (Fed, ECB, CPI, etc.) from Investing.com. No API key required — pure scraping.
Usage
# Today's high-importance US events (table output)
python scripts/economic_calendar.py
# Specific date with custom filters
python scripts/economic_calendar.py --date 2026-03-01 --importance high medium --countries "united states" germany
# Multiple days (next 7 days)
python scripts/economic_calendar.py --days 7 --importance high medium --countries "united states"
# JSON to stdout (for automation/piping)
python scripts/economic_calendar.py --date tomorrow --json stdout
# JSON to file (default: calendar_YYYYMMDD.json)
python scripts/economic_calendar.py --days 3 --json file
Options
| Flag | Description | Default |
|---|---|---|
--date | Start date: today, tomorrow, yesterday, or YYYY-MM-DD | today |
--days | Fetch range of N days (overrides --date) | — |
--importance | Filter levels: low, medium, high (space-separated) | high |
--countries | Countries (space-separated, quotes for multi-word) | united states |
--timezone | Timezone for event times | GMT +1:00 |
--json | JSON mode: file, stdout, none | file |
Countries
Available country names (use quotes for multi-word):
united statesgermanyunited kingdomfrancejapanchinacanadaaustraliaswitzerlandeurozone
Timezones
Common timezones:
GMT +1:00— Berlin/Vienna (CET) ✓ defaultGMT +2:00— Berlin/Vienna (CEST)GMT -5:00— New York (EST)GMT -4:00— New York (EDT)GMT— UTC
Output Formats
Table (default)
Human-readable formatted table to stdout:
================================================================================
Economic Calendar | 25.02.2026
Countries: United States | Timezone: GMT +1:00 | Importance: high
================================================================================
Time Imp. Curr. Event Forecast Previous Actual
------- -------- ------ ------------------------------ --------- --------- --------
14:30 high USD Unemployment Claims 215K 219K —
14:30 high USD Core PPI m/m 0.3% 0.4% —
================================================================================
2 event(s) found.
JSON
{
"from": "2026-02-25",
"to": "2026-02-25",
"timezone": "GMT +1:00",
"importances": ["high"],
"countries": ["united states"],
"events": [
{
"date": "Tuesday, February 25, 2026",
"time": "14:30",
"currency": "USD",
"importance": 3,
"event": "Unemployment Claims",
"actual": "",
"forecast": "215K",
"previous": "219K"
}
]
}
Dependencies
pip install requests beautifulsoup4 lxml
Notes
- Source: Investing.com (server-side rendered, reliable CSS selectors)
- Rate limiting: Built-in delays between requests
- Session handling: Maintains cookies across requests for proper session state
- Data validity: Historical data + 1+ years forward
- No API key: All data is publicly scraped
Use in Workflows
# Daily briefing — get today's high/medium US events as JSON
python3 skills/economic-calendar/scripts/economic_calendar.py \
--date today \
--importance high medium \
--countries "united states" \
--json stdout
Comments
Loading comments...
