Discover/RustHelp API
live

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.

Endpoint health
verified 3d ago
get_current_store
get_store_by_id
2/2 passing latest checkself-healing
Endpoints
2
Updated
2mo ago

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.

This call costs3 credits / call— charged only on success
Try it

No input parameters required.

→ api.parse.bot/scraper/6b0b0b9e-3a58-4631-959f-7c02c20c9033/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/6b0b0b9e-3a58-4631-959f-7c02c20c9033/get_current_store' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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")
All endpoints · 2 totalmissing one? ·

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.

Input

No input parameters required.

Response
{
  "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.

Reliability & maintenanceVerified

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.

Last verified
3d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track week-over-week price changes for specific Rust skins using price_usd across historical store IDs
  • Build a Rust item database seeded with image_url and item_type for each weekly rotation
  • Alert users when a specific item slug reappears in the current store via get_current_store
  • Analyze min_sales trends to identify which item categories sell most reliably
  • Display a countdown to the next store rotation using the time_left field from the active store
  • Compare tags across store periods to detect shifts in item category distribution
  • Surface items with the highest other_skins count to highlight frequently reskinned assets
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does RustHelp.com have an official developer API?+
RustHelp.com does not publish a documented public developer API. This API on Parse provides structured access to the store data it surfaces.
What does `get_store_by_id` return differently from `get_current_store`?+
The response structure is the same — 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`?+
Store IDs are numeric integers that increment with each weekly rotation. The current store ID (e.g. 1828) is returned by 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?+
Not currently. The API covers 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?+
No pagination parameter exists. Both endpoints return all items for a given store in a single response array. If a weekly store contains a large number of items, they are all included in one items array.
Page content last updated . Spec covers 2 endpoints from rusthelp.com.
Related APIs in MarketplaceSee all →