Skip to main content

API client for CSMarketAPI

Project description

CSMarketAPI Client

Asynchronous Python client for CSMarketAPI — typed responses (Pydantic), enums for marketplaces/currencies, and convenient async context managers.

Highlights

  • Async & Fast: Use with async with CSMarketAPI(...)
  • Typed Models: All responses are Pydantic models
  • Enums: For Market and Currency
  • Modern Python: 3.13+, type hints everywhere

Installation

pip install csmarketapi

Requirements

  • Python 3.13+
  • CSMarketAPI API key

Quickstart

import asyncio
from csmarketapi import CSMarketAPI
from csmarketapi.enums import Market, Currency

async def main():
    async with CSMarketAPI("YOUR_API_KEY") as client:
        items = await client.get_items()
        print(f"Loaded {len(items.items)} items.")

asyncio.run(main())

Usage Examples

All methods are async and return Pydantic models.

Listings (Latest)

async with CSMarketAPI("YOUR_API_KEY") as client:
    res = await client.get_listings_latest_aggregated(
        market_hash_name="Chroma 2 Case",
        markets=list(Market)
        curreny=Currency.USD
    )
    print(res.market_hash_name, res.listings[0].market, res.listings[0].min_price)

Sales (Latest)

async with CSMarketAPI("YOUR_API_KEY") as client:
    res = await client.get_sales_latest_aggregated(
        market_hash_name="Chroma 2 Case",
        markets=[Market.SKINPORT, Market.SKINBARON]
    )
    print(res.sales[0].market, res.sales[0].median_price)

Currency Rates

async with CSMarketAPI("YOUR_API_KEY") as client:
    rates = await client.get_currency_rates()
    print(rates.items)

Steam Inventory

async with CSMarketAPI("YOUR_API_KEY") as client:
    inv = await client.get_steam_inventory(steam_id="YOUR_STEAM_ID")
    print(inv.assets)

Error Handling & Tipps

  • Wrap API calls in try/except for network errors
  • Optional fields may be None
  • Use markets=list(Market) for all markets

License

MIT


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csmarketapi-1.0.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

csmarketapi-1.0.2-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file csmarketapi-1.0.2.tar.gz.

File metadata

  • Download URL: csmarketapi-1.0.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for csmarketapi-1.0.2.tar.gz
Algorithm Hash digest
SHA256 701b24a1acf28cc6a6fbbc41c2f15f6243a701771575cc372cf5738ac2903825
MD5 9feaed81f08489705045b89f3e375077
BLAKE2b-256 8948ca4baa6f29df58c4f05d77702e3c6d5932bb320c975385ce11eb3e28c012

See more details on using hashes here.

File details

Details for the file csmarketapi-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for csmarketapi-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7f9a62756db7f86511d1a96bb0d40f1de9729730d8b679bde32c2aa5b34fab5d
MD5 3f6db3fa8dc2f1c304db618f93554de8
BLAKE2b-256 8e2b349568cff7861a59d6525d2f4d34dbcf9b75b9f82b50c987cbfdb9c681ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page