Skip to content
LogoLogo

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

POST/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

listingidRequired
string

Listing to purchase, as returned by the listing page or search.

Example1234567890123456789

Request Body

application/x-www-form-urlencoded
sessionidRequired
string

CSRF token matching the active Steam session.

currencyRequired
integer

Steam currency ID. Must match the currency the listing was priced in.

Example1
subtotalRequired
integer

Seller's take

feeRequired
integer

Combined Steam and publisher fee

totalRequired
integer

subtotal + fee, in minor units. What the buyer pays.

quantityRequired
string

Units to buy. 1 for non-commodity items.

Example1

Responses

Get buy-order status

GET/market/getbuyorderstatus

Returns 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.

Query Parameters

sessionidRequired
string

CSRF token matching the active Steam session.

buy_orderidRequired
string

Buy-order ID.

Example1234567890

Responses

Create a buy order

POST/market/createbuyorder/

Creates an account buy order. Application failures still use HTTP 200; success: 25 indicates a rejected order and includes message.

Request Body

multipart/form-data
sessionidRequired
string

CSRF token matching the active Steam session.

Example<redacted>
currencyRequired
string

Steam currency enum.

Example1
appidRequired
string
Example730
market_hash_nameRequired
string
ExampleAK-47 | Redline (Field-Tested)
price_totalRequired
string

Total order price in minor units.

Example1200
tradefee_tax
string
quantityRequired
string
Example1
first_name
string
last_name
string
billing_address
string
billing_address_two
string
billing_country
string
billing_city
string
billing_state
string
billing_postal_code
string
confirmation
string
save_my_address
string
Values
01

Responses

Cancel a buy order

POST/market/cancelbuyorder/

Cancels an account buy order. A successful result is {"success":1}.

Request Body

application/x-www-form-urlencoded
sessionidRequired
string

CSRF token matching the active Steam session.

buy_orderidRequired
string

Buy-order ID.

Example1234567890

Responses

Create a sell listing

POST/market/sellitem/

Creates a sell listing for an owned asset. A successful response can still require mobile or email confirmation.

Request Body

application/x-www-form-urlencoded
sessionidRequired
string

CSRF token matching the active Steam session.

Example<redacted>
appidRequired
string
Example730
contextidRequired
string
Example2
assetidRequired
string
Example12345678901234567890
amountRequired
string
Example1
priceRequired
string

Seller price in minor units.

Example1200

Responses

Remove a sell listing

POST/market/removelisting/{listingid}

Removes an account sell listing. Success returns an empty JSON array.

Path Parameters

listingidRequired
string
Example1234567890123456789

Request Body

application/x-www-form-urlencoded
sessionidRequired
string

CSRF token matching the active Steam session.

Responses