Sign inTry it

Search games on the Steam store.

Searches the Steam store like its search page: game title, release date, price and store link, in the store's order. First page of results (up to 50 games). The price is in the store's display currency for the visitor's region, with cents (0 for free games, null when the store shows no price).

No reports yetRead-only, no login
Site
Steam, United States
Version
v1
Runs, last 7 days
No reports yet
sha256
ef875c0c18d0…

Run it with your agent

after installing Wield

Ask in plain words. Your agent finds this recipe and calls it:

“Search games on the Steam store.”

Read-only: it changes nothing on the site. No login needed.

{
  "tool": "run",
  "arguments": {
    "recipe_id": "steampowered.com/search-titles",
    "params": {
      "query": "portal"
    }
  }
}

Requests

sent from your browser, in order
  1. 1GET/search/?termServer-rendered store search /search/?term=... (read-only GET). Each result is a.search_result_row: title in span.title, release date in .search_released, price in data-price-final (cents) on .search_price_discount_combined.

Parameters

from your agent
querystringrequiredGame title or keyword, e.g. 'portal', 'stardew valley', 'hades'

Returns

to your agent
gamesobject[]price, released, title, url
querystring

Where it can send

  • store.steampowered.com

Anything else is blocked by the extension.

Reads from your session

Nothing. Your browser attaches the site's cookies by itself.

Used only in requests to the addresses on the left. Never sent to wield.run or your agent.

Checks

a run passes when
  • length(output.games) > `0`
  • length(output.games[?starts_with(url, 'https://store.steampowered.com/app/')]) == length(output.games)
  • length(output.games[?title != `null`]) == length(output.games)

Raw recipe

Served as canonical JSON from /api/v1/recipes/steampowered.com/search-titles, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/steampowered.com/search-titles | shasum -a 256
# ef875c0c18d01132396710414869ceb8b97010dd4b598473d53668d5da7b9aa3
steampowered.com/search-titles.json, v1
{
  "description": "Searches the Steam store like its search page: game title, release date, price and store link, in the store's order. First page of results (up to 50 games). The price is in the store's display currency for the visitor's region, with cents (0 for free games, null when the store shows no price).",
  "effect": "read",
  "id": "steampowered.com/search-titles",
  "keywords": [
    "steam",
    "steampowered",
    "games",
    "video games",
    "pc games",
    "valve",
    "store",
    "indie",
    "gaming",
    "spiele",
    "computerspiele",
    "videospiele",
    "steam store"
  ],
  "output": {
    "schema": {
      "properties": {
        "games": {
          "items": {
            "properties": {
              "price": {
                "description": "Price in the store's display currency (see description)",
                "type": [
                  "number",
                  "null"
                ]
              },
              "released": {
                "description": "Release date as shown by the store, e.g. '10 Oct, 2007'",
                "type": [
                  "string",
                  "null"
                ]
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "query": {
          "type": "string"
        }
      },
      "required": [
        "query",
        "games"
      ],
      "type": "object"
    },
    "value": "{query: params.query, games: steps.search.games[?title != `null` && href != `null`].{title: title, released: released || `null`, price: (price_cents && to_number(price_cents) / `100`) || `null`, url: href}}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "query": {
        "description": "Game title or keyword, e.g. 'portal', 'stardew valley', 'hades'",
        "maxLength": 100,
        "minLength": 2,
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "har",
    "notes": "GET /search/?term=..., server-rendered HTML with a.search_result_row rows (title span.title, href on the row, release date, price cents in data-price-final). The q parameter is ignored by the store; term is the search parameter. Only the first page of results is read. The row href carries a tracking parameter that is kept as it is.",
    "recorded_at": "2026-11-08T16:16:01.000Z",
    "recorded_by": "wield-forge (claude-haiku agent)"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "US",
    "id": "steampowered.com",
    "language": "en",
    "name": "Steam",
    "origin": "https://store.steampowered.com",
    "origins": [
      "https://store.steampowered.com"
    ]
  },
  "steps": [
    {
      "description": "Server-rendered store search /search/?term=... (read-only GET). Each result is a.search_result_row: title in span.title, release date in .search_released, price in data-price-final (cents) on .search_price_discount_combined.",
      "expect": {
        "assert": "status == `200` && contains(body, 'Steam Search')",
        "content_type": "html",
        "status": [
          200
        ]
      },
      "extract": {
        "html_items": {
          "games": {
            "fields": {
              "href": {
                "attr": "href",
                "selector": ":scope"
              },
              "price_cents": {
                "attr": "data-price-final",
                "selector": ".search_price_discount_combined"
              },
              "released": {
                "selector": "div.search_released"
              },
              "title": {
                "selector": "span.title"
              }
            },
            "max": 60,
            "selector": "a.search_result_row"
          }
        }
      },
      "id": "search",
      "request": {
        "headers": {
          "Accept": "text/html"
        },
        "method": "GET",
        "query": {
          "term": "{{params.query}}"
        },
        "url": "/search/"
      }
    }
  ],
  "task": "Search games on the Steam store",
  "tos": {
    "notes": "Not reviewed. One search page per call, the same page a visitor loads. The site's terms on automated access were not checked.",
    "reviewed": false
  },
  "verify": {
    "checks": [
      "length(output.games) > `0`",
      "length(output.games[?starts_with(url, 'https://store.steampowered.com/app/')]) == length(output.games)",
      "length(output.games[?title != `null`]) == length(output.games)"
    ],
    "example_params": {
      "query": "portal"
    },
    "max_ms": 5000
  },
  "version": 1
}