The pricing API
for Counter-Strike 2
skins
Real-time prices, daily history, and cross-market data from major CS2 marketplaces — normalized into one REST API for pricing tools, dashboards, and bots.
Why build
on skintick?
One normalized data layer with the reliability, speed, and coverage to power the next generation of CS2 tools.
One name for every item
Every market keyed to Steam's market_hash_name. Query one canonical name, get every marketplace back.
Outlier & confidence flags
Each price carries is_outlier, confidence, and price_basis so you can drop mispriced rows before you trade on them.
Best spread route
/v1/spreads returns the single best risk-adjusted buy→sell route per item across p2p venues.
Daily price history
A daily close per item, per market — chart trends and back-test without scraping anything yourself.
Source-aware freshness
Every row carries collected_at, source_updated_at, and a staleness flag, so you only trust data that's current.
Batch pricing
POST a list of names to /v1/prices/latest and price a whole inventory in one request.
Every weapon.
Every finish.
Factory New to Battle-Scarred, StatTrak™ and souvenirs — keyed to Steam's market_hash_name and normalized into one schema across every marketplace we track.
AK-47
Redline · Asiimov · Vulcan
AWP
Dragon Lore · Asiimov · Gungnir
Knives
Karambit · Butterfly · M9
M4A4 / A1-S
Howl · Printstream · Neo-Noir
Glock-18
Fade · Gamma Doppler
USP-S
Kill Confirmed · Printstream
Gloves
Sport · Specialist · Hand Wraps
Desert Eagle
Blaze · Printstream · Code Red
Five endpoints.
That's the surface.
REST over HTTPS, Bearer-token auth, JSON out. If you can curl, you're integrated.
curl "https://api.skintick.io/v1/items/\ AK-47%20%7C%20Redline%20(Field-Tested)" \ -H "Authorization: Bearer skt_…"
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"prices": [
{
"market": "skinport",
"market_type": "p2p",
"price_basis": "lowest_ask",
"min_price": "30.73",
"currency": "USD",
"is_outlier": false,
"confidence": "high",
"is_stale": false,
"source_updated_at": "2026-06-15T11:04:37Z"
}
]
}One call.
Every market.
We poll and rate-limit nine marketplaces so you don't. One authenticated request returns every market's price for an item — normalized, flagged, and timestamped.
Simple,
transparent pricing.
No setup fees, cancel anytime. Every plan starts with a 7-day trial and renews through Stripe unless canceled.
Developer
- ▸10,000 requests / day
- ▸All marketplaces
- ▸Daily price history
- ▸Spreads + batch endpoints
- ▸7-day trial to start
Growth
- ▸50,000 requests / day
- ▸Everything in Developer
- ▸Higher rate limits
- ▸Priority email support
Pro
- ▸Highest request limits
- ▸Everything in Growth
- ▸Best for production workloads
- ▸Priority support
Developer access starts with a 7-day card-backed trial with trial request limits. Need higher volume, raw listing feeds, or a DPA? Talk to us about Enterprise →
Use any language.
It's just REST.
No SDK to install and no lock-in — authenticate with a Bearer token and parse JSON. Official client libraries are on the roadmap.
cURL / HTTP
Plain REST over HTTPS with Bearer auth. Works from any language, shell, or no-code tool.
TypeScript / JS
Just use fetch — no SDK to install. Responses are stable JSON documented in the API reference.
Python
requests or httpx against the JSON API. History rows drop straight into a DataFrame.
Frequently asked.
Everything you need to know before your first call. Still stuck? The contact form is right below.
? How do I authenticate?
Pass your key as a Bearer token — Authorization: Bearer skt_…. Your key is issued the moment your trial starts; no separate approval step.
? What item-name format do you use?
Steam's canonical market_hash_name, e.g. "AK-47 | Redline (Field-Tested)". It's the same string across every marketplace, so you match once and query everywhere.
? Where do prices come from?
We poll major CS2 marketplaces directly — Skinport, CSFloat, DMarket, Bitskins, Waxpeer, Tradeit, Loot.farm and more — and normalize every listing into one schema with per-market basis, freshness, and outlier flags.
? How fresh is the data?
Each source is re-polled on its own cadence — roughly 5 minutes for fast feeds, up to an hour for tightly rate-limited ones. Every row carries collected_at and source_updated_at so you can enforce your own freshness rules.
? Is there a free trial?
Yes. The Developer plan starts with a 7-day card-backed trial with trial request limits, so you can test integration and data fit before billing begins. Paid access renews through Stripe unless canceled.
? Can I store and redistribute the data?
Cache and store anything you fetch for your own product. Reselling the raw feed as a competing API needs an enterprise license — talk to us.
Ready to
get started?
Questions about integration or coverage? The team behind skintick is here to help you ship.
Ready to go live?
7-day free trial. Full docs. First call in minutes.
Start free trial