Skip to main content

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

Release files for skinport 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skinport 0.2.0
File Size Uploaded
skinport-0.2.0.tar.gz 23.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skinport 0.2.0
File Interpreter ABI Platform
skinport-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.9 kB

Release files / skinport-0.2.0.tar.gz

Download URL skinport-0.2.0.tar.gz
Size 23.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4f1c4f61f577dabd94059c740261df1744a00d16a6e813040047abd92875659a
BLAKE2b-256 checksum
How to use checksums
349fb9fb5338d762721e9db3cda42cc56701efa963051c4e27570c9852ea6215
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Release files / skinport-0.2.0-py3-none-any.whl

Download URL skinport-0.2.0-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd23ac2fe4086750cd0732eb8eb6b1a4816977fbc0897b622a463737643ab0ad
BLAKE2b-256 checksum
How to use checksums
243c486a3740bf70a44f5f6df780c37a0fe4bac7c27e81fe1810bf4bf7189e8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page