Bank of Canada Valet Monitor - Exchange Rate for Canada
Pricing
from $1.00 / 1,000 series checkeds
Bank of Canada Valet Monitor - Exchange Rate for Canada
Extract published exchange-rate observations from the Bank of Canada Valet API. Includes the series, date and observation value. Valet series such as FXUSDCAD, including a baseline and a new observation. Results as JSON, CSV or Excel. Access through API or MCP.
Pricing
from $1.00 / 1,000 series checkeds
Rating
0.0
(0)
Developer
Muhammet Mustafa Dincer
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
🤖 What does the Bank of Canada monitor do?
A Bank of Canada monitor reads published exchange-rate observations from the Bank of Canada Valet API. It can collect:
- published exchange-rate observations from the Bank of Canada Valet API
- the series, date and observation value
- A saved baseline when the source compares the next run
- JSON, CSV or Excel from the dataset
- The same run through the Apify API or MCP
💡 Why use the Bank of Canada monitor?
People use a Bank of Canada monitor when the same public page would otherwise be checked by hand.
- Watch a change. The Actor keeps a baseline and writes the next difference.
- Feed a sheet. The dataset opens as JSON, CSV or Excel.
- Call it from code. The Apify API runs the same input.
- Hand it to an agent. Apify MCP can call the Actor with that input.
- Stay on the sample. The prefilled input is the short, cheap run.
🚀 How do you run the Bank of Canada monitor?
- Open this Actor and click Try for free.
- Keep the prefilled sample, or set Series.
- Leave the other fields on their defaults unless you need a narrower run.
- Click Run.
- Open the Dataset tab and download JSON, CSV or Excel.
Sample input from the prefilled schema:
{"series": ["FXUSDCAD"],"onlyChanges": false,"monitorName": "default"}
⚠️ What limits does this Actor have?
The input schema is the limit. Defaults and prefills are unchanged by this copy update.
series: at most 10 items.- Actor Start is priced in the table. The other events are billed only when the source charges them and the charge is accepted.
- A spending limit that cannot pay for the next event stops that event. The source does not invent a result to replace it.
💳 How much does the Bank of Canada monitor cost?
The table is the live pay-per-event price list (pricingInfos) for this Actor. It is not a guessed price.
| Event | What the price list calls it | Free | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|---|
apify-actor-start | Actor Start | $0.0005 | $0.0005 | $0.0005 | $0.0005 | $0.0005 | $0.0005 |
series-checked | Series checked | $0.001 | $0.001 | $0.001 | $0.001 | $0.001 | $0.001 |
new-observation | New observation | $0.0025 | $0.00225 | $0.002125 | $0.002 | $0.002 | $0.002 |
One Free-plan run that bills one series-checked plus Actor Start is $0.0005 + $0.001 = $0.0015. 1,000 series-checked events on the Free plan are $1.00, before Actor Start. These figures use only the live prices in the table.
apify-actor-start is in the live price list. Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).
The source names series-checked and charges it with Actor.charge when that event happens. One Valet series whose response included that series, including a first baseline and a later run whose saved observation did not change. An unknown series, an API error, a network error, an invalid series id, or a skip because the spending limit could not pay for the check or for a new observation is not charged.
The source names new-observation and charges it with Actor.charge when that event happens. Charged in addition to the series check for each observation date that was not in the saved baseline, and for a saved date whose value the Bank changed. The first baseline and an unchanged value are not this event. An observation the spending limit cannot pay for is not fetched when that is known beforehand, is not stored, and is not charged.
📝 What input does this Actor take?
Required fields are marked. Defaults and prefills are the quick run; this text does not change them.
| Field | Required | What it means |
|---|---|---|
series (Series) | Yes | Bank of Canada Valet series ids, one per line. FXUSDCAD is the US dollar in Canadian... |
onlyChanges (Only new observations) | No | Leave this off for the sample so a repeated run still writes the current observation. Turn it on,... |
monitorName (Watchlist name) | No | Baselines are stored per watchlist. Use a new name to start over without deleting the old snapshot. |
📊 What output does this Actor return?
The dataset schema names every stored field.
| Field | What the schema says |
|---|---|
recordType | observation: one row for a Valet series observation or for a series t... |
status | baseline_saved, unchanged, new_observation, revised, no_observations,... |
changeType | baseline, unchanged, new, or revised. Null when the series was not st... |
input | The series id as entered. |
seriesId | Valet series id, uppercased. |
label | Series label copied from Valet. |
description | Series description copied from Valet. |
date | Observation date, YYYY-MM-DD, copied from Valet. |
value | Observation value copied from Valet. Not rewritten as a rounded number. |
previousValue | Saved value when the Bank revised that date. Null otherwise. |
unit | Unit copied from Valet metadata. |
frequency | Frequency copied from Valet metadata. |
revised | True when the Bank published a different value for a date already saved. |
source | The publisher of the series. |
termsUrl | Bank of Canada website terms. |
freeOnBankSite | True because the series is free on the Bank of Canada website. |
httpStatus | HTTP status of the Valet response. Null when it was not fetched. |
checkedAt | When this series was handled, ISO 8601. |
charged | True only when the platform billed the event for this row. False when... |
message | What changed, or why the series was not stored. |
Field examples declared in the dataset schema shipped with this Actor. They are not a newly invented row.
{"recordType": "observation","status": "baseline_saved","changeType": "baseline","input": "FXUSDCAD","seriesId": "FXUSDCAD","label": "USD/CAD","description": "Daily average exchange rate of the US dollar in Canadian dollars.","date": "2026-11-06","value": "1.4113","previousValue": null,"unit": "Canadian dollars per US dollar","frequency": "Business daily","revised": false,"source": "Bank of Canada","termsUrl": "https://www.bankofcanada.ca/terms/","freeOnBankSite": true,"httpStatus": 200,"checkedAt": "2026-11-07T12:00:00.000Z","charged": false,"message": "Baseline saved."}
🔌 How do you call this Actor from the API?
Call mmdincer/bank-of-canada-valet-monitor with the Apify API. The body is the input schema. MCP clients on Apify use the same input.
Make and Zapier can start the Actor through Apify's integration. The input is the same JSON.
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("mmdincer/bank-of-canada-valet-monitor").call(run_input={"series": ["FXUSDCAD"], "onlyChanges": false, "monitorName": "default"})items = client.dataset(run["defaultDatasetId"]).list_items().items
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "<APIFY_TOKEN>" });const run = await client.actor("mmdincer/bank-of-canada-valet-monitor").call({"series": ["FXUSDCAD"], "onlyChanges": false, "monitorName": "default"});const { items } = await client.dataset(run.defaultDatasetId).listItems();
❓ What else should you know?
Does the Bank of Canada monitor need a login?
The sample run uses the public source and the prefilled input. A field that asks for your own key is optional unless the input schema marks it required.
What does the Bank of Canada monitor charge for?
The primary event in the live price list is series-checked (Series checked). Actor Start is separate. An event the source does not call is not billed by the source.
Can this Actor run on a schedule?
Yes. Save the input and schedule it. The next run compares against the baseline when the source stores one.
Where do the results go?
Results land in the run dataset. Download JSON, CSV or Excel, or read them with the API.
⚖️ Is it legal to use the Bank of Canada monitor?
You are responsible for the source terms and for privacy law that applies to you, including the GDPR if you handle personal data. This Actor stores the public fields described above. This Actor is not affiliated with the Bank of Canada.
Not affiliated with the Bank of Canada.
Source license: Apache-2.0.
The git file pricing-ppe.json still lists series-checked from $0.002 and new-observation from $0.004. Those file cells are not the live prices. The table above is the live pricingInfos read on 12 November 2026.
Series values are free on the Bank of Canada website. This Actor does not write them to the Actor pricing API.
Not affiliated with the Bank of Canada.
🔗 Which related actors sit beside this one?
Other public Actors from mmdincer in this group:
- Finland Food CPI Monitor - Food prices for Finland
- Iceland Food CPI Monitor - Food prices for Iceland
- Denmark Food CPI Monitor - Food prices for Denmark
- SSB Food CPI Monitor - Food prices for Norway
- Defra Price Monitor - Wholesale produce for the UK
- UK Fuel Price Monitor - Weekly road fuel for the UK
- CSO House Price Monitor - Index values for Ireland
- Ireland Price Monitor - Property sales for Ireland
Run the Bank of Canada monitor again when you want a fresh Bank of Canada check.
Run the Bank of Canada monitor again when you want a fresh Bank of Canada check.
Download the dataset as JSON, CSV or Excel when the run finishes.