La solicitud POST funciona en Postman pero no en Python

Cuando hago esta solicitud POST en Postman, obtengo los datos. Cuando lo hago en Python 2.7 (usando un cuaderno Jupyter), aparece el error "No se pudo decodificar ningún objeto JSON". ¿Qué estoy haciendo mal y cómo puedo hacer que funcione?

import json
import requests
url = 'http://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0101/BE0101A/BefolkningNy'

headers={'content-type': 'application/json'}
payload = {  
"query": [
 {       
 "code": "ContentsCode",
  "selection": {        
    "filter": "item",         
    "values": [          
      "BE0101N1"         
    ]      
   }    
},    
{      
   "code": "Tid",
   "selection": {        
   "filter": "item",         
  "values": [           
   "2010",          
   "2011"         
   ]      
  }    
 },
 {      
  "code": "Region",
    "selection": {        
    "filter": "item",         
   "values": [           
   "01"         
   ]      
  }    
 }   
],  
"response": {    
  "format": "json"   
 }
}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}

r = requests.post(url, data=payload)
print(r.text)
print(r.json())

El manual de la API está aquí, pero no es de mucha ayuda:

http://www.scb.se/en_/About-us/Open-data-API/API-for-the-Statistical-Database-/

Respuestas a la pregunta(1)

Su respuesta a la pregunta