Skip to main content
GET
/
orders
Get all orders
curl --request GET \
  --url https://api.exchange.coinbase.com/orders \
  --header 'cb-access-key: <api-key>' \
  --header 'cb-access-passphrase: <api-key>' \
  --header 'cb-access-sign: <api-key>' \
  --header 'cb-access-timestamp: <api-key>'
[
  {
    "id": "a9625b04-fc66-4999-a876-543c3684d702",
    "price": "10.00000000",
    "size": "1.00000000",
    "product_id": "BTC-USD",
    "profile_id": "8058d771-2d88-4f0f-ab6e-299c153d4308",
    "side": "buy",
    "type": "limit",
    "time_in_force": "GTC",
    "post_only": true,
    "max_floor": "4",
    "created_at": "2020-03-11T20:48:46.622Z",
    "fill_fees": "0.0000000000000000",
    "filled_size": "0.00000000",
    "executed_value": "0.0000000000000000",
    "status": "open",
    "settled": false
  }
]

Pending Orders

Orders with a “pending” status have fewer fields in the response.
  • Pending limit orders do not have stp, time_in_force, expire_time, and post_only.
  • Pending market orders have the same fields as a pending limit order minus price and size, and no market specific fields (funds, specified_funds).
  • Pending stop orders have the same fields as a pending limit order and no stop specific fields (stop, stop_price).
Order TypeDoes Not Have These Fields
Pending Limit Orderstp, time_in_force, expire_time, post_only
Pending Market Orderstp, time_in_force, expire_time, post_only, price, size, funds, specified_funds
Pending Stop Orderstp, time_in_force, expire_time, post_only, stop, stop_price

API Key Permissions

This endpoint requires either the “view” or “trade” permission.
To specify multiple statuses, use the status query argument multiple times: /orders?status=done&status=pending.

Order Status and Settlement

Orders which are no longer resting on the order book, are marked with the done status. There is a small window between an order being done and settled. An order is settled when all of the fills have settled and the remaining holds (if any) have been removed.

Polling

For high-volume trading it is strongly recommended that you maintain your own list of open orders and use one of the streaming market data feeds to keep it updated. You should poll the open orders endpoint once when you start trading to obtain the current state of any open orders. executed_value is the cumulative match size * price and is only present for orders placed after 2016-05-20.
Open orders can change state between the request and the response depending on market conditions.

Pagination

This request is paginated. See Pagination for more information.

Authorizations

cb-access-key
string
header
required
cb-access-passphrase
string
header
required
cb-access-sign
string
header
required
cb-access-timestamp
string
header
required

Query Parameters

profile_id
string
product_id
string
sortedBy
enum<string>
default:created_at
Available options:
created_at,
price,
size,
order_id,
side,
type
sorting
enum<string>
default:desc
Available options:
desc,
asc
start_date
string<date-time>
end_date
string<date-time>
before
string
after
string
limit
integer
default:100
required
status
enum<string>[]
required
market_type
string
default:spot

Response

id
string
required
product_id
string
required
side
enum<string>
default:buy
required
Available options:
buy,
sell
type
enum<string>
default:limit
required
Available options:
limit,
market,
stop
post_only
boolean
required
created_at
string<date-time>
required
fill_fees
string
required
filled_size
string
required
status
enum<string>
default:open
required
Available options:
open,
pending,
rejected,
done,
active,
received,
all
settled
boolean
required
price
string
size
string
profile_id
string
funds
string
specified_funds
string
time_in_force
enum<string>
default:GTC
Available options:
GTC,
GTT,
IOC,
FOK
expire_time
string<date-time>
done_at
string<date-time>
done_reason
string
reject_reason
string
executed_value
string
stop
enum<string>
default:loss
Available options:
loss,
entry
stop_price
string
funding_amount
string
client_oid
string
market_type
string
max_floor
string
secondary_order_id
string
stop_limit_price
string