API
भाषा सूची प्राप्त करना
अनुरोध 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($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 देश कोड (उदाहरण, भारत के लिए "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($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", "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($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", "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($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
return null;
}
// Example 1: Basic search with API key
$params = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
];
$result = searchInpageCreatives($params);
if ($result && $result['status'] === 'success') {
foreach ($result['data']['items'] as $creative) {
echo "ID: " . $creative['id'] . " - " . $creative['title'] . "\n";
}
echo "Total: " . $result['data']['pagination']['total'] . "\n";
}
// Example 2: Search with ISO codes/names filters
$paramsWithFilters = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US', 'GB', 'DE'], // ISO-2 codes
'languages' => ['EN'], // ISO codes
'browsers' => ['Chrome', 'Firefox'], // Browser names
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$filteredResult = searchInpageCreatives($paramsWithFilters);
// Example 3: Search with ID-based filters (recommended)
// Use IDs from /api/filters/* endpoints for better performance
$paramsWithIds = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'country_ids' => [1, 2, 3], // IDs from /api/filters/countries
'lang_ids' => [1], // IDs from /api/filters/languages
'network_ids' => [5, 10], // IDs from /api/filters/advertising-networks
'browser_ids' => [1, 2], // IDs from /api/filters/browsers
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$resultWithIds = searchInpageCreatives($paramsWithIds);
// Note: ID-based filters take precedence over name-based filters
// If both country_ids and countries are provided, country_ids will be used
Facebook क्रिएटिव खोजें
विभिन्न फ़िल्टर के साथ Facebook क्रिएटिव खोजें। जब परिणाम कम हों, API लाइव सर्च शुरू कर सकती है और पोलिंग के लिए scrapingJob लौटा सकती है।
यदि scrapingJob.needStartPolling true है, तो नए आइटम प्राप्त करने के लिए isPolling=true और job_id के साथ उसी एंडपॉइंट को कॉल करें। यदि स्थिति recently_completed या rejected है, तो कोई जॉब नहीं बनाया जाता और पोलिंग शुरू नहीं करनी चाहिए।
लाइव सर्च केवल तभी शुरू होती है जब countries एरे में ठीक एक देश निर्दिष्ट हो।
लाइव सर्च केवल तभी शुरू होती है जब गैर-रिक्त कीवर्ड प्रदान किया जाए।
अनुरोध URL
| पैरामीटर | डेटा प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| api_key | स्ट्रिंग | हां | अनुरोध प्रमाणीकरण के लिए अद्वितीय API कुंजी। |
| limit | संख्या | नहीं | प्रति पृष्ठ आइटम की संख्या (10-100)। डिफ़ॉल्ट: 10। |
| offset | संख्या | नहीं | छोड़ने के लिए आइटम की संख्या। पेजिनेशन के लिए उपयोग। डिफ़ॉल्ट: 0। |
| keyword | स्ट्रिंग | नहीं | शीर्षक या विवरण द्वारा क्रिएटिव फ़िल्टर करने के लिए खोज कीवर्ड। |
| countries | एरे | नहीं | ISO-2 देश कोड का एरे (उदा., ["US", "GB", "DE"])। |
| country_ids | एरे | नहीं | /api/filters/countries एंडपॉइंट से देश IDs का एरे। countries पर प्राथमिकता। |
| languages | एरे | नहीं | ISO भाषा कोड का एरे (उदा., ["EN", "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($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", "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($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?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_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($ch, CURLOPT_FILE, $fp);
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);