API-Schlüssel
Melden Sie sich an, um Ihren API-Schlüssel zu erhalten.
Zur Aktivierung der Reseller-API schreiben Sie an den Support. Ihr Guthaben muss mindestens 100 Dollar betragen.
URL
https://mrpopular.net/api/v3.php
Anfrage
POST / GET / JSON
Antwort
JSON
Autorisierung
username
password
key = API-Schlüssel von der Dokumentationsseite im Konto (statt username und password)
Guthaben abrufen
action = balance
{"balance":123.456}
Bestellstatus
action = status
order = (Order id)
{"order":{"status":"2","completed":"0","quantity":"250","date":"2018-09-27 17:34:49"}}
order = 142058,142059 (mehrere Nummern durch Komma getrennt, bis zu 100 pro Anfrage; die Antwort listet jede Nummer im Feld orders)
{"orders":{"142058":{"status":"2","completed":"250","quantity":"250","date":"2026-10-01 12:00:00"},"142059":{"error":"wrong ORDER"}}}
Bestellung stornieren
action = cancel
order = Bestellnummer
{"cancel":{"order":142058,"cancelled":true,"delivered":40,"refund":12.5,"currency":"RUB"}}
Für einen Teil der Dienste verfügbar (in v3 fast alle), solange die Bestellung läuft: der nicht gelieferte Teil wird erstattet. Ist die Stornierung für den Dienst nicht verfügbar, lautet die Antwort errorcode 13; abgeschlossene oder noch nicht gestartete Bestellungen: errorcode 14.
Nachfüllung (Refill)
action = refill
order = Bestellnummer
{"refill":{"order":142058,"status":"requested","message":"refill requested"}}
Nur Dienste mit Refill, wie der Button in der Bestellhistorie. status: requested gestartet, in_progress läuft bereits, wait_24h einmal täglich, expired Frist abgelaufen, queued in der Warteschlange des Operators. Ohne Refill: errorcode 16.
Zusatzfeld des Dienstes
action = options
service = Dienst-ID
{"service_id":6671,"option_type":"rating","option_label":"...","comment_label":"...","options":{"201":"5","202":"4-5"}}
option_type: none (kein Feld), text (freier Text in option), select, geo, rating, topic (in option kommt eine id aus options; bei topic bedeutet 0 das eigene Thema als Text in comment). Dieselben option_type, option_label und comment_label liefert action=service.
Ausfuehrungen der Bestellung (Screenshots)
action = executions
order = (Order id)
offset = (optional, default 0)
limit = (optional, default 100, max 500)
{"total":3,"count":1,"offset":0,"executions":[{"executor":"ID972036","date":"2026-06-25 20:32:40","screenshots":["https://mrpopular.net/etask/includes/img/...jpg"],"links":[]}]}
Nur fuer Bestellungen, die von echten Ausfuehrenden erledigt wurden. "links" enthaelt die Links aus den Berichten der Ausfuehrenden (Backlink-Aufgaben).
Diensteliste
action = service
{"service":{"1":{"social_network":"Facebook","service":"page likes","quality":"medium quality","id":"1","price":0.0149,"currency":"USD","min":"100","max":"900000","start":"30 min.","speed":"100/day","description":"HQ never drop"},...}}
Bestellstatus-Codes
0 : Pending / Processing
1 : Processing
2 : Completed
3 : Error
4 : In queue
5 : Returned
Neue Bestellung
action = order
service = (Service ID)
quantity
option = Zusatzfeld des Dienstes: eine id aus action=options (Kommentarthema, Bewertung der Rezension, Geo, Umfrageoption) oder freier Text (Benutzername des Kommentarautors, Suchanfrage); Typ und Beschriftung des Feldes stehen in option_type und option_label
comment = Kommentar- oder Rezensionstexte (einer pro Zeile), oder das Briefing für eine KI-Rezension, oder das eigene Thema für Themenkommentare (mit option=0); comment_label sagt, was das Feld erwartet
link
lang = Sprache des Ausführenden für einen Teil der Dienste: any, ru oder en (Standard: beliebig)
gender = Geschlecht des Rezensionsautors für einen Teil der Dienste: any, m, f (Standard: beliebig)
day_limit = maximale Ausführungen pro Tag für einen Teil der Dienste, 0 = ohne Limit
{"order":"142058"}
Fehler
{"errorcode":0} API is not activated
{"errorcode":1} USERNAME or PASSWORD is empty
{"errorcode":2} ACTION is empty
{"errorcode":4} ORDER is empty
{"errorcode":5} wrong ORDER
{"errorcode":6} SERVICE is empty
{"errorcode":7} QUANTITY is empty
{"errorcode":8} LINK is empty
{"errorcode":9} Not enough funds on balance
{"errorcode":10} Quantity less than minimum
PHP-Codebeispiel
class Api
{
public $api_url = 'https://mrpopular.net/api/v3.php';
public $username = ''; // your username
public $password = ''; // your password
public function order($data) {
return json_decode($this->connect(array_merge(array(
'username' => $this->username,
'password' => $this->password,
'action' => 'order'
), $data)));
}
public function status($order) {
return json_decode($this->connect(array(
'username' => $this->username, 'password' => $this->password,
'action' => 'status', 'order' => $order)));
}
public function executions($order, $offset = 0, $limit = 100) {
return json_decode($this->connect(array(
'username' => $this->username, 'password' => $this->password,
'action' => 'executions', 'order' => $order,
'offset' => $offset, 'limit' => $limit)));
}
public function service() {
return json_decode($this->connect(array(
'username' => $this->username, 'password' => $this->password,
'action' => 'service')));
}
public function balance() {
return json_decode($this->connect(array(
'username' => $this->username, 'password' => $this->password,
'action' => 'balance')));
}
function connect($post) {
$ch = curl_init($this->api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$result = curl_exec($ch);
return $result === false ? false : $result;
}
}
$api = new Api();
// $balance = $api->balance();
// $order = $api->order(array('service' => 462, 'quantity' => 100, 'link' => 'https://...'));
// $status = $api->status(142058);
// $shots = $api->executions(142058);
// $services = $api->service();