IN HI
लॉगिन करें

API

हमारे API तक पहुंच प्राप्त करने के लिए, टेलीग्राम पर हमारी सहायता सेवा से संपर्क करें: @Spy_House

भाषा सूची प्राप्त करना

अनुरोध URL

पैरामीटर डेटा प्रकार आवश्यक विवरण
api_key स्ट्रिंग हां अनुरोध प्रमाणीकरण के लिए अद्वितीय API कुंजी।
पैरामीटर डेटा प्रकार विवरण
status स्ट्रिंग अनुरोध के सफल निष्पादन ("success") या त्रुटि ("error") को इंगित करने वाला फ़ील्ड।
msg स्ट्रिंग त्रुटि संदेश या अतिरिक्त अनुरोध जानकारी।
code संख्या प्रतिक्रिया कोड, उदाहरण, सफल अनुरोध के लिए 200।
data एरे उपलब्ध भाषाओं का एरे।
└ lang_id संख्या अद्वितीय भाषा पहचानकर्ता।
└ name स्ट्रिंग अंग्रेजी में भाषा का नाम।
└ iso_code स्ट्रिंग ISO भाषा कोड (उदाहरण, अंग्रेजी के लिए "EN", हिंदी के लिए "HI")।
<?php


    
function api_request($data = [])
    {
        
$ch curl_init('https://spy.house/api/filters/languages');

        
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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 देश कोड (उदाहरण, भारत के लिए "IN")।
└ iso_code_3 स्ट्रिंग ISO 3166-1 alpha-3 देश कोड (उदाहरण, भारत के लिए "IND")।
<?php


    
function api_request($data = [])
    {
        
$ch curl_init('https://spy.house/api/filters/countries');

        
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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", "HI", "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 देश कोड (उदाहरण, भारत के लिए "IN")।
    └ name स्ट्रिंग अंग्रेजी में देश का नाम।
    └ iso_code_3 स्ट्रिंग ISO 3166-1 alpha-3 देश कोड (उदाहरण, भारत के लिए "IND")।
  └ 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($chCURLOPT_RETURNTRANSFERTRUE);
    
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
    
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
    }
    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' => [123],              // IDs from /api/filters/countries
    
'lang_ids' => [1],                      // IDs from /api/filters/languages
    
'network_ids' => [510],              // IDs from /api/filters/advertising-networks
    
'browser_ids' => [12],               // 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", "HI", "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 देश कोड (उदाहरण, भारत के लिए "IN")।
    └ name स्ट्रिंग अंग्रेजी में देश का नाम।
    └ iso_code_3 स्ट्रिंग ISO 3166-1 alpha-3 देश कोड (उदाहरण, भारत के लिए "IND")।
  └ 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($chCURLOPT_RETURNTRANSFERTRUE);
    
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
    
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
    }
    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' => [123],              // IDs from /api/filters/countries
    
'lang_ids' => [1],                      // IDs from /api/filters/languages
    
'network_ids' => [510],              // IDs from /api/filters/advertising-networks
    
'browser_ids' => [12],               // 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", "HI", "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 देश कोड (उदाहरण, भारत के लिए "IN")।
    └ name स्ट्रिंग अंग्रेजी में देश का नाम।
    └ iso_code_3 स्ट्रिंग ISO 3166-1 alpha-3 देश कोड (उदाहरण, भारत के लिए "IND")।
  └ 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($chCURLOPT_RETURNTRANSFERTRUE);
    
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
    
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
    }
    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", "HI", "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 देश कोड (उदाहरण, भारत के लिए "IN")।
    └ name स्ट्रिंग अंग्रेजी में देश का नाम।
    └ iso_code_3 स्ट्रिंग ISO 3166-1 alpha-3 देश कोड (उदाहरण, भारत के लिए "IND")।
  └ 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($chCURLOPT_RETURNTRANSFERTRUE);
    
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
    
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
    }
    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)।
email स्ट्रिंग हां प्राप्तकर्ता का ईमेल। वैध होना चाहिए।
पैरामीटर डेटा प्रकार विवरण
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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_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($bodyTRUE);
        }
    }


    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);

        
$body curl_exec($ch);
        
curl_close($ch);

        return 
json_decode($bodyTRUE);
    }

    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);

        
$body curl_exec($chcurl_close($ch);

        return 
json_decode($bodyTRUE);
    }

    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_POSTTRUE);
        
curl_setopt($chCURLOPT_POSTFIELDShttp_build_query($params));
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);

        
$body curl_exec($ch);
        
curl_close($ch);

        return 
json_decode($bodyTRUE);
    }

    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);

        
$body curl_exec($ch);
        
curl_close($ch);

        return 
json_decode($bodyTRUE);
    }

    
$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?api_key=' $apiKey);

        
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);

        
$body curl_exec($ch);
        
curl_close($ch);

        return 
json_decode($bodyTRUE);
    }

    
$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?api_key=' $apiKey);

        
curl_setopt($chCURLOPT_FILE$fp);
        
curl_setopt($chCURLOPT_TIMEOUT300);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_CUSTOMREQUEST'DELETE');
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);

        
$body curl_exec($ch);
        
curl_close($ch);

        return 
json_decode($bodyTRUE);
    }

    
$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($chCURLOPT_RETURNTRANSFERTRUE);
        
curl_setopt($chCURLOPT_POSTTRUE);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);

        
$body curl_exec($ch);
        
curl_close($ch);

        return 
json_decode($bodyTRUE);
    }

    
$result retry_white_page('YOUR_API_KEY'123);
    
print_r($result);