Mutations
Buying and selling: purchase a listing outright, place and cancel buy orders, list an owned asset, and remove a listing.
Every operation here is a form POST authenticated by session cookies and guarded by a
sessionid CSRF field. Steam also checks browser-shaped headers; see
Mutation headers for the set a non-browser client has to send.
Buy a listing
/market/buylisting/{listingid}Purchases one specific sell listing outright, at its asking price, from the account's Steam
Wallet. This is the instant-buy path; POST /market/createbuyorder/ is the standing-order
path and does not execute against a listing directly.
The amounts are sent by the client and must reconcile: total has to equal
subtotal + fee, and all three must match the listing as Steam currently prices it. Read
them from the listing row rather than computing them, since the fee split depends on the
publisher. A mismatch, a stale price, or a listing bought by someone else in the meantime
all fail the same way.
Unusually for the Market, success is reported inside wallet_info rather than at the top
level: check wallet_info.success == 1. A failure carries a top-level message.
Path Parameters
Request Body
application/x-www-form-urlencodedintegerSteam currency ID. Must match the currency the listing was priced in.
Responses
Get buy-order status
/market/getbuyorderstatusReturns fill progress for one buy order: whether it is still active, how much of the requested quantity has been purchased, and what remains outstanding.
This is the only way to observe a buy order filling. GET /market/mylistings lists orders
but does not break down partial fills.
Create a buy order
/market/createbuyorder/Creates an account buy order. Application failures still use HTTP 200; success: 25 indicates a rejected order and includes message.
Cancel a buy order
/market/cancelbuyorder/Cancels an account buy order. A successful result is {"success":1}.
Create a sell listing
/market/sellitem/Creates a sell listing for an owned asset. A successful response can still require mobile or email confirmation.
Remove a sell listing
/market/removelisting/{listingid}Removes an account sell listing. Success returns an empty JSON array.

