Skip to main content

A Python wrapper around the Skinport API.

Project description

skinport

An unofficial Python wrapper around the Skinport API.

Installation

skinport is available on PyPI:

$ pip install skinport

To install from source use:

$ pip install -e .

Usage

import skinport

# Public endpoints work without credentials
client = skinport.Client()
items = client.items(app_id=730, currency="EUR")
client.sales.history(market_hash_name="AK-47 | Redline (Field-Tested)")
client.sales.out_of_stock()

# Authenticated endpoints require credentials
client = skinport.Client(
    client_id="<skinport_client_id>",
    client_secret="<skinport_client_secret>",
)
transactions = client.account.transactions()

The client can also be used as a context manager:

with skinport.Client() as client:
    items = client.items()
    history = client.sales.history(market_hash_name="AK-47 | Redline (Field-Tested)")

Rate Limiting

Client-side rate limiting is enabled by default (8 requests per 5 minutes per endpoint group), matching the Skinport API limits. The client will automatically sleep when the limit is reached. To disable:

client = skinport.Client(rate_limit=False)

WebSocket Sale Feed

from skinport import SaleFeed

feed = SaleFeed(app_id=730, currency="EUR", locale="en")

@feed.on_event
def handle(data):
    print(data["eventType"], data["sales"])

feed.connect()  # blocks until disconnected

Documentation

Documentation for the skinport library is available here.
To learn more about the Skinport API, check out the official documentation.

Skinport API Key

You will need an API key to Skinport to access authenticated endpoints. To obtain a key, follow these steps:

  1. Register for and verify an account.
  2. Log into your account.
  3. Scroll down to the Skinport API section.
  4. Click on Generate API key and follow the instructions.

License

Copyright 2022-2026 Martin Simon

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Buy me a coffee?

If you feel like buying me a coffee (or a beer?), donations are welcome:

BTC : bc1qq04jnuqqavpccfptmddqjkg7cuspy3new4sxq9
DOGE: DRBkryyau5CMxpBzVmrBAjK6dVdMZSBsuS
ETH : 0x2238A11856428b72E80D70Be8666729497059d95
LTC : MQwXsBrArLRHQzwQZAjJPNrxGS1uNDDKX6

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

skinport-0.2.0.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

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

skinport-0.2.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file skinport-0.2.0.tar.gz.

File metadata

  • Download URL: skinport-0.2.0.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skinport-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4f1c4f61f577dabd94059c740261df1744a00d16a6e813040047abd92875659a
MD5 7fca6e6bc03712d2505a0a05bfc8b0ba
BLAKE2b-256 349fb9fb5338d762721e9db3cda42cc56701efa963051c4e27570c9852ea6215

See more details on using hashes here.

Provenance

The following attestation bundles were made for skinport-0.2.0.tar.gz:

Publisher: release.yml on barnumbirr/skinport

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skinport-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: skinport-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skinport-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd23ac2fe4086750cd0732eb8eb6b1a4816977fbc0897b622a463737643ab0ad
MD5 a70f13bb6f7bffddc6f26452cd375472
BLAKE2b-256 243c486a3740bf70a44f5f6df780c37a0fe4bac7c27e81fe1810bf4bf7189e8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for skinport-0.2.0-py3-none-any.whl:

Publisher: release.yml on barnumbirr/skinport

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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