{
  "openapi": "3.1.0",
  "info": {
    "title": "RateScan.in Deposit Rates API",
    "version": "1.0.0",
    "description": "Free, open, read-only JSON API for Indian bank deposit rates (FD, RD, Savings, NRE, FCNR) across every bank, with official-source provenance. No key, CORS-open, licensed CC-BY 4.0. Static files on a CDN; rebuilt when the dataset refreshes.",
    "termsOfService": "https://ratescan.in/terms/",
    "contact": {
      "name": "RateScan.in",
      "url": "https://ratescan.in/contact/"
    },
    "license": {
      "name": "CC-BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    }
  },
  "servers": [
    {
      "url": "https://ratescan.in/api/v1",
      "description": "Production (static, CORS-open)"
    }
  ],
  "externalDocs": {
    "description": "Human API docs",
    "url": "https://ratescan.in/api/"
  },
  "paths": {
    "/manifest.json": {
      "get": {
        "operationId": "getManifest",
        "summary": "Self-describing index of every endpoint + counts + license.",
        "responses": {
          "200": {
            "description": "Manifest",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string",
                      "example": "v1"
                    },
                    "build": {
                      "type": "string",
                      "description": "Content-hash build token; changes when data changes."
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "license": {
                      "type": "string",
                      "format": "uri",
                      "example": "https://creativecommons.org/licenses/by/4.0/"
                    },
                    "attribution": {
                      "type": "string",
                      "example": "RateScan.in"
                    },
                    "counts": {
                      "type": "object"
                    },
                    "endpoints": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/banks.json": {
      "get": {
        "operationId": "listBanks",
        "summary": "All banks with metadata.",
        "responses": {
          "200": {
            "description": "All banks",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string",
                      "example": "v1"
                    },
                    "build": {
                      "type": "string",
                      "description": "Content-hash build token; changes when data changes."
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "license": {
                      "type": "string",
                      "format": "uri",
                      "example": "https://creativecommons.org/licenses/by/4.0/"
                    },
                    "attribution": {
                      "type": "string",
                      "example": "RateScan.in"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "banks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "shortName": {
                            "type": "string"
                          },
                          "category": {
                            "type": "string",
                            "enum": [
                              "PUBLIC",
                              "PRIVATE",
                              "SMALL_FINANCE",
                              "PAYMENTS_BANK",
                              "FOREIGN",
                              "REGIONAL_RURAL",
                              "GOVERNMENT",
                              "STATE_COOP",
                              "DISTRICT_COOP"
                            ]
                          },
                          "website": {
                            "type": "string",
                            "format": "uri"
                          },
                          "color": {
                            "type": "string"
                          },
                          "states": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "netNpaPct": {
                            "type": "number"
                          },
                          "creditRating": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "shortName",
                          "category",
                          "website"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rates.json": {
      "get": {
        "operationId": "listRates",
        "summary": "Every rate row, all banks and categories, with full source provenance.",
        "responses": {
          "200": {
            "description": "All rates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string",
                      "example": "v1"
                    },
                    "build": {
                      "type": "string",
                      "description": "Content-hash build token; changes when data changes."
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "license": {
                      "type": "string",
                      "format": "uri",
                      "example": "https://creativecommons.org/licenses/by/4.0/"
                    },
                    "attribution": {
                      "type": "string",
                      "example": "RateScan.in"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "rates": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "bankId": {
                            "type": "string"
                          },
                          "product": {
                            "type": "string",
                            "enum": [
                              "FD",
                              "RD",
                              "SAVINGS",
                              "NRE_FD",
                              "FCNR_FD"
                            ]
                          },
                          "customer": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "SENIOR",
                              "SUPER_SENIOR"
                            ]
                          },
                          "currency": {
                            "type": "string",
                            "description": "FCNR only (e.g. USD)."
                          },
                          "ratePercent": {
                            "type": "number"
                          },
                          "tenure": {
                            "type": "object",
                            "properties": {
                              "minDays": {
                                "type": "integer"
                              },
                              "maxDays": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "label": {
                                "type": "string"
                              }
                            }
                          },
                          "amount": {
                            "type": "object",
                            "properties": {
                              "minAmount": {
                                "type": "number"
                              },
                              "maxAmount": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "label": {
                                "type": "string"
                              }
                            }
                          },
                          "source": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "format": "uri",
                                "description": "The bank's official page the rate was read from."
                              },
                              "effectiveDate": {
                                "type": "string",
                                "format": "date",
                                "description": "Date the bank states the rate is effective."
                              },
                              "quality": {
                                "type": "string",
                                "enum": [
                                  "OFFICIAL",
                                  "AGGREGATOR"
                                ],
                                "description": "OFFICIAL = read from the bank's own site."
                              },
                              "ingestedAt": {
                                "type": "string",
                                "format": "date",
                                "description": "When this value was first captured."
                              },
                              "checkedAt": {
                                "type": "string",
                                "format": "date",
                                "description": "When ingestion last re-confirmed this source."
                              }
                            },
                            "required": [
                              "url",
                              "effectiveDate",
                              "quality"
                            ]
                          }
                        },
                        "required": [
                          "bankId",
                          "product",
                          "customer",
                          "ratePercent",
                          "tenure",
                          "source"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/banks/{bankId}.json": {
      "get": {
        "operationId": "getBank",
        "summary": "One bank's metadata plus all of its rates.",
        "parameters": [
          {
            "name": "bankId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Bank id, e.g. sbi, hdfc, karnataka.",
            "example": "sbi"
          }
        ],
        "responses": {
          "200": {
            "description": "Bank + rates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string",
                      "example": "v1"
                    },
                    "build": {
                      "type": "string",
                      "description": "Content-hash build token; changes when data changes."
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "license": {
                      "type": "string",
                      "format": "uri",
                      "example": "https://creativecommons.org/licenses/by/4.0/"
                    },
                    "attribution": {
                      "type": "string",
                      "example": "RateScan.in"
                    },
                    "bank": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "shortName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string",
                          "enum": [
                            "PUBLIC",
                            "PRIVATE",
                            "SMALL_FINANCE",
                            "PAYMENTS_BANK",
                            "FOREIGN",
                            "REGIONAL_RURAL",
                            "GOVERNMENT",
                            "STATE_COOP",
                            "DISTRICT_COOP"
                          ]
                        },
                        "website": {
                          "type": "string",
                          "format": "uri"
                        },
                        "color": {
                          "type": "string"
                        },
                        "states": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "netNpaPct": {
                          "type": "number"
                        },
                        "creditRating": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "shortName",
                        "category",
                        "website"
                      ]
                    },
                    "rates": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "bankId": {
                            "type": "string"
                          },
                          "product": {
                            "type": "string",
                            "enum": [
                              "FD",
                              "RD",
                              "SAVINGS",
                              "NRE_FD",
                              "FCNR_FD"
                            ]
                          },
                          "customer": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "SENIOR",
                              "SUPER_SENIOR"
                            ]
                          },
                          "currency": {
                            "type": "string",
                            "description": "FCNR only (e.g. USD)."
                          },
                          "ratePercent": {
                            "type": "number"
                          },
                          "tenure": {
                            "type": "object",
                            "properties": {
                              "minDays": {
                                "type": "integer"
                              },
                              "maxDays": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "label": {
                                "type": "string"
                              }
                            }
                          },
                          "amount": {
                            "type": "object",
                            "properties": {
                              "minAmount": {
                                "type": "number"
                              },
                              "maxAmount": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "label": {
                                "type": "string"
                              }
                            }
                          },
                          "source": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "format": "uri",
                                "description": "The bank's official page the rate was read from."
                              },
                              "effectiveDate": {
                                "type": "string",
                                "format": "date",
                                "description": "Date the bank states the rate is effective."
                              },
                              "quality": {
                                "type": "string",
                                "enum": [
                                  "OFFICIAL",
                                  "AGGREGATOR"
                                ],
                                "description": "OFFICIAL = read from the bank's own site."
                              },
                              "ingestedAt": {
                                "type": "string",
                                "format": "date",
                                "description": "When this value was first captured."
                              },
                              "checkedAt": {
                                "type": "string",
                                "format": "date",
                                "description": "When ingestion last re-confirmed this source."
                              }
                            },
                            "required": [
                              "url",
                              "effectiveDate",
                              "quality"
                            ]
                          }
                        },
                        "required": [
                          "bankId",
                          "product",
                          "customer",
                          "ratePercent",
                          "tenure",
                          "source"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Unknown bank id"
          }
        }
      }
    },
    "/best/{product}.json": {
      "get": {
        "operationId": "getBestByProduct",
        "summary": "Top 25 banks for a product (mirrors the site's homepage default: domestic products limited to public/private/small-finance; NRI unfiltered).",
        "parameters": [
          {
            "name": "product",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "fd",
                "rd",
                "savings",
                "nre_fd",
                "fcnr_fd"
              ]
            },
            "example": "fd"
          }
        ],
        "responses": {
          "200": {
            "description": "Ranked best rates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string",
                      "example": "v1"
                    },
                    "build": {
                      "type": "string",
                      "description": "Content-hash build token; changes when data changes."
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "license": {
                      "type": "string",
                      "format": "uri",
                      "example": "https://creativecommons.org/licenses/by/4.0/"
                    },
                    "attribution": {
                      "type": "string",
                      "example": "RateScan.in"
                    },
                    "product": {
                      "type": "string"
                    },
                    "customer": {
                      "type": "string"
                    },
                    "sectorFilter": {
                      "description": "Applied sector filter, or 'ALL'.",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      ]
                    },
                    "count": {
                      "type": "integer"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rank": {
                            "type": "integer"
                          },
                          "bankId": {
                            "type": "string"
                          },
                          "bankName": {
                            "type": "string"
                          },
                          "category": {
                            "type": "string"
                          },
                          "ratePercent": {
                            "type": "number"
                          },
                          "tenure": {
                            "type": "object",
                            "properties": {
                              "minDays": {
                                "type": "integer"
                              },
                              "maxDays": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "label": {
                                "type": "string"
                              }
                            }
                          },
                          "currency": {
                            "type": "string"
                          },
                          "source": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "format": "uri",
                                "description": "The bank's official page the rate was read from."
                              },
                              "effectiveDate": {
                                "type": "string",
                                "format": "date",
                                "description": "Date the bank states the rate is effective."
                              },
                              "quality": {
                                "type": "string",
                                "enum": [
                                  "OFFICIAL",
                                  "AGGREGATOR"
                                ],
                                "description": "OFFICIAL = read from the bank's own site."
                              },
                              "ingestedAt": {
                                "type": "string",
                                "format": "date",
                                "description": "When this value was first captured."
                              },
                              "checkedAt": {
                                "type": "string",
                                "format": "date",
                                "description": "When ingestion last re-confirmed this source."
                              }
                            },
                            "required": [
                              "url",
                              "effectiveDate",
                              "quality"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Unknown product"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Bank": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortName": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "PUBLIC",
              "PRIVATE",
              "SMALL_FINANCE",
              "PAYMENTS_BANK",
              "FOREIGN",
              "REGIONAL_RURAL",
              "GOVERNMENT",
              "STATE_COOP",
              "DISTRICT_COOP"
            ]
          },
          "website": {
            "type": "string",
            "format": "uri"
          },
          "color": {
            "type": "string"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "netNpaPct": {
            "type": "number"
          },
          "creditRating": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "shortName",
          "category",
          "website"
        ]
      },
      "Rate": {
        "type": "object",
        "properties": {
          "bankId": {
            "type": "string"
          },
          "product": {
            "type": "string",
            "enum": [
              "FD",
              "RD",
              "SAVINGS",
              "NRE_FD",
              "FCNR_FD"
            ]
          },
          "customer": {
            "type": "string",
            "enum": [
              "GENERAL",
              "SENIOR",
              "SUPER_SENIOR"
            ]
          },
          "currency": {
            "type": "string",
            "description": "FCNR only (e.g. USD)."
          },
          "ratePercent": {
            "type": "number"
          },
          "tenure": {
            "type": "object",
            "properties": {
              "minDays": {
                "type": "integer"
              },
              "maxDays": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "label": {
                "type": "string"
              }
            }
          },
          "amount": {
            "type": "object",
            "properties": {
              "minAmount": {
                "type": "number"
              },
              "maxAmount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "label": {
                "type": "string"
              }
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "description": "The bank's official page the rate was read from."
              },
              "effectiveDate": {
                "type": "string",
                "format": "date",
                "description": "Date the bank states the rate is effective."
              },
              "quality": {
                "type": "string",
                "enum": [
                  "OFFICIAL",
                  "AGGREGATOR"
                ],
                "description": "OFFICIAL = read from the bank's own site."
              },
              "ingestedAt": {
                "type": "string",
                "format": "date",
                "description": "When this value was first captured."
              },
              "checkedAt": {
                "type": "string",
                "format": "date",
                "description": "When ingestion last re-confirmed this source."
              }
            },
            "required": [
              "url",
              "effectiveDate",
              "quality"
            ]
          }
        },
        "required": [
          "bankId",
          "product",
          "customer",
          "ratePercent",
          "tenure",
          "source"
        ]
      },
      "Source": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The bank's official page the rate was read from."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date",
            "description": "Date the bank states the rate is effective."
          },
          "quality": {
            "type": "string",
            "enum": [
              "OFFICIAL",
              "AGGREGATOR"
            ],
            "description": "OFFICIAL = read from the bank's own site."
          },
          "ingestedAt": {
            "type": "string",
            "format": "date",
            "description": "When this value was first captured."
          },
          "checkedAt": {
            "type": "string",
            "format": "date",
            "description": "When ingestion last re-confirmed this source."
          }
        },
        "required": [
          "url",
          "effectiveDate",
          "quality"
        ]
      },
      "Tenure": {
        "type": "object",
        "properties": {
          "minDays": {
            "type": "integer"
          },
          "maxDays": {
            "type": [
              "integer",
              "null"
            ]
          },
          "label": {
            "type": "string"
          }
        }
      }
    }
  }
}