Steam Community APIsteamcommunity.com ↗
Fetch thread titles, authors, post content, and dates from Steam community discussion threads via a single API endpoint.
What is the Steam Community API?
The Steam Community Discussions API provides 1 endpoint — get_thread — that returns 5 structured fields from any Steam community discussion thread: the thread URL, title, author display name, full original post content, and creation date. Point it at any steamcommunity.com discussion URL across any app, game, or group forum and get back the opening post as clean, structured JSON.
curl -X GET 'https://api.parse.bot/scraper/385a52d1-b00b-4c99-b104-406aaf345708/get_thread?thread_url=https%3A%2F%2Fsteamcommunity.com%2Fapp%2F1086940%2Fdiscussions%2F0%2F3808408747680907370%2F' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace steamcommunity-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Steam Community Discussions SDK — fetch a thread's opening post."""
from parse_apis.steamcommunity_com_api import SteamCommunity, InvalidThreadUrl
client = SteamCommunity()
# Fetch a specific discussion thread by its full URL.
try:
thread = client.threads.get(
thread_url="https://steamcommunity.com/app/1086940/discussions/0/3808408747680907370/"
)
except InvalidThreadUrl as e:
print("Invalid URL:", e.message)
else:
print(thread.title)
print(f"by {thread.author} on {thread.date_posted}")
print(thread.content[:200])
print(f"Link: {thread.url}")
print("exercised: threads.get")
Fetch the title, original post content, author, and date from a specific Steam community discussion thread. Requires a full steamcommunity.com discussion thread URL. Returns the opening post only, not replies.
| Param | Type | Description |
|---|---|---|
| thread_urlrequired | string | Full URL of a Steam community discussion thread (e.g. https://steamcommunity.com/app/1086940/discussions/0/3808408747680907370/). |
{
"type": "object",
"fields": {
"url": "string — the thread URL as provided",
"title": "string — the discussion thread title",
"author": "string — display name of the thread author",
"content": "string — full text of the original post",
"date_posted": "string — date and time the thread was created (e.g. 'Aug 6, 2023 @ 1:57pm')"
},
"sample": {
"data": {
"url": "https://steamcommunity.com/app/1086940/discussions/0/3808408747680907370/",
"title": "Deep Gnomes Gone After Nere Event? Can't Complete!",
"author": "O'Malley",
"content": "So I basically did the quest for killing Nere and saved the deep gnomes. I didn't talk to them yet before I went to camp to rest and now every npc is gone from the underdark's grymforge zone.\nI'm trying to find where they are so I can complete the quest -- anyone else have this happen?\nI can't seem to locate them and it's not marked on the map. I even went back to Thulla in the myconid zone but she just prompts me to save her kin.\nUPDATE 8/24/23: I put in a ticket to Larian and they responded in kind. This is a bug with the game and they assured me they know of it and will release the next patch with a fix.",
"date_posted": "Aug 6, 2023 @ 1:57pm"
},
"status": "success"
}
}About the Steam Community API
What the API Returns
The get_thread endpoint accepts a single required parameter — thread_url — which must be a full steamcommunity.com discussion thread URL, such as one under /app/{appid}/discussions/. The response includes the title of the thread, the author display name, the content field containing the full text of the original post, and date_posted in Steam's standard format (e.g. Aug 6, 2023 @ 1:57pm). The original url is echoed back in the response for reference.
Scope and Limitations
The endpoint returns the opening post only. Replies, comments, upvotes, and thread metadata such as view counts or pinned status are not included in the response. Each call targets one thread; there is no batch mode or search input — you must supply a direct thread URL. Thread URLs can come from any Steam community discussion forum, including game hubs, software pages, and Steam group forums.
Data Freshness
The date_posted field reflects when the thread was originally created, not when it was last replied to. Content reflects the current state of the original post at the time the request is made — if a thread author has edited their post, the edited version is what content returns.
The Steam Community API is a managed, monitored endpoint for steamcommunity.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when steamcommunity.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official steamcommunity.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor game-specific forums for bug reports by extracting
titleandcontentfrom recent discussion threads - Archive original posts from game communities using
author,date_posted, andcontentfields - Build a game support dashboard that ingests Steam discussion threads as structured records
- Track community sentiment around a game release by collecting opening post text across multiple threads
- Aggregate developer announcements posted as discussion threads across multiple app forums
- Index Steam discussion content for search or classification using the
titleandcontentfields
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Steam have an official developer API for community discussions?+
Does `get_thread` return replies or comment counts?+
title, author, content, date_posted, and the echoed url. Replies, reply counts, upvotes, and view counts are not part of the response. You can fork this API on Parse and revise it to add a replies endpoint.Can I search or list discussions for a given Steam app without knowing the thread URL?+
What happens if the thread has been deleted or made private?+
Does the API capture edits made to the original post after it was first published?+
content field reflects the current text of the original post at the time of the request. If the author edited their post after creation, the edited version is what is returned. The date_posted field still reflects the original creation time, not the edit time.