Economic Calendar

v1.0.1

Fetch and display filtered macro-economic events from Investing.com with no API key, supporting date range, importance, country, timezone, and JSON output.

0· 521·5 current·5 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & 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.

economicsvk976f0qwaqqvvzeh9appf6mxhn822brafinancevk976f0qwaqqvvzeh9appf6mxhn822braforexvk976f0qwaqqvvzeh9appf6mxhn822bralatestvk976f0qwaqqvvzeh9appf6mxhn822brascrapingvk976f0qwaqqvvzeh9appf6mxhn822bra
521downloads
0stars
2versions
Updated 1mo ago
v1.0.1
MIT-0

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

FlagDescriptionDefault
--dateStart date: today, tomorrow, yesterday, or YYYY-MM-DDtoday
--daysFetch range of N days (overrides --date)
--importanceFilter levels: low, medium, high (space-separated)high
--countriesCountries (space-separated, quotes for multi-word)united states
--timezoneTimezone for event timesGMT +1:00
--jsonJSON mode: file, stdout, nonefile

Countries

Available country names (use quotes for multi-word):

  • united states
  • germany
  • united kingdom
  • france
  • japan
  • china
  • canada
  • australia
  • switzerland
  • eurozone

Timezones

Common timezones:

  • GMT +1:00 — Berlin/Vienna (CET) ✓ default
  • GMT +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...