ポイントは "Content-Type":"application/json" するところ
これに気づかなくって少しハマりました
# -*- coding: utf-8 -*- import urllib.parse import urllib.request import json TeamUrl= 'https://hoge.qiita.com/api/v2/' headers= {"authorization":"Bearer 9999999999999999999999999999999999999999", "Content-Type":"application/json"} # 投稿の一覧取得 def getitems (page=1, per_page=20): command = 'items' values = { "page":page,"per_page":per_page} data = urllib.parse.urlencode(values) req = urllib.request.Request(url=TeamUrl + command + '?' + data, headers=headers, method='GET') res = urllib.request.urlopen(req) return json.loads(res.read().decode('utf8')) if __name__ == '__main__': json_dataList = getitems( per_page=10 ) for json_data in json_dataList: print( json_data['id'], json_data['title'])