DMarket Account API

User profile and balance.

Operations 2

GET /account/v1/user Get user profile #
GET /account/v1/balance Get account balance #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dmarket-account-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dmarket-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DMarket trading Account API
  description: Welcome to the DMarket Trading API section.
  version: v2.0.0
  x-logo:
    url: logo.svg
    backgroundColor: '#FFFFFF'
    altText: DMarket logo
servers:
- url: https://api.dmarket.com
security:
- ApiKey: []
  SignDate: []
  RequestSign: []
tags:
- name: Account
  description: User profile and balance.
paths:
  /account/v1/user:
    get:
      tags:
      - Account
      summary: Get user profile
      description: Getting general user profile information.
      operationId: getUserByTokenHandler
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/representation.UserAccountResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/representation.UserAccountResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorRepresentation'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorRepresentation'
        default:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/representation.UserAccountResponse'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl 'https://api.dmarket.com/account/v1/user' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\""
      - lang: Python
        label: Python (dm-trading-tools)
        source: '# Full signing client: https://github.com/dmarket/dm-trading-tools

          from dmarket_client import DMarketClient


          client = DMarketClient(public_key="<public hex>", secret_key="<secret hex>")

          result, err = client.call("GET", "/account/v1/user")

          print(result)'
  /account/v1/balance:
    get:
      tags:
      - Account
      summary: Get account balance
      description: Getting the current USD & DMC balance that is available for trading items / buying subscriptions. The response format is in coins (cents for USD, dimoshi for DMC).
      operationId: getUserBalance
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/representation.UserBalance'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorRepresentation'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorRepresentation'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorRepresentation'
        default:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/representation.UserBalance'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl 'https://api.dmarket.com/account/v1/balance' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\""
      - lang: Python
        label: Python (dm-trading-tools)
        source: '# Full signing client: https://github.com/dmarket/dm-trading-tools

          from dmarket_client import DMarketClient


          client = DMarketClient(public_key="<public hex>", secret_key="<secret hex>")

          result, err = client.call("GET", "/account/v1/balance")

          print(result)'
components:
  schemas:
    representation.UserAccountSettingsResponse:
      required:
      - enabledDeviceConfirmation
      - isSubscribedToNewsletters
      - targetsLimit
      - tradingApiToken
      properties:
        enabledDeviceConfirmation:
          type: boolean
        isSubscribedToNewsletters:
          type: boolean
        targetsLimit:
          type: integer
          format: int32
        tradingApiToken:
          type: string
    representation.Feat:
      required:
      - enabled
      - name
      properties:
        enabled:
          type: boolean
        name:
          type: string
          enum:
          - P2P
          - P2PToggleVisible
          - P2POnboardingSeen
    representation.UserAccountResponse:
      required:
      - agreementsInfo
      - countryCode
      - countryCodeFromIP
      - email
      - features
      - ga_client_id
      - hasActiveSubscriptions
      - hasHistoryEvents
      - id
      - imageUrl
      - isEmailVerified
      - isPasswordSet
      - level
      - linkedGames
      - migrated
      - publicKey
      - regType
      - restrictions
      - settings
      - steamAccount
      - twitchAccount
      - username
      properties:
        agreementsInfo:
          $ref: '#/components/schemas/representation.AgreementsInfo'
        countryCode:
          type: string
        countryCodeFromIP:
          type: string
        email:
          type: string
        features:
          type: array
          items:
            $ref: '#/components/schemas/representation.Feat'
        ga_client_id:
          type: string
        hasActiveSubscriptions:
          type: boolean
        hasHistoryEvents:
          type: boolean
        id:
          type: string
        imageUrl:
          type: string
        isEmailVerified:
          type: boolean
        isPasswordSet:
          type: boolean
        level:
          type: integer
          format: int64
        linkedGames:
          type: array
          items:
            $ref: '#/components/schemas/representation.LinkedGame'
        migrated:
          type: boolean
        publicKey:
          type: string
        regType:
          type: string
          enum:
          - steam
          - user
        restrictions:
          type: array
          items:
            $ref: '#/components/schemas/representation.Restriction'
        settings:
          $ref: '#/components/schemas/representation.UserAccountSettingsResponse'
        steamAccount:
          $ref: '#/components/schemas/representation.SteamAccount'
        twitchAccount:
          $ref: '#/components/schemas/representation.TwitchAccount'
        username:
          type: string
    representation.UserBalance:
      required:
      - dmc
      - dmcAvailableToWithdraw
      - usd
      - usdAvailableToWithdraw
      properties:
        dmc:
          type: string
        dmcAvailableToWithdraw:
          type: string
        usd:
          type: string
        usdAvailableToWithdraw:
          type: string
    representation.TwitchAccount:
      required:
      - icon
      - userId
      - username
      properties:
        icon:
          type: string
        userId:
          type: string
        username:
          type: string
    representation.AgreementsInfo:
      required:
      - isConfirmed
      - updated
      properties:
        isConfirmed:
          type: boolean
        updated:
          type: integer
          format: int64
    representation.LinkedGame:
      required:
      - gameId
      - gameUserId
      - username
      properties:
        gameId:
          type: string
        gameUserId:
          type: string
        username:
          type: string
    api.ErrorRepresentation.validationDetails: {}
    api.ErrorRepresentation:
      required:
      - code
      - message
      properties:
        code:
          type: string
        message:
          type: string
        validationDetails:
          $ref: '#/components/schemas/api.ErrorRepresentation.validationDetails'
    representation.SteamAccount:
      required:
      - apiKey
      - apiKeyStatus
      - icon
      - isProfilePrivate
      - level
      - steamId
      - tradeUrl
      - username
      properties:
        apiKey:
          type: string
        apiKeyStatus:
          type: string
          enum:
          - New
          - Verified
          - Invalid
        icon:
          type: string
        isProfilePrivate:
          type: boolean
        level:
          type: integer
          format: int64
        steamId:
          type: string
        tradeUrl:
          type: string
        username:
          type: string
    representation.Restriction:
      required:
      - expirationTime
      - name
      properties:
        expirationTime:
          type: integer
          format: int64
        name:
          type: string
          enum:
          - P2POfferCreation
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Public API key (lowercase hex). Generate it in your DMarket account settings. See https://dmarket.com/faq#tradingAPI.
    SignDate:
      type: apiKey
      in: header
      name: X-Sign-Date
      description: Unix timestamp in seconds at signing time (e.g. 1605619994). Must be within 2 minutes of server time.
    RequestSign:
      type: apiKey
      in: header
      name: X-Request-Sign
      description: 'Ed25519 request signature prefixed with `dmar ed25519 `. Sign the concatenation of HTTP method + path (including query string) + body + X-Sign-Date with your secret key, then hex-encode the 64-byte Ed25519 signature. Reference clients (Go, Python, JS, PHP): https://github.com/dmarket/dm-trading-tools.'
x-tagGroups:
- name: Account
  tags:
  - Account
- name: Trading
  tags:
  - Buy items
  - Sell Items
  - Sold user items
- name: Inventory
  tags:
  - Inventory/items
- name: Market data
  tags:
  - Aggregator