{
  "openapi": "3.0.1",
  "info": {
    "title": "Bank of Canada Valet Scraper",
    "description": "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.",
    "version": "0.1",
    "x-build-id": "qW3bOrzOtnNc10zRV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~bank-of-canada-valet-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-bank-of-canada-valet-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/parseforge~bank-of-canada-valet-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-bank-of-canada-valet-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/parseforge~bank-of-canada-valet-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-bank-of-canada-valet-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "seriesCodes": {
            "title": "Series",
            "type": "array",
            "description": "Pick one or more Bank of Canada Valet series to collect. Each observation (a single date and value) becomes one row. Use Custom Series Codes below for any other series.",
            "items": {
              "type": "string",
              "enum": [
                "FXUSDCAD",
                "FXEURCAD",
                "FXGBPCAD",
                "FXJPYCAD",
                "FXAUDCAD",
                "V39079",
                "V122530",
                "V80691311",
                "AVG.INTWO",
                "V41690973",
                "STATIC_TOTALCPICHANGE",
                "CPI_MEDIAN",
                "CPI_TRIM",
                "BD.CDN.2YR.DQ.YLD",
                "BD.CDN.10YR.DQ.YLD"
              ],
              "enumTitles": [
                "FXUSDCAD — USD/CAD daily exchange rate",
                "FXEURCAD — EUR/CAD daily exchange rate",
                "FXGBPCAD — GBP/CAD daily exchange rate",
                "FXJPYCAD — JPY/CAD daily exchange rate",
                "FXAUDCAD — AUD/CAD daily exchange rate",
                "V39079 — Target for the overnight rate (policy rate)",
                "V122530 — Bank rate",
                "V80691311 — Prime rate",
                "AVG.INTWO — CORRA overnight repo rate average",
                "V41690973 — Total CPI index",
                "STATIC_TOTALCPICHANGE — Total CPI, year over year percent change",
                "CPI_MEDIAN — CPI-median core inflation",
                "CPI_TRIM — CPI-trim core inflation",
                "BD.CDN.2YR.DQ.YLD — 2 year Government of Canada bond yield",
                "BD.CDN.10YR.DQ.YLD — 10 year Government of Canada bond yield"
              ]
            },
            "default": [
              "FXUSDCAD"
            ]
          },
          "customSeriesCodes": {
            "title": "Custom Series Codes",
            "type": "string",
            "description": "Any Bank of Canada Valet series codes, comma separated (for example FXUSDCAD,V39079). When set, these are added to the series chosen above. Find codes at the Valet series list, https://www.bankofcanada.ca/valet/lists/series/json"
          },
          "recent": {
            "title": "Recent Observations",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Collect only the most recent N observations per series. Leave empty to use a date range, or to pull the full available history."
          },
          "startDate": {
            "title": "Start Date",
            "type": "string",
            "description": "Earliest observation date to include, as YYYY-MM-DD. Ignored when Recent Observations is set."
          },
          "endDate": {
            "title": "End Date",
            "type": "string",
            "description": "Latest observation date to include, as YYYY-MM-DD. Ignored when Recent Observations is set."
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}