{
  "openapi": "3.0.1",
  "info": {
    "title": "Australian Bank Rates - Mortgages, Term Deposits, Savings",
    "description": "Every interest rate from 248 Australian banks and lenders, ~28,500 rates: term deposits by term and amount, home loans by LVR, purpose and repayment, savings, personal loans, cards. Best rate per bank, ranked, and a daily rate-change feed. Consumer Data Right data, refreshed nightly.",
    "version": "0.0",
    "x-build-id": "VAe4qFHBnuox2dnkT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlplant~au-bank-rates/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlplant-au-bank-rates",
        "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/crawlplant~au-bank-rates/runs": {
      "post": {
        "operationId": "runs-sync-crawlplant-au-bank-rates",
        "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/crawlplant~au-bank-rates/run-sync": {
      "post": {
        "operationId": "run-sync-crawlplant-au-bank-rates",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "best",
              "rates",
              "changes",
              "products",
              "brands"
            ],
            "type": "string",
            "description": "best = the best rate per bank for your filters (ranked); rates = every matching rate row; changes = rate changes since a date or your last run; products = one row per product with its rate range; brands = the list of banks and lenders we cover.",
            "default": "best"
          },
          "categories": {
            "title": "Product categories",
            "type": "array",
            "description": "Which products to look at. Leave empty for all categories.",
            "items": {
              "type": "string",
              "enum": [
                "TERM_DEPOSITS",
                "TRANS_AND_SAVINGS_ACCOUNTS",
                "RESIDENTIAL_MORTGAGES",
                "PERS_LOANS",
                "BUSINESS_LOANS",
                "CRED_AND_CHRG_CARDS",
                "OVERDRAFTS",
                "MARGIN_LOANS",
                "LEASES",
                "TRADE_FINANCE",
                "TRAVEL_CARDS",
                "REGULATED_TRUST_ACCOUNTS",
                "BUY_NOW_PAY_LATER",
                "OTHER"
              ],
              "enumTitles": [
                "Term deposits",
                "Savings & transaction accounts",
                "Home loans (mortgages)",
                "Personal loans",
                "Business loans",
                "Credit & charge cards",
                "Overdrafts",
                "Margin loans",
                "Leases",
                "Trade finance",
                "Travel cards",
                "Trust accounts",
                "Buy now pay later",
                "Other"
              ]
            },
            "default": [
              "TERM_DEPOSITS"
            ]
          },
          "brands": {
            "title": "Banks / lenders",
            "type": "array",
            "description": "Only these brands: part of the name (\"commbank\", \"ing\", \"macquarie\") or a brand id from mode \"brands\". Leave empty for all 240+.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "Banks or non-bank lenders",
            "type": "array",
            "description": "Limit to banks (ADIs) or non-bank lenders. Empty = both.",
            "items": {
              "type": "string",
              "enum": [
                "banking",
                "non-bank-lending"
              ],
              "enumTitles": [
                "Banks",
                "Non-bank lenders"
              ]
            },
            "default": []
          },
          "termMonths": {
            "title": "Terms (months)",
            "type": "array",
            "description": "Term deposit or fixed-rate terms to keep, in months, e.g. [12] or [3, 6, 12]. Ranges like 286-315 days match when the term falls inside. Rows without a term (variable rates) are dropped when this is set.",
            "default": []
          },
          "rateTypes": {
            "title": "Rate types",
            "type": "array",
            "description": "E.g. FIXED, VARIABLE, BONUS, INTRODUCTORY, PURCHASE. Empty: \"best\" compares headline rates (fixed, variable, market-linked, card purchase); \"rates\" returns every type.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "loanPurpose": {
            "title": "Loan purpose",
            "enum": [
              "OWNER_OCCUPIED",
              "INVESTMENT"
            ],
            "type": "string",
            "description": "Home loans: owner-occupied or investment."
          },
          "repaymentType": {
            "title": "Repayment type",
            "enum": [
              "PRINCIPAL_AND_INTEREST",
              "INTEREST_ONLY"
            ],
            "type": "string",
            "description": "Home loans: principal and interest, or interest only."
          },
          "lvr": {
            "title": "Loan-to-value ratio (LVR)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep rates whose LVR band covers this value: 80 or 0.8 both mean 80%."
          },
          "amount": {
            "title": "Amount (AUD)",
            "minimum": 0,
            "type": "number",
            "description": "Deposit or loan amount: keeps rates whose balance/loan band covers it."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "auto",
              "rate_desc",
              "rate_asc",
              "comparison_asc",
              "brand"
            ],
            "type": "string",
            "description": "auto: deposits highest rate first, loans lowest comparison rate first (best mode). rates mode keeps the natural order unless you pick one.",
            "default": "auto"
          },
          "topPerBrand": {
            "title": "Top rates per bank (best mode)",
            "minimum": 0,
            "type": "integer",
            "description": "How many rates to keep per bank in \"best\" mode. 0 = all matching rates, ranked.",
            "default": 1
          },
          "includeRiskBasedRates": {
            "title": "Include \"from\" and credit-band rates (best mode)",
            "type": "boolean",
            "description": "Loans priced by credit profile often publish only a minimum (\"from\") rate, a maximum rate or one rate per credit band. Best mode leaves them out, because few applicants get the minimum. Turn on to rank them too. Every row says what its rate stands for in rateBasis.",
            "default": false
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many rows. Every home loan rate is ~15,800 rows, the whole market ~28,500.",
            "default": 500
          },
          "changedSince": {
            "title": "Changed since",
            "type": "string",
            "description": "Mode \"changes\": a date (2026-09-01) or \"last-run\" for everything since your previous run with the same input. Empty = last 7 days."
          },
          "rateHistoryDays": {
            "title": "Rate history (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Attach each rate's changes from the last N days (rateHistory). 0 = off.",
            "default": 0
          },
          "maxAgeHours": {
            "title": "Max data age (hours)",
            "minimum": 0,
            "type": "integer",
            "description": "We refresh every product daily. Older data is still served, with a warning in the run summary.",
            "default": 36
          },
          "includeRaw": {
            "title": "Include raw CDR payload",
            "type": "boolean",
            "description": "Add the product's original CDR JSON (large).",
            "default": false
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}