Bank of Canada Valet Scraper
Pricing
from $9.00 / 1,000 results
Bank of Canada Valet Scraper
Tap the Bank of Canada Valet API for official economic and currency series. Returns the series code, label, description, observation date, and numeric value, one row per date. Track USD CAD rates, the policy overnight rate, CPI inflation, CORRA, and Government of Canada bond yields.
Pricing
from $9.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share

🍁 Bank of Canada Valet Scraper
🚀 Pull Canadian economic and FX data in seconds. Turn the Bank of Canada Valet API into a clean feed of dated observations, one row per date and value.
🕒 Last updated: 2026-06-05 · 📊 7 fields per record · multi series in a single run · daily, monthly and benchmark series
The Bank of Canada publishes its official economic and foreign exchange data through the keyless Valet API. This Actor wraps that API and returns every observation as a flat, dated row you can drop straight into a model, a dashboard, or a spreadsheet. Pick the USD/CAD daily rate, the policy overnight rate, CPI inflation, CORRA, or Government of Canada bond yields, and the Actor walks the response and emits one record per date and value.
Coverage spans the series the Bank of Canada makes public through Valet, including daily exchange rates against the US dollar, euro, pound, yen and Australian dollar, the target for the overnight rate, the bank rate, the prime rate, CORRA, the total CPI index, year over year CPI change, the CPI-median and CPI-trim core measures, and 2 year and 10 year benchmark bond yields. Add any other Valet series code by hand for full reach.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Analysts, economists, fintech builders, treasurers, researchers, data teams | FX monitoring, inflation tracking, rate watching, model inputs, dashboards, reporting |
📋 What the Bank of Canada Valet Scraper does
- Collects observations from one or more Bank of Canada Valet series in a single run.
- Emits one dataset row per date and value, with the series code, human label and description attached.
- Accepts a curated pick list of common series plus a free text field for any custom Valet code.
- Filters by the most recent N observations, or by a start and end date range.
- Returns clean numeric values ready for charts, models and analysis.
🎬 Full Demo (🚧 Coming soon)
⚙️ Input
| Field | Type | Description |
|---|---|---|
seriesCodes | array | One or more series from the curated list (FX rates, policy rate, CPI, bond yields). |
customSeriesCodes | string | Any extra Valet series codes, comma separated. Added to the picked series. |
recent | integer | Collect only the most recent N observations per series. Takes priority over the date range. |
startDate | string | Earliest observation date, as YYYY-MM-DD. Used when Recent is empty. |
endDate | string | Latest observation date, as YYYY-MM-DD. Used when Recent is empty. |
maxItems | integer | Cap on the number of rows. Free plans are limited to 10. |
Example 1, recent USD/CAD and EUR/CAD daily rates:
{"seriesCodes": ["FXUSDCAD", "FXEURCAD"],"recent": 10,"maxItems": 10}
Example 2, the policy overnight rate across a date range:
{"seriesCodes": ["V39079"],"startDate": "2026-01-01","endDate": "2026-03-01","maxItems": 100}
⚠️ Good to Know: when
recentis set it overrides the date range. Some series are daily (FX rates), others are monthly (CPI) or change only on policy decisions (overnight rate), so the number of rows per series depends on the series and the window you request.
📊 Output
Each record is one observation, a single date and value for one series.
| Field | Type | Description |
|---|---|---|
🔖 seriesCode | string | The Valet series code, for example FXUSDCAD. |
📌 label | string | Human readable series label, for example USD/CAD. |
📝 description | string | Full description of what the series measures. |
📅 date | string | Observation date, YYYY-MM-DD. |
🔢 value | number | The numeric value for that date. |
🕒 scrapedAt | string | When the row was collected, ISO 8601. |
❌ error | string | Null on success, a message when a run yields no data. |
Real sample records from a live run:
{"seriesCode": "FXUSDCAD","label": "USD/CAD","description": "Daily average exchange rate: daily value of the US dollar expressed in Canadian dollars, for 1 unit of US dollar","date": "2026-06-04","value": 1.3896,"scrapedAt": "2026-06-05T16:29:40.339Z","error": null}
{"seriesCode": "FXEURCAD","label": "EUR/CAD","description": "Daily average exchange rate: daily value of the euro expressed in Canadian dollars, for 1 unit of euro","date": "2026-06-04","value": 1.6156,"scrapedAt": "2026-06-05T16:29:40.397Z","error": null}
{"seriesCode": "FXUSDCAD","label": "USD/CAD","description": "Daily average exchange rate: daily value of the US dollar expressed in Canadian dollars, for 1 unit of US dollar","date": "2026-06-03","value": 1.3884,"scrapedAt": "2026-06-05T16:29:40.417Z","error": null}
✨ Why choose this Actor
- Direct from the official Bank of Canada Valet source, no third party middleman.
- Flat one row per observation shape that loads cleanly into any tool.
- Multi series in a single run, with both labels and descriptions attached.
- Flexible windows, the most recent N points or an exact date range.
- Keyless source, no account or token needed on the data side.
📈 How it compares to alternatives
| Approach | Effort | Multi series | Clean dated rows |
|---|---|---|---|
| This Actor | Point and click | Yes | Yes |
| Raw Valet API calls | Manual coding | Per request | You parse it |
| Copying from web charts | Tedious | No | No |
🚀 How to use
- Sign up for a free Apify account using this link.
- Open the Bank of Canada Valet Scraper and choose one or more series.
- Set a recent count, or a start and end date, to define your window.
- Click Start and let the run finish.
- Open the dataset and review your dated observations.
💼 Business use cases
FX and treasury
| Need | How it helps |
|---|---|
| Currency monitoring | Track daily USD/CAD, EUR/CAD and other rates over time. |
| Hedging context | Feed official daily averages into hedging and exposure models. |
Macro and rates
| Need | How it helps |
|---|---|
| Rate watching | Follow the target overnight rate, bank rate, prime rate and CORRA. |
| Yield curve | Pull 2 year and 10 year Government of Canada benchmark yields. |
Inflation and research
| Need | How it helps |
|---|---|
| Inflation tracking | Capture total CPI, year over year change, and core CPI measures. |
| Economic research | Build clean historical panels for analysis and backtesting. |
Reporting and dashboards
| Need | How it helps |
|---|---|
| Recurring reports | Schedule runs to refresh a standard set of indicators. |
| Live dashboards | Push fresh dated values into BI and visualization tools. |
🔌 Automating Bank of Canada Valet Scraper
Connect your runs to the tools you already use:
- Make and Zapier for no code workflows.
- Slack alerts when a new run completes.
- Airbyte to load observations into a warehouse.
- GitHub Actions to trigger scheduled pulls.
- Google Drive to archive run outputs.
🌟 Beyond business use cases
- Research: assemble reproducible macro and FX datasets for papers and studies.
- Personal: track the loonie against your home currency over time.
- Non-profit: support economic literacy and public reporting projects.
- Experimentation: prototype forecasting models with real Canadian series.
🤖 Ask an AI assistant
Drop your dataset into ChatGPT, Claude, Perplexity or Copilot and ask it to chart trends, compute moving averages, or compare series side by side.
❓ Frequently Asked Questions
Is the Bank of Canada Valet API free to use? Yes. Valet is a keyless public source, no account or token is required on the data side.
Which series can I collect? A curated list covers common FX rates, the policy and bank rates, prime rate, CORRA, CPI measures and bond yields. You can add any other Valet series code by hand.
Can I pull more than one series at once? Yes. Select several from the list and add custom codes, all are fetched in a single run.
How do I limit how much history I get? Set Recent Observations to the number of latest points you want, or leave it empty and use a start and end date.
What does each row represent? One observation, a single date and value for one series, with the series label and description attached.
Are the values numeric? Yes. Values are parsed to numbers so they are ready for charts and models.
Why do some series have fewer rows? Daily series like FX rates have a value most business days, while monthly CPI or policy rate series change far less often.
What date format is used? Dates are YYYY-MM-DD, matching the source.
How current is the data? The Actor returns whatever the Bank of Canada has published at run time, including the latest available dates.
Is there a limit on rows? Free plans are capped at 10 rows per run. Paid plans can collect far more.
🔌 Integrate with any app
Every run produces a structured dataset you can pull through the Apify API, webhooks, or any of the supported integrations, so the data flows straight into your own systems.
🔗 Recommended Actors
- DBnomics Economic Series Scraper
- NY Fed Reference Rates Scraper
- SEC XBRL Company Facts Scraper
- Mempool Bitcoin Scraper
💡 Pro Tip: browse the complete ParseForge collection.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: independent tool, not affiliated with the Bank of Canada. Only publicly available data collected.