# Interact with discourse from Python?

**URL:** https://meta.discourse.org/t/interact-with-discourse-from-python/87543
**Category:** Development
**Created:** [May 15, 2018, 4:34pm UTC](https://meta.discourse.org/t/interact-with-discourse-from-python/87543 "2018-05-15T16:34:39Z")
**Posts on this page:** 1
**Showing post:** 28

<div class="post-metadata">

### Author: ![MaukWM](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/maukwm/32/485619_2.png) [@MaukWM](https://meta.discourse.org/u/MaukWM)
#### Post date: [April 20, 2026, 8:53am UTC](https://meta.discourse.org/t/interact-with-discourse-from-python/87543/28 "2026-04-20T08:53:53Z")

</div>

Hmmm. I don’t think I’m doing anything special beyond simply wrapping what would otherwise be a simple `curl` request to any of the publicly documented API endpoints. However, if the @Discourse team takes any offense to what I created please let me know.

Personally, I don’t _think_ the package itself violates any ToS since the responsibility of respecting a forums’ terms will always be with the dev using the tool. This package only hits public and documented API endpoints, if a developer has malicious intent to scrape or monitor a forum, this would honestly already be a trivial task.

On that note, [pydiscourse](https://github.com/pydiscourse/pydiscourse) offers the same functionality, the only difference being the need for an API key (I don’t know how easy this is to do as a regular user), after which it can similarly be used to violate the ToS of any forum. So if the default rule is to not automate access to the forum, wouldn’t `pydiscourse` and [discourse2](https://github.com/gadicc/discourse2) not also violate ToS? `discourse2` even advertises access to publicly accessible data in their list of features if no API key is provided:

> Works in both server and browser\* environments (\*useful for querying public data without API keys and on relevant origin, e.g. latest topics, etc)

There are probably a lot more packages out there in other languages that already support this type of access.

Some more context: I built this so I can easily pull data from a forum that one of our customers host (but we don’t have direct DB access). It just makes my workflow cleaner and my hope is to assist others that are in the same situation.

---

_[View the full topic](https://meta.discourse.org/t/interact-with-discourse-from-python/87543)._
