API
زبانوں کی فہرست حاصل کرنا
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | ارے | دستیاب زبانوں کا ارے۔ |
| └ lang_id | نمبر | منفرد زبان شناخت کنندہ۔ |
| └ name | سٹرنگ | انگریزی میں زبان کا نام۔ |
| └ iso_code | سٹرنگ | ISO زبان کوڈ (مثلاً، انگریزی کے لیے "EN"، اردو کے لیے "UR")۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/filters/languages');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = ['api_key' => 'YOUR_API_KEY'];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}
ممالک کی فہرست حاصل کرنا
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | ارے | دستیاب ممالک کا ارے۔ |
| └ country_id | نمبر | منفرد ملک شناخت کنندہ۔ |
| └ name | سٹرنگ | انگریزی میں ملک کا نام۔ |
| └ iso_code | سٹرنگ | ISO 3166-1 alpha-2 ملک کوڈ (مثلاً، پاکستان کے لیے "PK")۔ |
| └ iso_code_3 | سٹرنگ | ISO 3166-1 alpha-3 ملک کوڈ (مثلاً، پاکستان کے لیے "PAK")۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/filters/countries');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = ['api_key' => 'YOUR_API_KEY'];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}
براؤزرز کی فہرست حاصل کرنا
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | ارے | دستیاب براؤزرز کا ارے۔ |
| └ browser_id | نمبر | منفرد براؤزر شناخت کنندہ۔ |
| └ name | سٹرنگ | براؤزر کا نام۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/filters/browsers');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = ['api_key' => 'YOUR_API_KEY'];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}
ڈیوائسز کی فہرست حاصل کرنا
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | ارے | دستیاب ڈیوائس اقسام کا ارے۔ |
| └ device_id | نمبر | منفرد ڈیوائس قسم شناخت کنندہ۔ |
| └ name | سٹرنگ | ڈیوائس قسم کا ڈسپلے نام۔ |
| └ value | سٹرنگ | API درخواستوں کے لیے ڈیوائس قسم کی قدر۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/filters/devices');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = ['api_key' => 'YOUR_API_KEY'];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}
آپریٹنگ سسٹمز کی فہرست حاصل کرنا
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | ارے | دستیاب آپریٹنگ سسٹمز کا ارے۔ |
| └ os_id | نمبر | منفرد آپریٹنگ سسٹم شناخت کنندہ۔ |
| └ name | سٹرنگ | آپریٹنگ سسٹم کا ڈسپلے نام۔ |
| └ value | سٹرنگ | API درخواستوں کے لیے آپریٹنگ سسٹم کی قدر۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/filters/operating_systems');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = ['api_key' => 'YOUR_API_KEY'];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}
اشتہاری نیٹ ورکس کی فہرست حاصل کرنا
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | ارے | دستیاب اشتہاری نیٹ ورکس کا ارے۔ |
| └ network_id | نمبر | منفرد اشتہاری نیٹ ورک شناخت کنندہ۔ |
| └ name | سٹرنگ | اشتہاری نیٹ ورک کا ڈسپلے نام۔ |
| └ value | سٹرنگ | API درخواستوں کے لیے اشتہاری نیٹ ورک کی قدر۔ |
| └ logo | سٹرنگ | اشتہاری نیٹ ورک لوگو URL۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/filters/advertising_networks');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = ['api_key' => 'YOUR_API_KEY'];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}
Push اشتہارات تلاش کریں
مختلف فلٹرز کے ساتھ push اشتہارات تلاش کریں۔
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| limit | نمبر | نہیں | فی صفحہ آئٹمز کی تعداد (10-100)۔ ڈیفالٹ: 10۔ |
| offset | نمبر | نہیں | چھوڑنے والے آئٹمز کی تعداد۔ پیجینیشن کے لیے استعمال ہوتا ہے۔ ڈیفالٹ: 0۔ |
| keyword | سٹرنگ | نہیں | عنوان یا تفصیل سے اشتہارات فلٹر کرنے کے لیے تلاش کا کلیدی لفظ۔ |
| countries | ارے | نہیں | ISO-2 ملک کوڈز کا ارے (مثلاً، ["US", "GB", "DE"])۔ |
| country_ids | ارے | نہیں | /api/filters/countries اینڈپوائنٹ سے ملک IDs کا ارے۔ countries پر ترجیح۔ |
| languages | ارے | نہیں | ISO زبان کوڈز کا ارے (مثلاً، ["EN", "UR", "DE"])۔ |
| lang_ids | ارے | نہیں | /api/filters/languages اینڈپوائنٹ سے زبان IDs کا ارے۔ languages پر ترجیح۔ |
| advertising_networks | ارے | نہیں | اشتہاری نیٹ ورک ناموں کا ارے۔ |
| network_ids | ارے | نہیں | /api/filters/advertising-networks اینڈپوائنٹ سے نیٹ ورک IDs کا ارے۔ advertising_networks پر ترجیح۔ |
| browsers | ارے | نہیں | براؤزر ناموں کا ارے۔ |
| browser_ids | ارے | نہیں | /api/filters/browsers اینڈپوائنٹ سے براؤزر IDs کا ارے۔ browsers پر ترجیح۔ |
| operating_systems | ارے | نہیں | آپریٹنگ سسٹم ویلیوز کا ارے (مثلاً، ["windows", "macos", "android"])۔ |
| devices | ارے | نہیں | ڈیوائس اقسام کا ارے (مثلاً، ["desktop", "mobile", "tablet"])۔ |
| date_from | سٹرنگ | نہیں | فلٹرنگ کے لیے شروع کی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-01-01")۔ |
| date_to | سٹرنگ | نہیں | فلٹرنگ کے لیے اختتامی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-12-31")۔ |
| sort_by | سٹرنگ | نہیں | ترتیب فیلڈ: creation، activity، popularity۔ |
| sort_order | سٹرنگ | نہیں | ترتیب کی سمت: asc یا desc۔ |
| only_adult | Boolean | نہیں | صرف بالغ مواد فلٹر کریں۔ بولین (true/false)۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | Object | درخواست سے مماثل فلو ڈیٹا کا ارے۔ |
| └ format | سٹرنگ | اشتہار فارمیٹ (push، inpage، facebook، tiktok)۔ |
| └ items | ارے | اشتہار آبجیکٹس کا ارے۔ |
| └ id | نمبر | منفرد اشتہار شناخت کنندہ۔ |
| └ title | سٹرنگ | اشتہار عنوان متن۔ |
| └ description | سٹرنگ | اشتہار تفصیل متن۔ |
| └ category | سٹرنگ | اشتہار فارمیٹ/کیٹگری (push، inpage، facebook، tiktok)۔ |
| └ country | Object | ملک معلومات آبجیکٹ (code، name، iso_code_3)۔ |
| └ code | سٹرنگ | ISO 3166-1 alpha-2 ملک کوڈ (مثلاً، پاکستان کے لیے "PK")۔ |
| └ name | سٹرنگ | انگریزی میں ملک کا نام۔ |
| └ iso_code_3 | سٹرنگ | ISO 3166-1 alpha-3 ملک کوڈ (مثلاً، پاکستان کے لیے "PAK")۔ |
| └ file_size | سٹرنگ | فارمیٹ شدہ کل فائل سائز۔ |
| └ icon_url | سٹرنگ | اشتہار آئیکن تصویر URL۔ |
| └ landing_url | سٹرنگ | لینڈنگ پیج URL۔ |
| └ created_at | سٹرنگ | اشتہار تخلیق کی تاریخ (Y-m-d فارمیٹ)۔ |
| └ advertising_networks | ارے | اشتہاری نیٹ ورک ناموں کا ارے۔ |
| └ languages | ارے | ISO زبان کوڈز کا ارے۔ |
| └ operating_systems | ارے | آپریٹنگ سسٹم ویلیوز کا ارے۔ |
| └ browsers | ارے | براؤزر ناموں کا ارے۔ |
| └ devices | ارے | ڈیوائس اقسام کا ارے۔ |
| └ main_image_url | سٹرنگ | اشتہار مین تصویر URL۔ |
| └ is_adult | Boolean | اشتہار میں بالغ مواد ہے یا نہیں۔ |
| └ is_active | Boolean | اشتہار فی الحال فعال ہے یا نہیں۔ |
| └ pagination | Object | پیجینیشن معلومات آبجیکٹ۔ |
| └ total | نمبر | فلٹرز سے مماثل اشتہارات کی کل تعداد۔ |
| └ limit | نمبر | فی صفحہ آئٹمز کی تعداد۔ |
| └ offset | نمبر | موجودہ آفسیٹ۔ |
| └ has_more | Boolean | مزید آئٹمز دستیاب ہیں یا نہیں۔ |
| └ returned_count | نمبر | اس جواب میں واپس کیے گئے آئٹمز کی تعداد۔ |
| └ filters_applied | Object | لاگو شدہ فلٹرز پر مشتمل آبجیکٹ۔ |
| └ timestamp | سٹرنگ | ISO 8601 فارمیٹ میں جواب ٹائم اسٹیمپ۔ |
<?php
function searchPushCreatives($params = [])
{
$ch = curl_init('https://spy.house/api/search/push');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
return null;
}
// Example 1: Basic search with API key
$params = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
];
$result = searchPushCreatives($params);
if ($result && $result['status'] === 'success') {
foreach ($result['data']['items'] as $creative) {
echo "ID: " . $creative['id'] . " - " . $creative['title'] . "\n";
}
echo "Total: " . $result['data']['pagination']['total'] . "\n";
}
// Example 2: Search with ISO codes/names filters
$paramsWithFilters = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US', 'GB', 'DE'], // ISO-2 codes
'languages' => ['EN'], // ISO codes
'browsers' => ['Chrome', 'Firefox'], // Browser names
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$filteredResult = searchPushCreatives($paramsWithFilters);
// Example 3: Search with ID-based filters (recommended)
// Use IDs from /api/filters/* endpoints for better performance
$paramsWithIds = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'country_ids' => [1, 2, 3], // IDs from /api/filters/countries
'lang_ids' => [1], // IDs from /api/filters/languages
'network_ids' => [5, 10], // IDs from /api/filters/advertising-networks
'browser_ids' => [1, 2], // IDs from /api/filters/browsers
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$resultWithIds = searchPushCreatives($paramsWithIds);
// Note: ID-based filters take precedence over name-based filters
// If both country_ids and countries are provided, country_ids will be used
Inpage اشتہارات تلاش کریں
مختلف فلٹرز کے ساتھ inpage اشتہارات تلاش کریں۔
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| limit | نمبر | نہیں | فی صفحہ آئٹمز کی تعداد (10-100)۔ ڈیفالٹ: 10۔ |
| offset | نمبر | نہیں | چھوڑنے والے آئٹمز کی تعداد۔ پیجینیشن کے لیے استعمال ہوتا ہے۔ ڈیفالٹ: 0۔ |
| keyword | سٹرنگ | نہیں | عنوان یا تفصیل سے اشتہارات فلٹر کرنے کے لیے تلاش کا کلیدی لفظ۔ |
| countries | ارے | نہیں | ISO-2 ملک کوڈز کا ارے (مثلاً، ["US", "GB", "DE"])۔ |
| country_ids | ارے | نہیں | /api/filters/countries اینڈپوائنٹ سے ملک IDs کا ارے۔ countries پر ترجیح۔ |
| languages | ارے | نہیں | ISO زبان کوڈز کا ارے (مثلاً، ["EN", "UR", "DE"])۔ |
| lang_ids | ارے | نہیں | /api/filters/languages اینڈپوائنٹ سے زبان IDs کا ارے۔ languages پر ترجیح۔ |
| advertising_networks | ارے | نہیں | اشتہاری نیٹ ورک ناموں کا ارے۔ |
| network_ids | ارے | نہیں | /api/filters/advertising-networks اینڈپوائنٹ سے نیٹ ورک IDs کا ارے۔ advertising_networks پر ترجیح۔ |
| browsers | ارے | نہیں | براؤزر ناموں کا ارے۔ |
| browser_ids | ارے | نہیں | /api/filters/browsers اینڈپوائنٹ سے براؤزر IDs کا ارے۔ browsers پر ترجیح۔ |
| operating_systems | ارے | نہیں | آپریٹنگ سسٹم ویلیوز کا ارے (مثلاً، ["windows", "macos", "android"])۔ |
| devices | ارے | نہیں | ڈیوائس اقسام کا ارے (مثلاً، ["desktop", "mobile", "tablet"])۔ |
| date_from | سٹرنگ | نہیں | فلٹرنگ کے لیے شروع کی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-01-01")۔ |
| date_to | سٹرنگ | نہیں | فلٹرنگ کے لیے اختتامی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-12-31")۔ |
| sort_by | سٹرنگ | نہیں | ترتیب فیلڈ: creation، activity، popularity۔ |
| sort_order | سٹرنگ | نہیں | ترتیب کی سمت: asc یا desc۔ |
| only_adult | Boolean | نہیں | صرف بالغ مواد فلٹر کریں۔ بولین (true/false)۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | Object | درخواست سے مماثل فلو ڈیٹا کا ارے۔ |
| └ format | سٹرنگ | اشتہار فارمیٹ (push، inpage، facebook، tiktok)۔ |
| └ items | ارے | اشتہار آبجیکٹس کا ارے۔ |
| └ id | نمبر | منفرد اشتہار شناخت کنندہ۔ |
| └ title | سٹرنگ | اشتہار عنوان متن۔ |
| └ description | سٹرنگ | اشتہار تفصیل متن۔ |
| └ category | سٹرنگ | اشتہار فارمیٹ/کیٹگری (push، inpage، facebook، tiktok)۔ |
| └ country | Object | ملک معلومات آبجیکٹ (code، name، iso_code_3)۔ |
| └ code | سٹرنگ | ISO 3166-1 alpha-2 ملک کوڈ (مثلاً، پاکستان کے لیے "PK")۔ |
| └ name | سٹرنگ | انگریزی میں ملک کا نام۔ |
| └ iso_code_3 | سٹرنگ | ISO 3166-1 alpha-3 ملک کوڈ (مثلاً، پاکستان کے لیے "PAK")۔ |
| └ file_size | سٹرنگ | فارمیٹ شدہ کل فائل سائز۔ |
| └ icon_url | سٹرنگ | اشتہار آئیکن تصویر URL۔ |
| └ landing_url | سٹرنگ | لینڈنگ پیج URL۔ |
| └ created_at | سٹرنگ | اشتہار تخلیق کی تاریخ (Y-m-d فارمیٹ)۔ |
| └ advertising_networks | ارے | اشتہاری نیٹ ورک ناموں کا ارے۔ |
| └ languages | ارے | ISO زبان کوڈز کا ارے۔ |
| └ operating_systems | ارے | آپریٹنگ سسٹم ویلیوز کا ارے۔ |
| └ browsers | ارے | براؤزر ناموں کا ارے۔ |
| └ devices | ارے | ڈیوائس اقسام کا ارے۔ |
| └ main_image_url | سٹرنگ | اشتہار مین تصویر URL۔ |
| └ is_adult | Boolean | اشتہار میں بالغ مواد ہے یا نہیں۔ |
| └ is_active | Boolean | اشتہار فی الحال فعال ہے یا نہیں۔ |
| └ pagination | Object | پیجینیشن معلومات آبجیکٹ۔ |
| └ total | نمبر | فلٹرز سے مماثل اشتہارات کی کل تعداد۔ |
| └ limit | نمبر | فی صفحہ آئٹمز کی تعداد۔ |
| └ offset | نمبر | موجودہ آفسیٹ۔ |
| └ has_more | Boolean | مزید آئٹمز دستیاب ہیں یا نہیں۔ |
| └ returned_count | نمبر | اس جواب میں واپس کیے گئے آئٹمز کی تعداد۔ |
| └ filters_applied | Object | لاگو شدہ فلٹرز پر مشتمل آبجیکٹ۔ |
| └ timestamp | سٹرنگ | ISO 8601 فارمیٹ میں جواب ٹائم اسٹیمپ۔ |
<?php
function searchInpageCreatives($params = [])
{
$ch = curl_init('https://spy.house/api/search/inpage');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
return null;
}
// Example 1: Basic search with API key
$params = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
];
$result = searchInpageCreatives($params);
if ($result && $result['status'] === 'success') {
foreach ($result['data']['items'] as $creative) {
echo "ID: " . $creative['id'] . " - " . $creative['title'] . "\n";
}
echo "Total: " . $result['data']['pagination']['total'] . "\n";
}
// Example 2: Search with ISO codes/names filters
$paramsWithFilters = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US', 'GB', 'DE'], // ISO-2 codes
'languages' => ['EN'], // ISO codes
'browsers' => ['Chrome', 'Firefox'], // Browser names
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$filteredResult = searchInpageCreatives($paramsWithFilters);
// Example 3: Search with ID-based filters (recommended)
// Use IDs from /api/filters/* endpoints for better performance
$paramsWithIds = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'country_ids' => [1, 2, 3], // IDs from /api/filters/countries
'lang_ids' => [1], // IDs from /api/filters/languages
'network_ids' => [5, 10], // IDs from /api/filters/advertising-networks
'browser_ids' => [1, 2], // IDs from /api/filters/browsers
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$resultWithIds = searchInpageCreatives($paramsWithIds);
// Note: ID-based filters take precedence over name-based filters
// If both country_ids and countries are provided, country_ids will be used
Facebook اشتہارات تلاش کریں
مختلف فلٹرز کے ساتھ Facebook اشتہارات تلاش کریں۔ جب نتائج کم ہوں، API لائیو سرچ شروع کر سکتی ہے اور پولنگ کے لیے scrapingJob واپس کر سکتی ہے۔
اگر scrapingJob.needStartPolling true ہے، نئے آئٹمز حاصل کرنے کے لیے isPolling=true اور job_id کے ساتھ اسی اینڈپوائنٹ کو کال کریں۔ اگر سٹیٹس recently_completed یا rejected ہے، کوئی جاب نہیں بنایا جاتا اور پولنگ شروع نہیں کرنی چاہیے۔
لائیو سرچ صرف اس وقت شروع ہوتی ہے جب countries ارے میں بالکل ایک ملک متعین ہو۔
لائیو سرچ صرف اس وقت شروع ہوتی ہے جب غیر خالی کلیدی لفظ فراہم کیا جائے۔
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| limit | نمبر | نہیں | فی صفحہ آئٹمز کی تعداد (10-100)۔ ڈیفالٹ: 10۔ |
| offset | نمبر | نہیں | چھوڑنے والے آئٹمز کی تعداد۔ پیجینیشن کے لیے استعمال ہوتا ہے۔ ڈیفالٹ: 0۔ |
| keyword | سٹرنگ | نہیں | عنوان یا تفصیل سے اشتہارات فلٹر کرنے کے لیے تلاش کا کلیدی لفظ۔ |
| countries | ارے | نہیں | ISO-2 ملک کوڈز کا ارے (مثلاً، ["US", "GB", "DE"])۔ |
| country_ids | ارے | نہیں | /api/filters/countries اینڈپوائنٹ سے ملک IDs کا ارے۔ countries پر ترجیح۔ |
| languages | ارے | نہیں | ISO زبان کوڈز کا ارے (مثلاً، ["EN", "UR", "DE"])۔ |
| lang_ids | ارے | نہیں | /api/filters/languages اینڈپوائنٹ سے زبان IDs کا ارے۔ languages پر ترجیح۔ |
| date_from | سٹرنگ | نہیں | فلٹرنگ کے لیے شروع کی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-01-01")۔ |
| date_to | سٹرنگ | نہیں | فلٹرنگ کے لیے اختتامی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-12-31")۔ |
| sort_by | سٹرنگ | نہیں | ترتیب فیلڈ: creation، activity، popularity۔ |
| sort_order | سٹرنگ | نہیں | ترتیب کی سمت: asc یا desc۔ |
| status | سٹرنگ | نہیں | اشتہار سٹیٹس فلٹر: ALL، ACTIVE، INACTIVE۔ |
| media_type | سٹرنگ | نہیں | میڈیا قسم فلٹر: ALL، IMAGE، VIDEO۔ |
| search_type | سٹرنگ | نہیں | تلاش کی قسم: keyword_unordered، keyword_exact_phrase۔ |
| isPolling | Boolean | نہیں | لائیو سرچ اپڈیٹس کے لیے پولنگ فعال کریں۔ job_id کے ساتھ استعمال کریں۔ |
| lastId | نمبر | نہیں | انکریمنٹل پولنگ کے لیے آخری موصول شدہ اشتہار ID (اختیاری)۔ |
| perPage | نمبر | نہیں | کم نتائج کا پتہ لگانے کے لیے متوقع صفحہ سائز (12-96)۔ |
| job_id | سٹرنگ | نہیں | scrapingJob سے لائیو سرچ جاب ID۔ isPolling=true ہونے پر ضروری۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | Object | درخواست سے مماثل فلو ڈیٹا کا ارے۔ |
| └ format | سٹرنگ | اشتہار فارمیٹ (push، inpage، facebook، tiktok)۔ |
| └ items | ارے | اشتہار آبجیکٹس کا ارے۔ |
| └ id | نمبر | منفرد اشتہار شناخت کنندہ۔ |
| └ title | سٹرنگ | اشتہار عنوان متن۔ |
| └ description | سٹرنگ | اشتہار تفصیل متن۔ |
| └ category | سٹرنگ | اشتہار فارمیٹ/کیٹگری (push، inpage، facebook، tiktok)۔ |
| └ country | Object | ملک معلومات آبجیکٹ (code، name، iso_code_3)۔ |
| └ code | سٹرنگ | ISO 3166-1 alpha-2 ملک کوڈ (مثلاً، پاکستان کے لیے "PK")۔ |
| └ name | سٹرنگ | انگریزی میں ملک کا نام۔ |
| └ iso_code_3 | سٹرنگ | ISO 3166-1 alpha-3 ملک کوڈ (مثلاً، پاکستان کے لیے "PAK")۔ |
| └ file_size | سٹرنگ | فارمیٹ شدہ کل فائل سائز۔ |
| └ icon_url | سٹرنگ | اشتہار آئیکن تصویر URL۔ |
| └ landing_url | سٹرنگ | لینڈنگ پیج URL۔ |
| └ created_at | سٹرنگ | اشتہار تخلیق کی تاریخ (Y-m-d فارمیٹ)۔ |
| └ advertising_networks | ارے | اشتہاری نیٹ ورک ناموں کا ارے۔ |
| └ languages | ارے | ISO زبان کوڈز کا ارے۔ |
| └ operating_systems | ارے | آپریٹنگ سسٹم ویلیوز کا ارے۔ |
| └ browsers | ارے | براؤزر ناموں کا ارے۔ |
| └ devices | ارے | ڈیوائس اقسام کا ارے۔ |
| └ main_image_url | سٹرنگ | اشتہار مین تصویر URL۔ |
| └ has_video | Boolean | اشتہار میں ویڈیو ہے یا نہیں۔ |
| └ video_url | سٹرنگ | ویڈیو URL (اگر has_video true ہے)۔ |
| └ video_duration | نمبر | سیکنڈز میں ویڈیو مدت (اگر لاگو ہو)۔ |
| └ social_likes | نمبر | لائکس کی تعداد (سوشل اشتہارات کے لیے)۔ |
| └ social_comments | نمبر | تبصروں کی تعداد (سوشل اشتہارات کے لیے)۔ |
| └ social_shares | نمبر | شیئرز کی تعداد (سوشل اشتہارات کے لیے)۔ |
| └ is_adult | Boolean | اشتہار میں بالغ مواد ہے یا نہیں۔ |
| └ is_active | Boolean | اشتہار فی الحال فعال ہے یا نہیں۔ |
| └ pagination | Object | پیجینیشن معلومات آبجیکٹ۔ |
| └ total | نمبر | فلٹرز سے مماثل اشتہارات کی کل تعداد۔ |
| └ limit | نمبر | فی صفحہ آئٹمز کی تعداد۔ |
| └ offset | نمبر | موجودہ آفسیٹ۔ |
| └ has_more | Boolean | مزید آئٹمز دستیاب ہیں یا نہیں۔ |
| └ returned_count | نمبر | اس جواب میں واپس کیے گئے آئٹمز کی تعداد۔ |
| └ filters_applied | Object | لاگو شدہ فلٹرز پر مشتمل آبجیکٹ۔ |
| └ scrapingJob | Object | لائیو سرچ جاب آبجیکٹ (جب لائیو سرچ شروع یا فعال ہو تب موجود)۔ |
| └ type | سٹرنگ | لائیو سرچ قسم شناخت کنندہ (مثلاً، facebook_search)۔ |
| └ status | سٹرنگ | جاب سٹیٹس: dispatched، running، post_processing، completed، failed، error، recently_completed، rejected۔ |
| └ needStartPolling | Boolean | کلائنٹ کو اپڈیٹس کے لیے پولنگ شروع کرنی چاہیے یا نہیں۔ |
| └ needStopPolling | Boolean | کلائنٹ کو پولنگ روکنی چاہیے یا نہیں۔ |
| └ job_id | سٹرنگ | پولنگ کے لیے جاب شناخت کنندہ (سٹیٹس recently_completed یا rejected ہونے پر غیر موجود)۔ |
| └ polling_interval_seconds | نمبر | سیکنڈز میں تجویز کردہ پولنگ وقفہ۔ |
| └ estimatedDuration | نمبر | سیکنڈز میں اندازا مدت (completed یا recently_completed ہونے پر 0)۔ |
| └ message | سٹرنگ | سرور یا پارسر سے اضافی سٹیٹس پیغام۔ |
| └ retry_after_seconds | نمبر | recently_completed/rejected ہونے پر دوبارہ کوشش سے پہلے کتنا انتظار کریں (اگر فراہم کیا گیا)۔ |
| └ error | سٹرنگ | ایرر تفصیلات (سٹیٹس failed یا error ہونے پر موجود)۔ |
| └ timestamp | سٹرنگ | ISO 8601 فارمیٹ میں جواب ٹائم اسٹیمپ۔ |
<?php
function searchFacebookCreatives($params = [])
{
$ch = curl_init('https://spy.house/api/search/facebook');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
return null;
}
// Example 1: Basic search with API key
$params = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US'],
];
// Example 2: Social filters (status/media_type/search_type)
$paramsWithSocialFilters = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US'],
'status' => 'ACTIVE',
'media_type' => 'VIDEO',
'search_type' => 'keyword_unordered',
];
$result = searchFacebookCreatives($paramsWithSocialFilters);
// Example 3: Live search polling (when scrapingJob.needStartPolling is true)
$initial = searchFacebookCreatives([
'api_key' => 'YOUR_API_KEY',
'limit' => 10,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US'],
'status' => 'ACTIVE',
]);
if ($initial && !empty($initial['data']['scrapingJob'])) {
$scrapingJob = $initial['data']['scrapingJob'];
if (!empty($scrapingJob['needStartPolling']) && !empty($scrapingJob['job_id'])) {
$pollingResult = searchFacebookCreatives([
'api_key' => 'YOUR_API_KEY',
'isPolling' => true,
'job_id' => $scrapingJob['job_id'],
'limit' => 10,
'offset' => 0,
]);
}
}
// Note: If scrapingJob.status is "recently_completed" or "rejected",
// the job will not be created and polling should not be started.
TikTok اشتہارات تلاش کریں
مختلف فلٹرز کے ساتھ TikTok اشتہارات تلاش کریں۔ جب نتائج کم ہوں، API لائیو سرچ شروع کر سکتی ہے اور پولنگ کے لیے scrapingJob واپس کر سکتی ہے۔
اگر scrapingJob.needStartPolling true ہے، نئے آئٹمز حاصل کرنے کے لیے isPolling=true اور job_id کے ساتھ اسی اینڈپوائنٹ کو کال کریں۔ اگر سٹیٹس recently_completed یا rejected ہے، کوئی جاب نہیں بنایا جاتا اور پولنگ شروع نہیں کرنی چاہیے۔
لائیو سرچ صرف اس وقت شروع ہوتی ہے جب countries ارے میں بالکل ایک ملک متعین ہو۔
لائیو سرچ صرف اس وقت شروع ہوتی ہے جب غیر خالی کلیدی لفظ فراہم کیا جائے۔
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| limit | نمبر | نہیں | فی صفحہ آئٹمز کی تعداد (10-100)۔ ڈیفالٹ: 10۔ |
| offset | نمبر | نہیں | چھوڑنے والے آئٹمز کی تعداد۔ پیجینیشن کے لیے استعمال ہوتا ہے۔ ڈیفالٹ: 0۔ |
| keyword | سٹرنگ | نہیں | عنوان یا تفصیل سے اشتہارات فلٹر کرنے کے لیے تلاش کا کلیدی لفظ۔ |
| countries | ارے | نہیں | ISO-2 ملک کوڈز کا ارے (مثلاً، ["US", "GB", "DE"])۔ |
| country_ids | ارے | نہیں | /api/filters/countries اینڈپوائنٹ سے ملک IDs کا ارے۔ countries پر ترجیح۔ |
| languages | ارے | نہیں | ISO زبان کوڈز کا ارے (مثلاً، ["EN", "UR", "DE"])۔ |
| lang_ids | ارے | نہیں | /api/filters/languages اینڈپوائنٹ سے زبان IDs کا ارے۔ languages پر ترجیح۔ |
| date_from | سٹرنگ | نہیں | فلٹرنگ کے لیے شروع کی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-01-01")۔ |
| date_to | سٹرنگ | نہیں | فلٹرنگ کے لیے اختتامی تاریخ (فارمیٹ: Y-m-d، مثلاً، "2025-12-31")۔ |
| sort_by | سٹرنگ | نہیں | ترتیب فیلڈ: creation، activity، popularity۔ |
| sort_order | سٹرنگ | نہیں | ترتیب کی سمت: asc یا desc۔ |
| video_duration | سٹرنگ | نہیں | TikTok ویڈیو مدت فلٹر: ALL، SHORT، MEDIUM، LONG۔ |
| isPolling | Boolean | نہیں | لائیو سرچ اپڈیٹس کے لیے پولنگ فعال کریں۔ job_id کے ساتھ استعمال کریں۔ |
| lastId | نمبر | نہیں | انکریمنٹل پولنگ کے لیے آخری موصول شدہ اشتہار ID (اختیاری)۔ |
| perPage | نمبر | نہیں | کم نتائج کا پتہ لگانے کے لیے متوقع صفحہ سائز (12-96)۔ |
| job_id | سٹرنگ | نہیں | scrapingJob سے لائیو سرچ جاب ID۔ isPolling=true ہونے پر ضروری۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data | Object | درخواست سے مماثل فلو ڈیٹا کا ارے۔ |
| └ format | سٹرنگ | اشتہار فارمیٹ (push، inpage، facebook، tiktok)۔ |
| └ items | ارے | اشتہار آبجیکٹس کا ارے۔ |
| └ id | نمبر | منفرد اشتہار شناخت کنندہ۔ |
| └ title | سٹرنگ | اشتہار عنوان متن۔ |
| └ description | سٹرنگ | اشتہار تفصیل متن۔ |
| └ category | سٹرنگ | اشتہار فارمیٹ/کیٹگری (push، inpage، facebook، tiktok)۔ |
| └ country | Object | ملک معلومات آبجیکٹ (code، name، iso_code_3)۔ |
| └ code | سٹرنگ | ISO 3166-1 alpha-2 ملک کوڈ (مثلاً، پاکستان کے لیے "PK")۔ |
| └ name | سٹرنگ | انگریزی میں ملک کا نام۔ |
| └ iso_code_3 | سٹرنگ | ISO 3166-1 alpha-3 ملک کوڈ (مثلاً، پاکستان کے لیے "PAK")۔ |
| └ file_size | سٹرنگ | فارمیٹ شدہ کل فائل سائز۔ |
| └ icon_url | سٹرنگ | اشتہار آئیکن تصویر URL۔ |
| └ landing_url | سٹرنگ | لینڈنگ پیج URL۔ |
| └ created_at | سٹرنگ | اشتہار تخلیق کی تاریخ (Y-m-d فارمیٹ)۔ |
| └ advertising_networks | ارے | اشتہاری نیٹ ورک ناموں کا ارے۔ |
| └ languages | ارے | ISO زبان کوڈز کا ارے۔ |
| └ operating_systems | ارے | آپریٹنگ سسٹم ویلیوز کا ارے۔ |
| └ browsers | ارے | براؤزر ناموں کا ارے۔ |
| └ devices | ارے | ڈیوائس اقسام کا ارے۔ |
| └ main_image_url | سٹرنگ | اشتہار مین تصویر URL۔ |
| └ has_video | Boolean | اشتہار میں ویڈیو ہے یا نہیں۔ |
| └ video_url | سٹرنگ | ویڈیو URL (اگر has_video true ہے)۔ |
| └ video_duration | نمبر | سیکنڈز میں ویڈیو مدت (اگر لاگو ہو)۔ |
| └ social_likes | نمبر | لائکس کی تعداد (سوشل اشتہارات کے لیے)۔ |
| └ social_comments | نمبر | تبصروں کی تعداد (سوشل اشتہارات کے لیے)۔ |
| └ social_shares | نمبر | شیئرز کی تعداد (سوشل اشتہارات کے لیے)۔ |
| └ is_adult | Boolean | اشتہار میں بالغ مواد ہے یا نہیں۔ |
| └ is_active | Boolean | اشتہار فی الحال فعال ہے یا نہیں۔ |
| └ pagination | Object | پیجینیشن معلومات آبجیکٹ۔ |
| └ total | نمبر | فلٹرز سے مماثل اشتہارات کی کل تعداد۔ |
| └ limit | نمبر | فی صفحہ آئٹمز کی تعداد۔ |
| └ offset | نمبر | موجودہ آفسیٹ۔ |
| └ has_more | Boolean | مزید آئٹمز دستیاب ہیں یا نہیں۔ |
| └ returned_count | نمبر | اس جواب میں واپس کیے گئے آئٹمز کی تعداد۔ |
| └ filters_applied | Object | لاگو شدہ فلٹرز پر مشتمل آبجیکٹ۔ |
| └ scrapingJob | Object | لائیو سرچ جاب آبجیکٹ (جب لائیو سرچ شروع یا فعال ہو تب موجود)۔ |
| └ type | سٹرنگ | لائیو سرچ قسم شناخت کنندہ (مثلاً، facebook_search)۔ |
| └ status | سٹرنگ | جاب سٹیٹس: dispatched، running، post_processing، completed، failed، error، recently_completed، rejected۔ |
| └ needStartPolling | Boolean | کلائنٹ کو اپڈیٹس کے لیے پولنگ شروع کرنی چاہیے یا نہیں۔ |
| └ needStopPolling | Boolean | کلائنٹ کو پولنگ روکنی چاہیے یا نہیں۔ |
| └ job_id | سٹرنگ | پولنگ کے لیے جاب شناخت کنندہ (سٹیٹس recently_completed یا rejected ہونے پر غیر موجود)۔ |
| └ polling_interval_seconds | نمبر | سیکنڈز میں تجویز کردہ پولنگ وقفہ۔ |
| └ estimatedDuration | نمبر | سیکنڈز میں اندازا مدت (completed یا recently_completed ہونے پر 0)۔ |
| └ message | سٹرنگ | سرور یا پارسر سے اضافی سٹیٹس پیغام۔ |
| └ retry_after_seconds | نمبر | recently_completed/rejected ہونے پر دوبارہ کوشش سے پہلے کتنا انتظار کریں (اگر فراہم کیا گیا)۔ |
| └ error | سٹرنگ | ایرر تفصیلات (سٹیٹس failed یا error ہونے پر موجود)۔ |
| └ timestamp | سٹرنگ | ISO 8601 فارمیٹ میں جواب ٹائم اسٹیمپ۔ |
<?php
function searchTikTokCreatives($params = [])
{
$ch = curl_init('https://spy.house/api/search/tiktok');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
return null;
}
// Example 1: Basic search with API key
$params = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US'],
];
// Example 2: TikTok filter (video_duration)
$paramsWithVideoDuration = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US'],
'video_duration' => 'SHORT',
];
$result = searchTikTokCreatives($paramsWithVideoDuration);
// Example 3: Live search polling (when scrapingJob.needStartPolling is true)
$initial = searchTikTokCreatives([
'api_key' => 'YOUR_API_KEY',
'limit' => 10,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US'],
]);
if ($initial && !empty($initial['data']['scrapingJob'])) {
$scrapingJob = $initial['data']['scrapingJob'];
if (!empty($scrapingJob['needStartPolling']) && !empty($scrapingJob['job_id'])) {
$pollingResult = searchTikTokCreatives([
'api_key' => 'YOUR_API_KEY',
'isPolling' => true,
'job_id' => $scrapingJob['job_id'],
'limit' => 10,
'offset' => 0,
]);
}
}
// Note: If scrapingJob.status is "recently_completed" or "rejected",
// the job will not be created and polling should not be started.
رقم منتقلی
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| amount | نمبر | ہاں | منتقلی کی رقم (کم از کم 10 USD)۔ |
| سٹرنگ | ہاں | وصول کنندہ کا ای میل۔ درست ہونا چاہیے۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| transaction_number | سٹرنگ | منتقلی سے منسلک منفرد ٹرانزیکشن نمبر۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/accounts/transfer_funds');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = [
'api_key' => 'YOUR_API_KEY',
'amount' => 100,
'email' => '[email protected]'
];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}
اکاؤنٹ بیلنس حاصل کرنا
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| balance | نمبر | صارف کا موجودہ اکاؤنٹ بیلنس۔ |
<?php
function api_request($data = [])
{
$ch = curl_init('https://spy.house/api/accounts/balance');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ( ! empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
}
$body_request = [
'api_key' => 'YOUR_API_KEY'
];
$api_request = api_request($body_request);
if ( ! empty($api_request['status'])) {
echo '<pre>';
print_r($api_request);
echo '</pre>';
}