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
Native اشتہارات تلاش کریں
مختلف فلٹرز کے ساتھ Native (MGID/Taboola) اشتہارات تلاش کریں۔
درخواست 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۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| 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۔ |
| └ main_image_url | سٹرنگ | اشتہار مین تصویر URL۔ |
| └ landing_url | سٹرنگ | لینڈنگ پیج URL۔ |
| └ created_at | سٹرنگ | اشتہار تخلیق کی تاریخ (Y-m-d فارمیٹ)۔ |
| └ advertising_networks | ارے | اشتہاری نیٹ ورک ناموں کا ارے۔ |
| └ languages | ارے | ISO زبان کوڈز کا ارے۔ |
| └ operating_systems | ارے | آپریٹنگ سسٹم ویلیوز کا ارے۔ |
| └ browsers | ارے | براؤزر ناموں کا ارے۔ |
| └ devices | ارے | ڈیوائس اقسام کا ارے۔ |
| └ is_adult | Boolean | اشتہار میں بالغ مواد ہے یا نہیں۔ |
| └ is_active | Boolean | اشتہار فی الحال فعال ہے یا نہیں۔ |
| └ pagination | Object | پیجینیشن معلومات آبجیکٹ۔ |
| └ total | نمبر | فلٹرز سے مماثل اشتہارات کی کل تعداد۔ |
| └ limit | نمبر | فی صفحہ آئٹمز کی تعداد۔ |
| └ offset | نمبر | موجودہ آفسیٹ۔ |
| └ has_more | Boolean | مزید آئٹمز دستیاب ہیں یا نہیں۔ |
| └ returned_count | نمبر | اس جواب میں واپس کیے گئے آئٹمز کی تعداد۔ |
| └ filters_applied | Object | لاگو شدہ فلٹرز پر مشتمل آبجیکٹ۔ |
| └ timestamp | سٹرنگ | ISO 8601 فارمیٹ میں جواب ٹائم اسٹیمپ۔ |
<?php
function searchNativeCreatives($params = [])
{
$ch = curl_init('https://spy.house/api/search/native');
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 = searchNativeCreatives($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 = searchNativeCreatives($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 = searchNativeCreatives($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>';
}
Retrieving a list of white pages
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| search | سٹرنگ | نہیں | String for searching by White Page name. |
| date_from | سٹرنگ | نہیں | Start date for filtering (format: Y-m-d). (YYYY-MM-DD) |
| date_to | سٹرنگ | نہیں | End date for filtering (format: Y-m-d). (YYYY-MM-DD) |
| limit | نمبر | نہیں | Number of items per page (1 to 100). Default: 10. |
| page | نمبر | نہیں | Page number, starting from 1. Default: 1. |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data.items | ارے | Array of user's White Pages. |
| data.items[].id | نمبر | Unique identifier of the White Page. |
| data.items[].name | سٹرنگ | Name of the White Page. |
| data.items[].status | سٹرنگ | Status value: generating, pending, in_progress, completed, failed, error. |
| data.items[].status_label | سٹرنگ | Translated status description. |
| data.items[].generator_label | سٹرنگ | AI generator name. |
| data.items[].vertical_label | سٹرنگ | Selected niche/vertical name. |
| data.items[].language_label | سٹرنگ | Target language. |
| data.items[].theme_label | سٹرنگ | Selected template/theme name. |
| data.items[].amount | نمبر | Price charged for generation (e.g., 5.00) or null. |
| data.items[].can_retry | Boolean | Whether generation can be retried. |
| data.items[].can_download | Boolean | Whether the zip archive is ready to download. |
| data.items[].error_message | سٹرنگ | Localized error reason if generation failed. |
| data.items[].created_at | سٹرنگ | Creation date and time. |
<?php
function get_white_pages($apiKey)
{
$ch = curl_init('https://spy.house/api/white-pages?api_key=' . $apiKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, TRUE);
}
$result = get_white_pages('YOUR_API_KEY');
print_r($result);
Retrieving generator configuration options
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data.generators | ارے | List of available AI generators for id_generator param. |
| data.generators[].id | نمبر | Numeric ID of the option. |
| data.generators[].slug | سٹرنگ | Slug/value of the option. |
| data.generators[].label | سٹرنگ | Translated name of the option. |
| data.verticals | ارے | List of available niche verticals for id_vertical param. |
| data.verticals[].id | نمبر | Numeric ID of the option. |
| data.verticals[].slug | سٹرنگ | Slug/value of the option. |
| data.verticals[].label | سٹرنگ | Translated name of the option. |
| data.languages | ارے | List of target languages for id_language param. |
| data.languages[].id | نمبر | Numeric ID of the option. |
| data.languages[].slug | سٹرنگ | Slug/value of the option. |
| data.languages[].label | سٹرنگ | Translated name of the option. |
| data.themes | Object | Templates map grouped by id_generator key. |
<?php
function get_generator_options($apiKey)
{
$ch = curl_init('https://spy.house/api/white-pages/options?api_key=' . $apiKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($chcurl_close($ch);
return json_decode($body, TRUE);
}
$result = get_generator_options('YOUR_API_KEY');
print_r($result);
Generating a white page
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| name | سٹرنگ | ہاں | Name of the White Page (for reference, max 64 chars). |
| id_generator | نمبر | ہاں | Generator ID from options endpoint. |
| id_vertical | نمبر | ہاں | Vertical ID from options endpoint. |
| id_language | نمبر | ہاں | Language ID from options endpoint. |
| theme | سٹرنگ | ہاں | Theme slug string corresponding to the selected generator. |
| wp_domain | سٹرنگ | نہیں | Optional target domain name. |
| wp_company | سٹرنگ | نہیں | Optional company name for copy/legal page sections. |
| wp_phone | سٹرنگ | نہیں | Optional contact phone number. |
| wp_email | سٹرنگ | نہیں | Optional contact email address. |
| wp_keywords | سٹرنگ | نہیں | Optional comma-separated keywords to tailor site content. |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data.id | نمبر | Unique identifier of the White Page. |
| data.name | سٹرنگ | Name of the White Page. |
| data.status | سٹرنگ | Status value: generating, pending, in_progress, completed, failed, error. |
| data.status_label | سٹرنگ | Translated status description. |
<?php
function generate_white_page($apiKey, $params)
{
$ch = curl_init('https://spy.house/api/white-pages/generate?api_key=' . $apiKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, TRUE);
}
$params = [
'name' => 'My First WhitePage',
'id_generator' => 1,
'id_vertical' => 2,
'id_language' => 1,
'theme' => 'travel'
];
$result = generate_white_page('YOUR_API_KEY', $params);
print_r($result);
Retrieving generation status
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data.id | نمبر | Unique identifier of the White Page. |
| data.status | سٹرنگ | Status value: generating, pending, in_progress, completed, failed, error. |
| data.status_label | سٹرنگ | Translated status description. |
| data.can_retry | Boolean | Whether generation can be retried. |
| data.can_download | Boolean | Whether the zip archive is ready to download. |
| data.error_message | سٹرنگ | Localized error reason if generation failed. |
<?php
function get_white_page_status($apiKey, $id)
{
$ch = curl_init('https://spy.house/api/white-pages/' . $id . '/status?api_key=' . $apiKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, TRUE);
}
$result = get_white_page_status('YOUR_API_KEY'123);
print_r($result);
Retrieving download link
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data.download_url | سٹرنگ | Temporary authenticated URL to download the zip file. |
<?php
function get_white_page_download_url($apiKey$id)
{
$ch = curl_init('https://spy.house/api/white-pages/' . $id . '/download');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['api_key' => $apiKey]));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, TRUE);
}
$result = get_white_page_download_url('YOUR_API_KEY', 123);
print_r($result);
Downloading white page file
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
Returns the zip archive payload as binary stream with `Content-Type: application/zip` and `Content-Disposition: attachment` headers.
<?php
function download_white_page_file($apiKey, $id, $saveToPath)
{
$fp = fopen($saveToPath, 'w+');
$ch = curl_init('https://spy.house/api/white-pages/' . $id . '/file');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['api_key' => $apiKey]));
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_exec($chcurl_close($ch);
fclose($fp);
}
download_white_page_file('YOUR_API_KEY', 123, '/path/to/save/archive.zip');
Deleting a white page
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data.deleted | Boolean | True if deletion succeeded. |
<?php
function delete_white_page($apiKey, $id)
{
$ch = curl_init('https://spy.house/api/white-pages/' . $id . '?api_key=' . $apiKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, TRUE);
}
$result = delete_white_page('YOUR_API_KEY', 123);
print_r($result);
Retrying failed generation
درخواست URL
| پیرامیٹر | ڈیٹا ٹائپ | ضروری | تفصیل |
|---|---|---|---|
| api_key | سٹرنگ | ہاں | درخواست کی تصدیق کے لیے منفرد API کلید۔ |
| پیرامیٹر | ڈیٹا ٹائپ | تفصیل |
|---|---|---|
| status | سٹرنگ | کامیاب درخواست ("success") یا ایرر ("error") کی نشاندہی کرنے والا فیلڈ۔ |
| msg | سٹرنگ | ایرر میسج یا اضافی درخواست معلومات۔ |
| code | نمبر | جواب کوڈ، مثلاً، کامیاب درخواست کے لیے 200۔ |
| data.id | نمبر | Unique identifier of the White Page. |
| data.status | سٹرنگ | Status value: generating, pending, in_progress, completed, failed, error. |
| data.generating_label | سٹرنگ | Translated label for the new generating status. |
<?php
function retry_white_page($apiKey, $id)
{
$ch = curl_init('https://spy.house/api/white-pages/' . $id . '/retry?api_key=' . $apiKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, TRUE);
}
$result = retry_white_page('YOUR_API_KEY', 123);
print_r($result);