Assets

Batch CS2 asset ownership history lookup by float and/or paint-seed identity

Baseurl: https://www.steamwebapi.com/api/assets/find?key=YOUR_API_KEY

💬 **What this endpoint does:**
- Looks up CS2 items by any combination of float, def_index and paint_seed, and returns the full ownership timeline of every matching physical item — each previous SteamID64 owner and each market listing in between, oldest first.

🛠️ **How identity matching works:**
- A physical CS2 item keeps the same (def_index, paint_seed, float) forever, even as its asset_id and owner change on every trade. Send all three and you address exactly one item; send fewer and you get every item that fits.
- Accepted combinations: `float` alone, `def_index` + `paint_seed`, or any mix of the three. `def_index` alone or `paint_seed` alone is refused — each would match six figures of rows, so the answer would be useless.
- `float` is matched at the precision you send, so a rounded/displayed float still finds the stored value (12 decimals ≈ ±1e-12; fewer decimals widen the match). At least 6 decimals are required.
- `paint_index` is an extra filter, never a search key on its own.
- Field names are accepted in both spellings: `def_index` / `paint_seed` / `paint_index` as documented, and `defindex` / `paintseed` / `paintindex` as they appear in the response — so an identity can be copied straight out of a previous result.
- Coverage is inherent, not a bug: an item only has history if this platform tracked it under a previous owner before. Items whose first owner is still the current one come back with a single owner entry.

🌐 **How to use:**
- POST a JSON body: `{"items": [{"float": "0.030868796632", "def_index": 7, "paint_seed": 915, "ref": "my-id"}, ...]}`.
- Every entry answers with `matched` (how many physical items fit) and `items` (one timeline each). A full triple gives `matched: 1`; a partial key can give many.
- At most 25 items are returned per entry. `truncated: true` says more existed — narrow the key to see them.
- `data` is always the same length as `items` you sent, in the same order. `ref` is optional, echoed back, and the safer way to correlate.
- Pass `steam_id` (SteamID64) to state which owner in each timeline is the current one; when omitted, the newest owner segment is treated as current.
- Malformed entries never fail the batch — they come back individually as `status: "invalid"` with a reason.
- Credits: 1 per entry sent, regardless of how many items it matched (found, not_found and invalid all count).
post/api/assets/find

Request

  • Base URL: https://www.steamwebapi.com
  • URL: https://www.steamwebapi.com/api/assets/find
  • Auth: API key in query parameter key

Query parameters

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

Request body

steam_idstring nullable

Example request

{
  "items": [
    {
      "float": "0.030868796632",
      "def_index": 7,
      "paint_seed": 915,
      "paint_index": 836,
      "ref": "my-id"
    }
  ],
  "steam_id": "76561198042843401"
}

Response

Request was successful.

unknown required

Changes

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