Verkaufe unsere Steam-Dienste aus deinem eigenen Panel zu Reseller-Preisen.
Erstelle Bestellungen, verfolge ihre Lieferung und prüfe dein Guthaben mit einfachen HTTP-Anfragen. Jede Antwort ist JSON und alle Preise sind in USD.
Bestellungen über die API erhalten 20 % Rabatt auf die Panel-Preise. Die Preise unten enthalten ihn bereits.
Basis-URL
https://cappiservices.com/api/Reseller
Deinen API-Schlüssel findest du im Kundenpanel unter API Key. Wenn du einen neuen Schlüssel erstellst, wird der vorherige sofort ungültig. API-Key-Seite öffnen
Testen und Verwendung
Zum Testen und Verwenden der API kannst du die Swagger UI nutzen:
Jede Anfrage außer ServicesList benötigt deinen API-Schlüssel. Du kannst ihn auf drei Arten senden:
HTTP-Header X-Api-Key (empfohlen: Der Schlüssel taucht weder in URLs noch in Server-Logs auf).
Query-String-Parameter key.
Feld key in einem application/x-www-form-urlencoded-Body (nur POST).
Schlüssel, die vor November 2026 erstellt wurden, können + und / enthalten: Kodiere sie per URL-Encoding, wenn du sie im Query-String sendest, sonst wird + zu einem Leerzeichen und der Schlüssel wird abgelehnt. Neue Schlüssel bestehen aus 64 Hexadezimalzeichen und müssen nicht kodiert werden.
Anfragen und Antworten
Parameter werden im Query-String oder in einem Formular-Body (POST) übergeben. Bei Erfolg wird HTTP 200 zurückgegeben; ein fachlicher Fehler liefert HTTP 400 mit einem Feld error (RegisterOrder setzt zusätzlich success auf false). Wird eine Bestellung abgelehnt, wird nichts abgebucht.
Limit: 120 Anfragen alle 1 Minute(n) pro IP-Adresse. Darüber antwortet die API mit HTTP 429 und einem Retry-After-Header.
Dienste
Diese Tabelle ist live: Die Preise enthalten bereits deinen Rabatt, und max ist die aktuell verfügbare Menge (sie richtet sich nach unserem Kontobestand). Ein als nicht verfügbar markierter Dienst wird von RegisterOrder abgelehnt, bis er wieder verfügbar ist; dieselbe Information steht im Feld active von ServicesList.
ID
Dienst
Typ
Preis pro Einheit
Min. / Max.
Status
199825
Steam Like SharedFiles/Screenshots/Guides/Workshop
link: URL des Screenshots, Artworks, Guides oder Workshop-Items: steamcommunity.com/sharedfiles/filedetails/?id=... (oder /workshop/filedetails/?id=...).
link: URL des Screenshots, Artworks, Guides oder Workshop-Items: steamcommunity.com/sharedfiles/filedetails/?id=... (oder /workshop/filedetails/?id=...).
Default
$ 0.0152
1 / 4797
Aktiv
199827
Steam Group Members
link: URL der öffentlichen Gruppe: steamcommunity.com/groups/deinegruppe. Die Gruppe muss öffentlich sein.
Default
$ 0.02
1 / 5467
Aktiv
199828
Steam Workshop Followers
link: SteamID64 des Workshop-Autors (17 Ziffern, z. B. 76561198307708414) oder steamcommunity.com/profiles/SteamID64. Vanity-URLs (/id/name) werden nicht akzeptiert.
link: Rezensions-URL: steamcommunity.com/id/user/recommended/appid/ oder steamcommunity.com/profiles/SteamID64/recommended/appid/. Die Stimmen sind immer "hilfreich" (Rate Up).
Default
$ 0.012
1 / 4797
Aktiv
199831
Steam Trade Boost (trade offers, 1 gem each)
link: Steam-Handels-URL des empfangenden Kontos: steamcommunity.com/tradeoffer/new/?partner=...&token=... Das Inventar muss öffentlich sein; jede Einheit ist ein Handelsangebot mit 1 Edelstein.
Default
$ 0.0022
1 / 1000
Aktiv
199832
Steam Profile Comments (ready-made packages)
link: SteamID64 des Profils (17 Ziffern) oder steamcommunity.com/profiles/SteamID64. Das Profil muss Kommentare erlauben. Die Kommentare stammen aus unseren vorgefertigten Paketen (Pflichtparameter package).
link: URL des Screenshots, Artworks oder Workshop-Items (steamcommunity.com/sharedfiles/filedetails/?id=...). Die Kommentare stammen aus unseren vorgefertigten Paketen (Pflichtparameter package).
Optionale Parameter: package
Default
$ 0.0264
1 / 10000
Aktiv
199834
Steam Group Comments (ready-made packages)
link: URL der öffentlichen Gruppe: steamcommunity.com/groups/deinegruppe. Die Kommentare stammen aus unseren vorgefertigten Paketen (Pflichtparameter package).
Optionale Parameter: package
Default
$ 0.0264
1 / 10000
Aktiv
199835
Steam Profile Comments (your own comments)
link: SteamID64 des Profils oder steamcommunity.com/profiles/SteamID64, dazu deine eigenen Kommentare im Parameter comments (einer pro Zeile). Optionaler Parameter delay.
Steam Screenshot/Artwork/Workshop Comments (your own comments)
link: URL des Screenshots, Artworks oder Workshop-Items, dazu deine eigenen Kommentare im Parameter comments (einer pro Zeile). Optionaler Parameter delay.
Bei den Diensten mit vorgefertigten Kommentaren ist der Parameter package Pflicht. Er akzeptiert cat:<category>[:<language>] (freigegebene Kommentare unserer Bibliothek in einer Kategorie; ohne Sprache Englisch plus Kommentare ohne Wörter) und lib:<id> (ein offizielles oder veröffentlichtes Bibliothekspaket oder eines Ihrer eigenen Pakete; bis zu 10 pro Bestellung). Mehrere Werte durch Kommas trennen: Die Bestellung nutzt bis zu quantity verschiedene Kommentare daraus, zufällig und ohne Wiederholung (einer pro Kommentar), und braucht mindestens 5 Kommentare.
Sprachcodes: en, pt, es, ru, tr, de, pl, zh, ja, fr, it, ko, uk, ar, th, vi, id, ms, tl, hi, he, cs, sk, nl, hu, ro, sv, da, fi, no, el, bg, sr, none, other (none = Kommentare ohne Wörter, z. B. Emoji).
Deine eigenen Kommentare (Parameter comments): ein Kommentar pro Zeile, bis zu 500 Zeilen mit je 1000 Zeichen. Leere Zeilen werden ignoriert. Sende ihn im Formular-Body, nicht in der URL.
Die Dienste mit eigenen Kommentaren akzeptieren genau eine Quelle: comments (ein Kommentar pro Zeile, wie oben), comments_json (nur im Formular-Body: ein JSON-Array aus Strings, ein Kommentar pro Element; Zeilenumbrüche und Einrückung bleiben erhalten; bis zu 999 Bytes und 30 Zeilen pro Kommentar, und quantity darf höchstens das 25-Fache der Anzahl verschiedener Kommentare sein) oder package=lib:<id> (Ihre privaten Bibliothekspakete, durch Kommas getrennt).
Jeder eigene Kommentar wird geprüft, bevor die Bestellung angelegt wird. Abgelehnt wird nur Betrug: Handels- oder Vertrauensreputation, Links, Kontaktdaten außerhalb von Steam, Ausgeben als Valve- oder Steam-Support, falsche Gewinnspiele oder Werbung, echte persönliche Daten und sexuelle Inhalte mit Minderjährigen. Witze, Fluchen, toxische oder Erwachseneninhalte sind erlaubt. Wird ein Kommentar nicht freigegeben, wird die Bestellung abgelehnt und nichts abgebucht; senden Sie allow_partial=1, um nur mit den freigegebenen fortzufahren (gleicher Preis). Eine comments_json-Liste mit mehr verschiedenen Kommentaren als quantity wird auf eine Zufallsauswahl gekürzt (truncatedComments).
Parameter delay (nur bei eigenen Kommentaren): Abstand zwischen zwei Kommentaren. Akzeptierte Werte: 10 Seconds, 7 Minutes, 15 Minutes, 30 Minutes, 1 Hour, 3 Hours, 6 Hours. Standard: 10 Seconds. Der Preis pro Kommentar ist der des gewählten Abstands; der rate in der Tabelle ist der Preis für 10 Seconds.
Endpunkte
GET/ServicesList
Liste aller Dienste mit ID, Preis pro Einheit, Limits und Hinweisen, wie der Link auszufüllen ist. Keine Authentifizierung erforderlich.
Erstellt eine Bestellung und bucht sofort von deinem Guthaben ab (quantity × rate). Der Link wird vor der Abbuchung geprüft; die Bestellung wird abgelehnt, ohne dass etwas abgebucht wird, wenn der Dienst nicht verfügbar ist, die Menge außerhalb des Bereichs liegt, der Link nicht zum Dienst passt oder das Guthaben nicht ausreicht.
Anfrageparameter
Parameter
Typ
Beschreibung
key
string
Der API-Schlüssel zur Authentifizierung.
serviceId
integer
Die ID des Dienstes.
link
string
Ziel der Bestellung: URL, SteamID64 oder Handels-URL, je nach Dienst (siehe Tabelle Dienste).
quantity
integer
Zu liefernde Einheiten, zwischen min und max des Dienstes.
comments
string
Nur bei Diensten mit eigenen Kommentaren: deine Kommentare, einer pro Zeile.
comments_json
string
Nur bei den Diensten mit eigenen Kommentaren und nur im Formular-Body: JSON-Array aus Strings, ein Kommentar pro Element (Zeilenumbrüche erlaubt). Statt comments verwenden.
package
string
Nur bei Kommentar-Diensten. Pflicht bei den Diensten mit vorgefertigten Kommentaren; mehrere Werte durch Kommas getrennt. Akzeptiert cat:<category>[:<language>] und lib:<id> (bis zu 10 lib:<id> pro Bestellung). Bei Diensten mit eigenen Kommentaren: lib:<id> Ihrer privaten Pakete.
delay
string
Nur bei Diensten mit eigenen Kommentaren: Abstand zwischen den Kommentaren; der Preis pro Kommentar ist der dieses Abstands. Optional, Standard 10 Seconds.
allow_partial
string
Nur bei den Diensten mit eigenen Kommentaren: 1 = mit den freigegebenen Kommentaren fortfahren, wenn einige nicht freigegeben werden (gleicher Preis). Optional.
Beispielanfrage
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
-d "serviceId=199825" \
-d "link=https://steamcommunity.com/sharedfiles/filedetails/?id=123456789" \
-d "quantity=100" \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# custom comments (199835): one comment per line, URL-encoded line breaks (%0A) in the form body
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199835" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode "delay=7 Minutes" \
--data-urlencode $'comments=Nice profile!\nGreat games.\n+rep' \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# comments_json (199835-199837, form body only): one comment per item, line breaks kept
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199835" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode 'comments_json=["Nice profile!","GG WP\nsee you next match"]' \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# library (199832-199834, package required): categories and/or packages, comma separated
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199832" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode "package=cat:praise:en,cat:emoji,lib:12" \
"https://cappiservices.com/api/Reseller/RegisterOrder"
Nur bei Bestellungen mit eigenen Kommentaren: wie viele Kommentare Ihrer Liste freigegeben, abgelehnt, zur manuellen Prüfung geschickt, nicht geprüft (später erneut versuchen) und durch die Kürzung auf quantity weggelassen wurden.
rejectedIndexes rejectedReasons
integer[] string[]
Nur bei Bestellungen mit eigenen Kommentaren: Positionen (ab 0) der abgelehnten Kommentare in Ihrer Liste und der Grund für jeden (format, link, contact oder policy).
GET/OrderStatus
Status und Lieferzahlen einer deiner Bestellungen.
{
"status": "Complete",
"charge": 1.52,
"walletReturn": 0.0304,
"mode": "Like_SharedFile",
"sucess": 98,
"success": 98,
"failed": 2,
"quantity": 100,
"remains": 2,
"observation": "Info - Your order was finalized due to a lack of accounts in the database...",
"currency": "USD",
"date": "2026-11-01T14:03:27.1234567Z"
}
Antwortparameter
Parameter
Typ
Beschreibung
status
string
Bestellstatus: EnviarParaBackEnd (bezahlt, wartet auf Versand), NaFila (in der Warteschlange), Processing (wird geliefert) oder Complete (abgeschlossen: vollständig geliefert, teilweise geliefert, fehlgeschlagen oder storniert).
charge
decimal
Beim Erstellen der Bestellung von deinem Guthaben abgebuchter Betrag (USD).
walletReturn
decimal
Für die nicht lieferbaren Einheiten auf dein Guthaben zurückerstatteter Betrag (USD). 0, bis die Bestellung Complete ist.
mode
string
Interner Dienstname (MODE).
success
integer
Gelieferte Einheiten.
sucess
integer
Gleicher Wert wie success. Aus Kompatibilitätsgründen beibehalten (veraltete Schreibweise).
failed
integer
Nicht gelieferte Einheiten (endgültig erst, wenn der Status Complete ist).
quantity
integer
Bestellte Einheiten.
remains
integer
Noch zu liefernde Einheiten.
observation
string
Nachricht zum Ergebnis (ungültiger Link, keine Konten mehr verfügbar, storniert ...). Leer, wenn alles geliefert wurde.
currency
string
Die Währung der berechneten Beträge.
date
string
Erstellungsdatum und -uhrzeit (UTC).
Bestellablauf und Rückerstattungen
Das Guthaben wird beim Erstellen der Bestellung abgebucht. Bestellungen durchlaufen EnviarParaBackEnd, NaFila, Processing und Complete. Complete ist der einzige Endstatus: Vergleiche quantity, success und failed, um zu erkennen, ob die Bestellung vollständig oder teilweise geliefert wurde. Nicht lieferbare Einheiten werden beim Abschluss der Bestellung automatisch auf das Guthaben zurückerstattet (walletReturn), und observation erklärt den Grund. Bestellungen können nicht über die API storniert werden; nutze dafür das Kundenpanel, solange die Bestellung Processing ist.
Fehlermeldungen
Alle Fehler verwenden HTTP 400 und das Feld error. Die häufigsten:
{ "error": "Invalid ApiKey." }
error
Beschreibung
Invalid parameters
Fehlender oder ungültiger key, serviceId, link oder quantity.
Invalid ApiKey.
Der Schlüssel gehört zu keinem Konto (prüfe das URL-Encoding bei älteren Schlüsseln).
Your account has been disabled, please contact support. Before accessing the panel you need to confirm your email.
Konto deaktiviert oder E-Mail-Adresse noch nicht bestätigt.
Service:{id} Not Found
Unbekannte serviceId.
Service temporarily unavailable.
Dienst derzeit abgeschaltet oder nicht vorrätig (siehe active in ServicesList).
Quantity must be between 1 and {max}.
Menge außerhalb von min/max des Dienstes.
Invalid URL Link Invalid Parameters: Only the user's SteamID64 must be entered, not a URL
Der Link entspricht nicht dem Format, das der Dienst erwartet.
Insufficient Funds!!
Guthaben niedriger als quantity × rate. Es wurde nichts abgebucht.
Unknown comments package "..." Unknown comments category "..." Some comments were not approved ... Comment review limit reached, try again later
Kommentare: unbekanntes Paket oder unbekannte Kategorie, zu kleine Auswahl, nicht freigegebene Kommentare oder Prüfung vorübergehend nicht verfügbar. Es wird nichts abgebucht.
Order not found. Access denied.
Die Bestellung existiert nicht oder gehört zu einem anderen Konto.
Too many requests... (HTTP 429)
Limit: 120 Anfragen alle 1 Minute(n) pro IP-Adresse. Darüber antwortet die API mit HTTP 429 und einem Retry-After-Header.