DMarket Sell Items API

Create, edit, delete and list your sell offers.

Operations 6

POST /marketplace-api/v1/deposit-assets Deposit assets #
GET /marketplace-api/v1/deposit-status/{DepositID} Get deposit status #
GET /marketplace-api/v2/user/offers List user offers #
POST /marketplace-api/v2/offers:batchCreate Batch create offers #
POST /marketplace-api/v2/offers:batchUpdate Batch update offers #
POST /marketplace-api/v2/offers:batchDelete Batch delete offers #

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-sell-items-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-sell-items-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DMarket trading Sell Items 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: Sell Items
  description: Create, edit, delete and list your sell offers.
paths:
  /marketplace-api/v1/deposit-assets:
    post:
      tags:
      - Sell Items
      summary: Deposit assets
      description: Transferring items from a 3rd party inventory (e.g. a Steam game) to a Dmarket inventory.
      operationId: DepositAssets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplaceDepositAssetsRequest'
            example:
              AssetID:
              - a1b2c3d4-e5f6-7890-abcd-ef1234567890
              - b2c3d4e5-f6a7-8901-bcde-f23456789012
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplaceDepositAssetsResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      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 -X POST 'https://api.dmarket.com/marketplace-api/v1/deposit-assets' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"AssetID\": [\n    \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"b2c3d4e5-f6a7-8901-bcde-f23456789012\"\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"AssetID\": [\n        \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"b2c3d4e5-f6a7-8901-bcde-f23456789012\"\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v1/deposit-assets\", payload=payload)\nprint(result)"
  /marketplace-api/v1/deposit-status/{DepositID}:
    get:
      tags:
      - Sell Items
      summary: Get deposit status
      description: Get information about current deposit transfers.
      operationId: GetDepositStatus
      parameters:
      - name: DepositID
        in: path
        description: Deposit operation unique identifier.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplaceGetDepositStatusResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      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/marketplace-api/v1/deposit-status/e5f6a7b8-c9d0-1234-ef01-567890123456' \\\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", "/marketplace-api/v1/deposit-status/e5f6a7b8-c9d0-1234-ef01-567890123456")

          print(result)'
  /marketplace-api/v2/user/offers:
    get:
      tags:
      - Sell Items
      summary: List user offers
      description: 'Get the list of the current user''s active sell offers for further management (edit price, remove from sale). Prices are returned as integer cents. ''gameId'' param values are: CS2 - a8db, Team Fortress 2 - tf2, Dota 2 - 9a92, Rust - rust.'
      operationId: GetUserOffersV2
      x-badges:
      - name: NEW
        color: '#04BA39'
      parameters:
      - name: gameId
        in: query
        description: 'Game identifier. One of: a8db (CS2), 9a92 (Dota 2), tf2, rust.'
        required: true
        schema:
          type: string
          enum:
          - a8db
          - 9a92
          - tf2
          - rust
        example: a8db
      - name: title
        in: query
        description: Filter offers by title prefix (case-insensitive).
        required: false
        schema:
          type: string
      - name: treeFilters
        in: query
        description: 'Attribute filters in comma-separated key=value format. Values must match how the attribute is stored (typically the lowercase Steam string; see allowed values below).


          Supported common keys: `categoryPath`, `type`, `priceCents`, `tradeLockFrom`, `tradeLockTo`. Filter by game and title via the top-level `gameId` and `title` query parameters.


          CS2 keys: `exterior`, `paintSeed`, `floatPart`, `phase`, `category`, `collection`, `charmName`, `charmExists`, `sticker`, `isProskin`, `fadePercentFrom`, `fadePercentTo`.


          TF2 keys: `exterior`, `collection`, `isCraftable`. Dota 2 keys: `hero`.


          Allowed CS2 values:

          - `exterior`: `factory new`, `minimal wear`, `field-tested`, `well-worn`, `battle-scarred`, `not painted`

          - `phase`: `phase-1`, `phase-2`, `phase-3`, `phase-4`, `ruby`, `sapphire`, `emerald`, `black-pearl`

          - `floatPart`: `FN-0`..`FN-6`, `MW-0`..`MW-4`, `FT-0`..`FT-4`, `WW-0`..`WW-4`, `BS-0`..`BS-4` (bucketed float ranges per exterior)

          - `category`: `stattrak_tm` (`_tm` is translated to the ™ symbol server-side), `souvenir`, `normal`, `★` (knives)


          Allowed TF2 exterior values: `factory new`, `minimal wear`, `field-tested`, `well-worn`, `battle-scarred`, `battle scarred`.


          Multi-value: suffix key with `[]`, e.g. `exterior[]=factory new,exterior[]=minimal wear` (URL-encode the space as `%20`).


          Negation: prefix key with `not_`, e.g. `not_exterior=factory new`. Negation is not supported for `charmName`/`sticker`.


          Ranges: `fadePercentFrom=10,fadePercentTo=90`. Steam trade-lock filtering uses `tradeLockFrom`/`tradeLockTo` (remaining lock in days; `tradeLockFrom` is inclusive, `tradeLockTo` is exclusive).


          Existence check: `charmExists=true` / `charmExists=false`.


          Charm and sticker filters (`charmName`, `sticker[]`, `charmExists`) apply to CS2 offers only.


          Example: `categoryPath=rifle,exterior[]=factory new,exterior[]=minimal wear`.'
        required: false
        schema:
          type: string
        example: categoryPath=rifle,exterior[]=factory new
      - name: orderBy
        in: query
        description: 'Sort field. Supported values: `price`, `title`, `float`, `createdAt`.'
        required: false
        schema:
          type: string
          enum:
          - price
          - title
          - float
          - createdAt
      - name: orderDir
        in: query
        description: Sort direction. Defaults to `asc` when `orderBy` is set.
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
      - name: limit
        in: query
        description: Number of items to return per page. Range 1..100.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 100
      - name: cursor
        in: query
        description: Pagination cursor returned from a previous response.
        required: false
        schema:
          type: string
          maxLength: 500
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2GetUserOffersResponse'
              example:
                items:
                - offerId: c3d4e5f6-1234-4abc-9def-7890abcdef12
                  priceCents: 1599
                  createdAt: '2026-06-17T10:30:00Z'
                  locked: false
                  attributes:
                    title: AK-47 | Redline (Field-Tested)
                    gameId: a8db
                    categoryPath: rifle/ak-47
                    tradable: true
                    cs2Attributes:
                      exterior: field-tested
                      floatValue: 0.2356
                      paintSeed: 412
                total: 7
                cursor: ''
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      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 -G 'https://api.dmarket.com/marketplace-api/v2/user/offers' \\\n  --data-urlencode 'gameId=a8db' \\\n  --data-urlencode 'title=AK-47' \\\n  --data-urlencode 'treeFilters=categoryPath=rifle,exterior[]=factory new' \\\n  --data-urlencode 'orderBy=createdAt' \\\n  --data-urlencode 'orderDir=desc' \\\n  --data-urlencode 'limit=10' \\\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\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"gameId\": \"a8db\",\n    \"title\": \"AK-47\",\n    \"treeFilters\": \"categoryPath=rifle,exterior[]=factory new\",\n    \"orderBy\": \"createdAt\",\n    \"orderDir\": \"desc\",\n    \"limit\": 10\n}\nresult, err = client.call(\"GET\", \"/marketplace-api/v2/user/offers\", payload=payload)\nprint(result)"
  /marketplace-api/v2/offers:batchCreate:
    post:
      tags:
      - Sell Items
      summary: Batch create offers
      description: Create multiple offers in a single request.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplacev2BatchCreateOffersRequest'
            example:
              requests:
              - assetId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                priceCents: 1599
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2BatchCreateOffersResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      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 -X POST 'https://api.dmarket.com/marketplace-api/v2/offers:batchCreate' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"requests\": [\n    {\n      \"assetId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"priceCents\": 1599\n    }\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"requests\": [\n        {\n            \"assetId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n            \"priceCents\": 1599\n        }\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v2/offers:batchCreate\", payload=payload)\nprint(result)"
      operationId: postMarketplaceApiV2Offers:batchCreate
      x-operation-id-source: derived
  /marketplace-api/v2/offers:batchUpdate:
    post:
      tags:
      - Sell Items
      summary: Batch update offers
      description: Update multiple offers in a single request.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplacev2BatchUpdateOffersRequest'
            example:
              requests:
              - offerId: c3d4e5f6-a7b8-9012-cdef-345678901234
                priceCents: 1799
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2BatchUpdateOffersResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      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 -X POST 'https://api.dmarket.com/marketplace-api/v2/offers:batchUpdate' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"requests\": [\n    {\n      \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\",\n      \"priceCents\": 1799\n    }\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"requests\": [\n        {\n            \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\",\n            \"priceCents\": 1799\n        }\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v2/offers:batchUpdate\", payload=payload)\nprint(result)"
      operationId: postMarketplaceApiV2Offers:batchUpdate
      x-operation-id-source: derived
  /marketplace-api/v2/offers:batchDelete:
    post:
      tags:
      - Sell Items
      summary: Batch delete offers
      description: Delete multiple offers in a single request.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplacev2BatchDeleteOffersRequest'
            example:
              requests:
              - offerId: c3d4e5f6-a7b8-9012-cdef-345678901234
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2BatchDeleteOffersResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      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 -X POST 'https://api.dmarket.com/marketplace-api/v2/offers:batchDelete' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"requests\": [\n    {\n      \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\"\n    }\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"requests\": [\n        {\n            \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\"\n        }\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v2/offers:batchDelete\", payload=payload)\nprint(result)"
      operationId: postMarketplaceApiV2Offers:batchDelete
      x-operation-id-source: derived
