RustHelp APIrusthelp.com ↗
Access current and historical weekly Rust item store listings from RustHelp.com. Get item names, prices, images, sales stats, and tags via 2 endpoints.
What is the RustHelp API?
The RustHelp Store API provides structured data from the RustHelp.com weekly Rust game item store across 2 endpoints. Call get_current_store to retrieve the active store rotation with all items, their USD prices, image URLs, minimum sales figures, and acceptance times, or use get_store_by_id to pull any historical store snapshot by its numeric ID. Each response includes 8 per-item fields plus store-level metadata like time remaining until rotation.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/6b0b0b9e-3a58-4631-959f-7c02c20c9033/get_current_store' \ -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 rusthelp-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: Rust Item Store — browse current and historical weekly stores."""
from parse_apis.rusthelp_com_api import RustStore, InvalidStoreId
client = RustStore()
# Fetch the currently active weekly store rotation.
current = client.stores.current()
print(f"Store #{current.store_id} started {current.started_on}, rotates in {current.time_left}")
# List items in the current store with prices and tags.
for item in current.items[:5]:
print(f" {item.name} — ${item.price_usd:.2f} ({item.item_type}) tags={item.tags}")
# Look up a previous store by navigating from the current store's ID.
previous_id = str(int(current.store_id) - 1)
try:
previous = client.stores.get(store_id=previous_id)
except InvalidStoreId:
print(f"Store {previous_id} not found")
else:
print(f"\nPrevious store #{previous.store_id} started {previous.started_on}")
for item in previous.items[:3]:
sales_info = f", min_sales={item.min_sales}" if item.min_sales is not None else ""
print(f" {item.name} — ${item.price_usd:.2f}{sales_info}")
print("\nexercised: stores.current / stores.get")
Returns the current (latest) weekly Rust item store with all items and store metadata. The store rotates weekly; calling this endpoint always returns the active store. Each item includes name, type, price, image URL, sales stats, acceptance time, and property tags.
No input parameters required.
{
"type": "object",
"fields": {
"items": "Array of store item objects with name, slug, item_type, price_usd, image_url, min_sales, other_skins, time_to_accept, and tags",
"store_id": "Numeric store ID (e.g. 1828)",
"time_left": "Remaining time until store rotation (e.g. '7d 0h 53m')",
"started_on": "Date the store started in MM/DD/YYYY format",
"items_count": "Number of items available in the store"
},
"sample": {
"data": {
"items": [
{
"name": "Pirate Small Backpack",
"slug": "pirate-small-backpack",
"tags": [
"Tradable",
"Crate Drop"
],
"image_url": "https://files.facepunch.com/rust/icons/inventory/rust/70207_small.png?1918250369",
"item_type": "smallbackpack",
"min_sales": 808,
"price_usd": 1.49,
"other_skins": 3,
"time_to_accept": "11d, 8h, 33min"
},
{
"name": "Salvation Assault Rifle",
"slug": "salvation-assault-rifle",
"tags": [
"Modified Sight",
"Transparent",
"Marketable",
"Tradable"
],
"image_url": "https://files.facepunch.com/rust/icons/inventory/rust/70202_small.png?2907748640",
"item_type": "Assault Rifle",
"min_sales": 740,
"price_usd": 3.99,
"other_skins": 337,
"time_to_accept": "9d, 11h, 29min"
}
],
"store_id": "1828",
"time_left": "7d 0h 53m",
"started_on": "08/13/2026",
"items_count": 10
},
"status": "success"
}
}About the RustHelp API
Endpoints and Response Shape
get_current_store takes no parameters and always returns the live store. The response includes a store_id integer, a time_left string (e.g. '7d 0h 53m'), a started_on date in MM/DD/YYYY format, an items_count, and an items array. Each object in items carries name, slug, item_type, price_usd, image_url, min_sales, other_skins, time_to_accept, and tags. The store rotates weekly, so calling this endpoint after a rotation will immediately reflect the new lineup.
Historical Store Lookup
get_store_by_id accepts a single required parameter, store_id (string representation of a numeric ID such as '1827'). Store IDs for previous weeks can be discovered from the navigation context returned by the current store endpoint. The response shape mirrors get_current_store, though items_count may be null for older store snapshots. This makes it straightforward to compare item availability and pricing across specific weekly windows.
Data Coverage
Every item entry exposes its tags array and other_skins count, which can be used to group items by category or gauge how many skin variants exist for a given item. The time_to_accept field indicates how long an item was available before the community voted it into the store. min_sales reflects the reported minimum number of times the item has sold, useful for identifying consistently popular listings.
Source and Freshness
RustHelp.com aggregates Rust item store data on a weekly rotation schedule aligned with Facepunch Studios' store cycle. Data reflects what is currently or was previously listed in that rotation. No intra-week item changes are tracked — the store is treated as a weekly atomic snapshot.
The RustHelp API is a managed, monitored endpoint for rusthelp.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rusthelp.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 rusthelp.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?+
- Track week-over-week price changes for specific Rust skins using
price_usdacross historical store IDs - Build a Rust item database seeded with
image_urlanditem_typefor each weekly rotation - Alert users when a specific item slug reappears in the current store via
get_current_store - Analyze
min_salestrends to identify which item categories sell most reliably - Display a countdown to the next store rotation using the
time_leftfield from the active store - Compare
tagsacross store periods to detect shifts in item category distribution - Surface items with the highest
other_skinscount to highlight frequently reskinned assets
| 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 RustHelp.com have an official developer API?+
What does `get_store_by_id` return differently from `get_current_store`?+
items, store_id, time_left, started_on, and items_count — but items_count may be null for historical stores. time_left on historical stores reflects whatever value was recorded on the page rather than a live countdown.How do I find valid store IDs to pass to `get_store_by_id`?+
get_current_store, so previous stores can be addressed by decrementing that value. Not all historical IDs are guaranteed to return data.Does the API expose individual item vote counts or community rating data?+
min_sales, time_to_accept, and tags per item, but detailed vote tallies or community rating breakdowns are not included in the response. You can fork this API on Parse and revise it to add that endpoint if RustHelp surfaces that data.Is there pagination for stores with large item lists?+
items array.