Concepts
Overview
Drive your whole SteamLabs account from code, with the same permissions you have in the dashboard.
Everything you can do in the dashboard, you can do over the API. Add accounts, queue tasks, sell items, manage proxies, run boost plans, read your stats. Same data, same limits, no browser.
The API lives at /api/v1 and speaks JSON in both directions.
This site covers the API surface only. For what the product itself does (accounts, proxies, tasks, marketplaces), see the SteamLabs Docs; the switcher at the top of the page moves between the two.
/api/v1/meWho you are, what your key can do, and what your plan allows.
Requires account.read.
Your first request
Create a key on the API keys page under Your account, then send it as a bearer token.
curl https://dashboard.steamlabs.dev/api/v1/me \
-H "Authorization: Bearer $STEAMLABS_API_KEY"$me = Http::withToken($apiKey)
->get('https://dashboard.steamlabs.dev/api/v1/me')
->json();const response = await fetch('https://dashboard.steamlabs.dev/api/v1/me', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const me = await response.json();import requests
me = requests.get(
"https://dashboard.steamlabs.dev/api/v1/me",
headers={"Authorization": f"Bearer {api_key}"},
).json()The response tells you everything you need to know before writing any real code:
{
"id": "019fb42e-9a61-70d2-818a-f6a56593f3a5",
"name": "Merlijn",
"email": "[email protected]",
"timezone": "Europe/Amsterdam",
"preferred_currency": "EUR",
"balance_cents": 24150,
"api_key": {
"id": "019fb430-1c22-73a4-9f0e-2b7c5d1e8a44",
"name": "Nightly sync",
"scopes": ["accounts.read", "tasks.write"],
"rate_limit_per_minute": 120,
"last_used_at": "2026-07-30T14:02:11+00:00",
"expires_at": null
},
"plan": {
"has_active_plan": true,
"max_steam_accounts": 2000,
"steam_accounts_used": 418,
"steam_accounts_remaining": 1582,
"max_proxies": 500,
"proxies_used": 62,
"proxies_remaining": 438,
"allowed_task_types": null,
"allowed_marketplaces": ["steam", "csfloat", "marketcsgo"],
"allows_automations": true,
"allows_hour_boosting": true,
"allows_trade_sending": true,
"allows_confirmations": true,
"allows_incoming_trades": true,
"max_boost_concurrent": 250,
"ai_profiles_remaining_this_month": 187,
"farmlabs_benefits_active": false
},
"maintenance": {
"active": false,
"reason": null,
"since": null
}
}In plan, null means unlimited and [] means none. They are not the same thing, so check for null explicitly rather than treating an empty result as "no limit".
farmlabs_benefits_active says whether FarmLabs member benefits are folded into the figures above. Some plans carry better limits or prices for users whose linked FarmLabs account has an active FarmLabs subscription; when this is true, every number in plan already includes them, so there is nothing extra to apply.
maintenance reports platform maintenance up front. While active is true, endpoints that create new work refuse with 503 maintenance_mode (see Errors), so check here before firing a batch. reason carries the note the team wrote when enabling it.
What the API covers
| Area | What you get |
|---|---|
| Steam accounts | Add, edit, tag, delete, refresh details, check bans, sign in, assign proxies |
| Tasks | Queue any task type your plan allows, then track, retry, or cancel it |
| Inventory | List items across every account, then sell, send, store, or use them |
| Market | Listings, buy orders, sales history, and CSFloat / market.csgo deliveries |
| Trading | Trade offers and routing templates |
| Trade-ups | Contracts and settings |
| Proxies | Proxies, groups, testing, and assignment |
| Profiles | Profiles and groups, including AI generation |
| Hour boosting | Plans, assignments, and live state |
| Integrations | Connected marketplaces and Steam Web API keys |
| Billing | Read your balance, deposits, ledger, and invoices |
| Activity & stats | Your timeline and dashboard totals |
What the API does not cover
Four things are deliberately dashboard-only:
- Subscriptions. Buying, switching, renewing, and cancelling a plan all happen in the browser.
- Automations. The workflow builder, its triggers, and its runs.
- Chat. The community chat.
- Feedback reports. The tester bug tracker.
Billing is readable but never writable. No endpoint can spend your balance, start a top-up, or create a payment. A leaked key cannot cost you money directly.
Conventions
- Every ID is a UUID.
- Every timestamp is ISO 8601 with a UTC offset:
2026-07-30T14:02:11+00:00. - Every money value is an integer in minor units, named
*_cents. - Collections are always paginated. See Pagination and filtering.
- Writes that cost money or inventory take an
Idempotency-Key. See Bulk operations.
Where to go next
- Authentication · create a key, pick its permissions, keep it safe
- Rate limits · your budget and how to stay inside it
- Errors · the error shape and every code the API returns
- Pagination and filtering · working through large collections
- Bulk operations · acting on thousands of accounts in one call