Items

πŸ“ˆ Get Daily Aggregated Price History for multiple Items

Baseurl: https://www.steamwebapi.com/steam/api/items/history?markets=steam,dmarket,skinport&game=cs2&key=YOUR_API_KEY

πŸ’¬ What this endpoint does:

  • Aggregates historical price data for any items over time.
  • Returns daily aggregated data showing total worth and item count.
  • Uses the lowest positive daily close from exactly the requested markets. steam can be combined with third-party market idents.
  • Each request costs 1 credit regardless of the number of items.

🌐 How to use:

  • Send items as legacy market-hash-name strings or objects with market_hash_name, optional phase, optional paint_index, and optional count.
  • Specify selected market idents as a comma-separated markets value in the query or request body. The query value wins when both are provided. Omitting it defaults to Steam.
  • The endpoint returns daily aggregated worth after resolving the selected markets for every item and day.
  • Duplicate items in the array are counted separately (e.g., 2x "AK-47 | Redline" = 2x price).
  • For phase-aware objects, third-party prices must match the exact phase; Steam remains a valid generic candidate.
  • Before the first exact phase snapshot, phase-aware items use the lowest generic Doppler history from the selected markets. From the first exact snapshot onward, third-party candidates must match the phase; Steam remains generic.

πŸ“Š Use Cases:

  • Inventory Tracking: Track your Steam inventory value over time by sending all your item names
  • Portfolio Analysis: Monitor the performance of specific item collections or investment portfolios
  • Watchlist Monitoring: Track price trends for items you're interested in buying or selling
  • Market Research: Compare historical performance between different item categories or rarities
  • Trading Strategies: Analyze price movements for items in your trading pool
post/steam/api/items/history

Request

  • Base URL: https://www.steamwebapi.com
  • URL: https://www.steamwebapi.com/steam/api/items/history
  • Auth: API key in query parameter key

Query parameters

Your API key for authentication. Retrieve it from your Dashboard (top-right corner).

Optional comma-separated market idents, for example steam,dmarket,skinport. The lowest positive daily close from exactly these markets is used. Defaults to steam when omitted.

Optional. Game shortname. Default: cs2. Available: cs2, csgo, dota, rust

Optional. Start date for filtering history (Y-m-d format, e.g., 2025-01-01). If not provided, returns all available history from the beginning.

Optional. End date for filtering history (Y-m-d format, e.g., 2025-01-31). If not provided, returns up to the current date.

Optional. Price aggregation strategy:

  • PAST_PRICE: Uses the last known price before or on the given date
  • PAST_FUTURE_PRICE: Uses the last known price before the given date, or the first known price after the given date if none exists before. Before exact phase history begins, phase-aware items use the selected markets' generic Doppler history instead of projecting a future exact phase backwards.
  • SAME_DATE: Uses the price on the given date, or the nearest available price (previous or next day)
  • STRICT: Uses the price only if it exists on the exact date, otherwise returns no data for that day
  • NEAREST: Uses the nearest available price (previous or next) to the given date
formatstring

Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv

pretty'0' | '1'

Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1

Request body

marketsstring

Optional comma-separated market idents. Supports steam together with active third-party markets. Can also be passed as query parameter; the query value wins. Defaults to steam when omitted.

gamestring

Optional. Game shortname. Can also be passed as query parameter.

from_datestring

Optional. Start date for filtering (Y-m-d format). If not provided, returns all available history. Can also be passed as query parameter.

to_datestring

Optional. End date for filtering (Y-m-d format). If not provided, returns up to current date. Can also be passed as query parameter.

strategy'PAST_PRICE' | 'PAST_FUTURE_PRICE' | 'SAME_DATE' | 'STRICT' | 'NEAREST'

Optional. Price aggregation strategy:

  • PAST_PRICE: Uses the last known price before or on the given date
  • PAST_FUTURE_PRICE: Uses the last known price before the given date, or the first known price after the given date if none exists before. Before exact phase history begins, phase-aware items use the selected markets' generic Doppler history instead of projecting a future exact phase backwards.
  • SAME_DATE: Uses the price on the given date, or the nearest available price (previous or next day)
  • STRICT: Uses the price only if it exists on the exact date, otherwise returns no data for that day
  • NEAREST: Uses the nearest available price (previous or next) to the given date

Example request

{
  "items": [
    "AK-47 | Redline (Field-Tested)",
    "AK-47 | Redline (Field-Tested)",
    {
      "market_hash_name": "β˜… Karambit | Doppler (Factory New)",
      "phase": "Phase 2",
      "paint_index": 419,
      "count": 1
    }
  ],
  "markets": "steam,dmarket,skinport",
  "game": "cs2",
  "from_date": "2025-01-01",
  "to_date": "2025-01-31",
  "strategy": "PAST_PRICE"
}

Response

Daily aggregated history returned successfully.

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.