components:
  schemas:
    marketplaceDepositAssetsResponse:
      type: object
      properties:
        DepositID:
          type: string
          description: Deposit operation unique identifier.
    marketplaceAssetMap:
      type: object
      properties:
        InGameAssetID:
          type: string
          description: In-game asset identifier.
        DmarketAssetID:
          type: string
          description: In-market asset identifier.
    marketplacev2BatchUpdateOffersRequest:
      type: object
      properties:
        requests:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2UpdateOfferRequest'
    marketplacev2BatchCreateOffersResponse:
      type: object
      properties:
        offers:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2Offer'
        failed:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2BatchCreateOffersResponseReason'
    runtimeError:
      type: object
      properties:
        error:
          type: string
        code:
          type: integer
          format: int32
        message:
          type: string
    marketplacev2GetUserOffersResponse:
      type: object
      properties:
        items:
          type: array
          description: User offers.
          items:
            $ref: '#/components/schemas/marketplacev2OfferV2'
        total:
          type: integer
          format: int64
          description: Total number of offers matching the filter criteria across all pages, independent of limit/cursor.
        cursor:
          type: string
          description: Cursor for the next page. Empty when there are no more pages.
    marketplacev2BatchCreateOffersRequest:
      type: object
      properties:
        requests:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2CreateOfferRequest'
    marketplacev2DeleteOfferRequest:
      type: object
      properties:
        offerId:
          type: string
          description: Offer unique identifier.
    marketplacev2BatchDeleteOffersResponseReason:
      type: object
      properties:
        offerId:
          type: string
        code:
          type: string
        message:
          type: string
    marketplacev2BatchDeleteOffersResponse:
      type: object
      properties:
        offers:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2Offer'
        failed:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2BatchDeleteOffersResponseReason'
    marketplacev2BatchCreateOffersResponseReason:
      type: object
      properties:
        assetId:
          type: string
        code:
          type: string
        message:
          type: string
    marketplacev2BatchDeleteOffersRequest:
      type: object
      properties:
        requests:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2DeleteOfferRequest'
    marketplaceTransferStatus:
      type: string
      default: TransferStatusPending
      enum:
      - TransferStatusPending
      - TransferStatusCreated
      - TransferStatusSuccess
      - TransferStatusFailedToCreate
      - TransferStatusError
      - TransferStatusOnHold
    marketplacev2BatchUpdateOffersResponseReason:
      type: object
      properties:
        offerId:
          type: string
        code:
          type: string
        message:
          type: string
    marketplaceGetDepositStatusResponse:
      type: object
      properties:
        DepositID:
          type: string
          description: Deposit operation unique identifier.
        AssetID:
          type: array
          description: Initial assets list requested to deposit.
          items:
            type: string
        Status:
          $ref: '#/components/schemas/marketplaceTransferStatus'
        Error:
          type: string
          description: Error details in case of failed deposit operation.
        Assets:
          type: array
          description: 'Map of in-game asset id from request and new in-market asset ids after

            deposit.'
          items:
            $ref: '#/components/schemas/marketplaceAssetMap'
        SteamDepositInfo:
          $ref: '#/components/schemas/marketplaceSteamDepositInfo'
    marketplacev2BatchUpdateOffersResponse:
      type: object
      properties:
        offers:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2Offer'
        failed:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2BatchUpdateOffersResponseReason'
    marketplacev2CreateOfferRequest:
      type: object
      properties:
        assetId:
          type: string
          format: uuid
          description: Asset unique identifier.
        priceCents:
          type: integer
          format: int64
          description: Price in cents.
      required:
      - assetId
    marketplacev2OfferV2:
      type: object
      description: Marketplace offer with typed attributes.
      properties:
        attributes:
          description: Game-specific asset attributes. See `asset.Attributes` in the marketplace-api proto schema for the full oneof definition.
          type: object
          additionalProperties: true
        priceCents:
          type: integer
          format: int64
          description: Offer price in cents.
        createdAt:
          type: string
          format: date-time
        locked:
          type: boolean
          description: Whether the offer is currently locked (for example, reserved by an in-flight trade) and so cannot be bought.
        offerId:
          type: string
          description: Offer unique identifier.
    marketplaceSteamDepositInfo:
      type: object
      properties:
        TradeOfferID:
          type: string
          description: Steam trade offer id.
        Message:
          type: string
          description: Custom trade message.
    marketplacev2UpdateOfferRequest:
      type: object
      properties:
        offerId:
          type: string
          description: Offer unique identifier.
        priceCents:
          type: integer
          format: int64
          description: New price in cents.
    marketplacev2Offer:
      type: object
      properties:
        id:
          type: string
        assetId:
          type: string
    marketplaceDepositAssetsRequest:
      type: object
      properties:
        AssetID:
          type: array
          description: List of asset id to deposit.
          items:
            type: string
  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