Ну, для начала user-agent не обязателен, а Content-Type - обязателен, если планируете получить json. Также в post запросе в качестве параметра передаётся json, поэтому и нам его тоже нужно передать.
import requests
headers = {'Content-Type':'application/json;charset=utf-8'}
url = 'https://www.vtb.ru/api/sitecore/coinsapi/filter'
data = '{"query":"","newCollection":false,"Discounted":false,"GiftBox":false,"Order":"priceAsc","SearchGroups":false,"CoinList":"all","Favorites":[],"Groups":["8e67bb77202c40fa8ae0258d5bcb66f8","087e7eca08724e88aa1fbd0ebb0ebf70"],"Series":[],"Themes":[],"Metals":[],"PriceMin":"","PriceMax":"","Page":1,"ResultsOnPage":16}'
response = requests.post(url,data=data,headers=headers)
В json, который в data, можно менять различные параметры, такие как: номер страницы, количество монет на странице, минимальная и максимальная цена, и т.д.
После этих манипуляций получаем "200 OK" и json с монетками.