How to run Data Explorer queries with Python

Hey there!

Regarding this topic: How to run Data Explorer queries with the Discourse API

I tried to ported the CURL command to Python and from the syntax perspective everything seems ok but I’m getting 404 all the times but when I run. the CURL command I receive 200. Can any of you guys spot what I’m doing wrong? Here’s my Python code:

# Imports

import requests
import json

# Constants

API_KEY = '<the_api_key>'
API_USERNAME = '<my_discourse_username>'

# Core Functions

def send_request(endpoint):

    api_keys = {'Api-Key': API_KEY, 'Api-Username': API_USERNAME}
    headers = {'Content-Type': 'multipart/form-data'}
    request =, api_keys, headers)
    print("STATUS CODE: %s" % request.status_code)


Thanks for help!


You will need to put the api credentials in with the headers.

headers = {'Content-Type': 'multipart/form-data', 'Api-Key': API_KEY, 'Api-Username': API_USERNAME}

And for the actual request you might need to specify it like this:, headers=headers)

Perfectly thanks that worked! Thanks a lot @blake for help!

1 Like

A post was merged into an existing topic: Creating a topic via the API using Node.js

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.