Cryptocurrency — entry 044 of 53

MercadoBitcoin

Verified Jul 2026

Mercado Bitcoin is Brazil's oldest and largest cryptocurrency exchange, operating since 2013 with spot trading across dozens of BRL pairs. Its v4 REST API and companion WebSocket service expose public market data — candles, order books, tickers — without authentication, while trading and account endpoints require an API key created from account settings. The API is free to use for individual developers.

exchangetradingbrazilmarket-data
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSON, WebSocketResponses can be requested as JSON or WebSocket.

GreatAPIs Score

Score100out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 2 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 100 on greatapis.com
<a href="https://greatapis.com/api/mercadobitcoin/"><img src="https://greatapis.com/badge/mercadobitcoin.svg" alt="Scored 100 on greatapis.com"></a>

Auth quickstart

  1. No key needed — call it now.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.mercadobitcoin.net/api/v4
Auth
Bearer
Account6
GET/accountsList Accounts
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/balancesList Balances
Parameters
NameInRequiredType
accountIdpathyesstring
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/positionsList Positions
Parameters
NameInRequiredType
accountIdpathyesstring
symbolsquerynostring
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/tierGet Tier
Parameters
NameInRequiredType
accountIdpathyesstring
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/{symbol}/feesGet Trading Fees
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
Responses
StatusDescriptionSchema
200ResponseGetMarketFeesResponse
POST/accounts/{accountId}/{symbol}/transfers/internalInternal Transfer
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
Request body

application/jsonInternalTransferRequest (required)

Responses
StatusDescriptionSchema
200ResponseInternalTransferResponse
Authorize1
POST/oauth2/tokenAuthorize user to access following Oauth2 pattern (client_credentials flow)
Responses
StatusDescriptionSchema
200ResponseOauth2AuthorizeResponse
401UnauthorizedOauth2AuthorizeErrorResponse
Public Data7
GET/candlesList Candles
Parameters
NameInRequiredType
symbolqueryyesstring
resolutionqueryyesstring
fromquerynointeger
toqueryyesinteger
countbackquerynointeger
Responses
StatusDescriptionSchema
200Responseprspublicdata.ListCandlesResponse
GET/symbolsList Symbols
Parameters
NameInRequiredType
symbolsquerynostring
Responses
StatusDescriptionSchema
200Responseprspublicdata.ListSymbolInfoResponse
GET/tickersList Tickers
Parameters
NameInRequiredType
symbolsqueryyesstring
Responses
StatusDescriptionSchema
200Response
GET/{asset}/feesGet Fees From Asset
Parameters
NameInRequiredType
assetpathyesstring
networkquerynostring
Responses
StatusDescriptionSchema
200Responseshare.AssetFee
GET/{asset}/networksList Networks From Asset
Parameters
NameInRequiredType
assetpathyesstring
Responses
StatusDescriptionSchema
200Response
GET/{symbol}/orderbookGet OrderBook
Parameters
NameInRequiredType
symbolpathyesstring
limitquerynostring
Responses
StatusDescriptionSchema
200ResponseOrderBookResponse
GET/{symbol}/tradesList Trades
Parameters
NameInRequiredType
symbolpathyesstring
tidquerynointeger
sincequerynointeger
fromquerynointeger
toquerynointeger
limitquerynointeger
Responses
StatusDescriptionSchema
200Response
Trading6
DELETE/accounts/{accountId}/cancel_all_open_ordersCancel all open orders
Parameters
NameInRequiredType
accountIdpathyesstring
has_executionsquerynoboolean
symbolquerynostring
Responses
StatusDescriptionSchema
200ResponseCancelOpenOrdersResponse
GET/accounts/{accountId}/ordersList all orders
Parameters
NameInRequiredType
accountIdpathyesstring
has_executionsquerynostring
symbolquerynostring
statusquerynostring
sizequerynostring
Responses
StatusDescriptionSchema
200ResponseListAllOrdersResponse
GET/accounts/{accountId}/{symbol}/ordersList orders
Parameters
NameInRequiredType
symbolpathyesstring
accountIdpathyesstring
has_executionsquerynostring
sidequerynostring
statusquerynostring
created_at_fromquerynostring
created_at_toquerynostring
executed_at_fromquerynostring
executed_at_toquerynostring
Responses
StatusDescriptionSchema
200Response
POST/accounts/{accountId}/{symbol}/ordersPlace order
Parameters
NameInRequiredType
symbolpathyesstring
accountIdpathyesstring
Request body

application/jsonPlaceOrderRequest (required)

Responses
StatusDescriptionSchema
200ResponsePlaceOrderResponse
GET/accounts/{accountId}/{symbol}/orders/{orderId}Get orders
Parameters
NameInRequiredType
symbolpathyesstring
accountIdpathyesstring
orderIdpathyesstring
Responses
StatusDescriptionSchema
200ResponseOrderResponse
DELETE/accounts/{accountId}/{symbol}/orders/{orderId}Cancel order
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
orderIdpathyesstring
asyncquerynoboolean
Responses
StatusDescriptionSchema
200ResponseCancelOrderResponse
Wallet12
POST/accountsCreate Account
Request body

