Откуда сайты берут курсы валют различных банков?
Некоторые банки предоставляют эти данные в виде API,
некоторые просто на сайте выкладывают в открытом виде.
Дальше кто-то парсит эти данные сам, кто-то парсит и раздаёт эти данные в виде API и так далее.
Не уверен что есть готовый рецепт
Например: https://www.moex.com/a2193