https://www.falcongrow.com/api/v2JSON o application/x-www-form-urlencodedToda solicitud autenticada debe incluir el parámetro key con tu API key. Puedes obtenerla desde Dashboard → Configuración → API Key.
curl -X POST https://www.falcongrow.com/api/v2 \
-H "Content-Type: application/json" \
-d '{"key": "TU_API_KEY", "action": "balance"}'Nunca compartas tu API key públicamente. Si se compromete, puedes regenerarla desde el dashboard — esto invalidará la key anterior.
Lista todos los servicios disponibles. No requiere API key.
# POST
curl -X POST https://www.falcongrow.com/api/v2 \
-H "Content-Type: application/json" \
-d '{"action": "services"}'
# o GET
curl "https://www.falcongrow.com/api/v2?action=services"Respuesta
[
{
"service": 42,
"name": "Instagram — Seguidores Mundiales",
"type": "Followers",
"category": "Instagram",
"rate": "1.20", // precio por 1.000 unidades (USD)
"min": 100,
"max": 50000,
"dripfeed": false,
"refill": true,
"cancel": false
},
...
]Devuelve el saldo disponible en tu cuenta.
curl -X POST https://www.falcongrow.com/api/v2 \
-H "Content-Type: application/json" \
-d '{"key": "TU_API_KEY", "action": "balance"}'Respuesta
{
"balance": "48.530000",
"currency": "USD"
}Crea un nuevo pedido. El saldo se debita automáticamente.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
key | string | requerido | Tu API key |
service | integer | requerido | ID del servicio (ver action=services) |
link | string | requerido | URL del perfil/video/post objetivo |
quantity | integer | requerido | Cantidad (entre min y max del servicio) |
runs | integer | opcional | Dripfeed: número de tandas (si el servicio lo soporta) |
interval | integer | opcional | Dripfeed: minutos entre tandas |
curl -X POST https://www.falcongrow.com/api/v2 \
-H "Content-Type: application/json" \
-d '{
"key": "TU_API_KEY",
"action": "add",
"service": 42,
"link": "https://www.instagram.com/tunombre/",
"quantity": 1000
}'Respuesta
{ "order": 7391 }Consulta el estado de uno o varios pedidos. Para múltiples pedidos, pasa los IDs separados por coma (máx. 100).
# Pedido único
curl -X POST https://www.falcongrow.com/api/v2 \
-H "Content-Type: application/json" \
-d '{"key": "TU_API_KEY", "action": "status", "orders": "7391"}'
# Consulta masiva
curl -X POST https://www.falcongrow.com/api/v2 \
-H "Content-Type: application/json" \
-d '{"key": "TU_API_KEY", "action": "status", "orders": "7391,7392,7393"}'Respuesta — pedido único
{
"charge": "1.200000",
"start_count": 4820,
"status": "In progress",
"remains": 643,
"currency": "USD"
}Respuesta — múltiples pedidos
{
"7391": { "charge": "1.20", "start_count": 4820, "status": "Completed", "remains": 0, "currency": "USD" },
"7392": { "charge": "0.60", "start_count": 1200, "status": "In progress","remains": 300, "currency": "USD" },
"7393": { "error": "Incorrect order ID." }
}Estados posibles
Pending
En cola o esperando
In progress
Enviado al proveedor
Completed
Finalizado correctamente
Partial
Parcialmente completado
Canceled
Cancelado
Failed
Error técnico en el proveedor
Solicita un relleno para un pedido completado. Solo disponible si el servicio tiene refill: true.
curl -X POST https://www.falcongrow.com/api/v2 \
-H "Content-Type: application/json" \
-d '{"key": "TU_API_KEY", "action": "refill", "order": 7391}'Respuesta
{ "refill": 9910 }Todos los errores devuelven un objeto JSON con la clave error.
{ "error": "Descripción del error." }| HTTP | Causa |
|---|---|
| 400 | Parámetros inválidos o faltantes |
| 401 | API key inválida o sin permisos |
| 404 | Recurso no encontrado (orden, servicio) |
| 429 | Rate limit excedido (120 req/min) |
| 500 | Error interno del servidor |
Clase PHP lista para usar. Reemplaza api_url con https://www.falcongrow.com/api/v2 y asigna tu API key.
<?php
class Api
{
public $api_url = 'https://www.falcongrow.com/api/v2';
public $api_key = ''; // Tu API key aquí
/** Crear pedido */
public function order($data)
{
$post = array_merge(['key' => $this->api_key, 'action' => 'add'], $data);
return json_decode((string)$this->connect($post));
}
/** Estado de un pedido */
public function status($order_id)
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'status',
'order' => $order_id
]));
}
/** Estado de múltiples pedidos */
public function multiStatus($order_ids)
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'status',
'orders' => implode(",", (array)$order_ids)
]));
}
/** Listar servicios */
public function services()
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'services',
]));
}
/** Refill de un pedido */
public function refill(int $orderId)
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'refill',
'order' => $orderId,
]));
}
/** Refill de múltiples pedidos */
public function multiRefill(array $orderIds)
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'refill',
'orders' => implode(',', $orderIds),
]), true);
}
/** Estado de refill */
public function refillStatus(int $refillId)
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'refill_status',
'refill' => $refillId,
]));
}
/** Cancelar pedidos */
public function cancel(array $orderIds)
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'cancel',
'orders' => implode(',', $orderIds),
]), true);
}
/** Consultar saldo */
public function balance()
{
return json_decode($this->connect([
'key' => $this->api_key,
'action' => 'balance',
]));
}
private function connect($post)
{
$_post = [];
if (is_array($post)) {
foreach ($post as $name => $value) {
$_post[] = $name . '=' . urlencode($value);
}
}
$ch = curl_init($this->api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if (is_array($post)) {
curl_setopt($ch, CURLOPT_POSTFIELDS, join('&', $_post));
}
$result = curl_exec($ch);
if (curl_errno($ch) != 0 && empty($result)) {
$result = false;
}
curl_close($ch);
return $result;
}
}Uso
$api = new Api();
// Listar servicios
$services = $api->services();
// Consultar saldo
$balance = $api->balance();
// Crear pedido
$order = $api->order([
'service' => 1,
'link' => 'https://instagram.com/ejemplo',
'quantity' => 1000
]);
// Pedido con dripfeed
$order = $api->order([
'service' => 1,
'link' => 'https://instagram.com/ejemplo',
'quantity' => 1000,
'runs' => 10,
'interval' => 60
]);
// Consultar estado
$status = $api->status($order->order);
// Consulta masiva
$statuses = $api->multiStatus([1, 2, 3]);
// Refill
$refill = $api->refill($order->order);
// Cancelar
$cancel = $api->cancel([1, 2]);¿Listo para integrar? Obtén tu API key desde el dashboard.
Ir al Dashboard