application/jsonCreateWalletRequest (required)

Responses
StatusDescriptionSchema
200ResponseCreateWalletResponse
GET/accounts/{accountId}/wallet/fiat/{symbol}/depositsList Fiat Deposits
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
limitquerynostring
pagequerynostring
fromquerynostring
toquerynostring
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/wallet/withdraw/addressesList Withdraw Crypto Wallet Addresses
Parameters
NameInRequiredType
accountIdpathyesstring
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/wallet/withdraw/bank-accountsList Withdraw Bank Accounts
Parameters
NameInRequiredType
accountIdpathyesstring
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/wallet/withdraw/config/BRLGet BRL Withdraw Config
Parameters
NameInRequiredType
accountIdpathyesstring
Responses
StatusDescriptionSchema
200ResponseBRLWithdrawConfig
GET/accounts/{accountId}/wallet/withdraw/config/limitsGet Withdraw Limits
Parameters
NameInRequiredType
accountIdpathyesstring
symbolsquerynostring
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/wallet/{symbol}/depositsList Deposits
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
limitquerynostring
pagequerynostring
fromquerynostring
toquerynostring
networkquerynostring
statusquerynointeger
pending_travel_rulequerynoboolean
Responses
StatusDescriptionSchema
200Response
GET/accounts/{accountId}/wallet/{symbol}/deposits/addressesGet Deposit Address
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
networkquerynostring
Responses
StatusDescriptionSchema
200Responseshare.DepositAddresses
PATCH/accounts/{accountId}/wallet/{symbol}/deposits/{depositId}Release Pending Deposit
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
depositIdpathyesstring
Request body

application/jsonTravelRuleDepositRequest (required)

Responses
StatusDescriptionSchema
200ResponseWithdraw
400Invalid request or business validation errorResponseError
404Deposit not found or unavailableResponseError
500Internal server errorResponseError
GET/accounts/{accountId}/wallet/{symbol}/withdrawList Withdraw Coin
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
pagequerynointeger
page_sizequerynointeger
fromquerynointeger
Responses
StatusDescriptionSchema
200Response
POST/accounts/{accountId}/wallet/{symbol}/withdrawWithdraw Coin
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
Request body

application/jsonWithdrawCoinRequest (required)

Responses
StatusDescriptionSchema
200ResponseWithdraw
400Bad Request — validation error. Possible travel rule error codes: Code | Description -----|------------- `WALLET\|WITHDRAW_COIN\|TRAVEL_RULE_REQUIRED` | Travel rule block is required (feature flag active). The field {travel_rule} is required `WALLET\|TRAVEL_RULE\|INVALID_CUSTODY_TYPE` | Invalid custody_type. Allowed: SELF_CUSTODY, NATIONAL_TRANSFER, INTERNATIONAL_TRANSFER `WALLET\|TRAVEL_RULE\|MISSING_COUNTERPARTY_NAME` | counterparty_name is required for INTERNATIONAL_TRANSFER `WALLET\|TRAVEL_RULE\|MISSING_COUNTERPARTY_COUNTRY` | counterparty_country is required for INTERNATIONAL_TRANSFER `WALLET\|TRAVEL_RULE\|MISSING_PURPOSE_CODE` | purpose_code is required for INTERNATIONAL_TRANSFER `WALLET\|TRAVEL_RULE\|MISSING_COUNTERPARTY_RELATIONSHIP_CODE` | counterparty_relationship_code is required for INTERNATIONAL_TRANSFER `WALLET\|TRAVEL_RULE\|INVALID_COUNTRY_CODE` | Invalid counterparty_country. Must be ISO 3166-1 alpha-2 `WALLET\|TRAVEL_RULE\|INVALID_COUNTERPARTY_RELATIONSHIP_CODE` | Invalid counterparty_relationship_code. Allowed: 40, 50ResponseError
GET/accounts/{accountId}/wallet/{symbol}/withdraw/{withdrawId}Get Withdraw Coin
Parameters
NameInRequiredType
accountIdpathyesstring
symbolpathyesstring
withdrawIdpathyesstring
Responses
StatusDescriptionSchema
200ResponseWithdraw

Try it

Developer reference

Base URLhttps://api.mercadobitcoin.net/api/v4
Rate limit

500 requests/minute by default; some endpoints override with stricter limits (as low as 1 request/second)

Key endpoints
  • GET/tickers
  • GET/{symbol}/orderbook
  • GET/{symbol}/trades

Availability

Uptime100%
Median latency116 ms
Last checkUp · 400 · Sep 2026

4 checks since Aug 2026. A person runs this check by hand, not an automated monitor.

Changelog

Spec versionv5.36.1
Tracked paths28
  • Aug 2026gained an OpenAPI spec

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