BD BN
লগইন

API

আমাদের API-তে অ্যাক্সেস পেতে, টেলিগ্রামে আমাদের সাপোর্ট সার্ভিসের সাথে যোগাযোগ করুন: @Spy_House

ভাষা তালিকা পুনরুদ্ধার

অনুরোধ URL

প্যারামিটার ডেটা টাইপ প্রয়োজনীয় বিবরণ
api_key স্ট্রিং হ্যাঁ অনুরোধ প্রমাণীকরণের জন্য অনন্য API কী।
প্যারামিটার ডেটা টাইপ বিবরণ
status স্ট্রিং অনুরোধের সফল সম্পাদন ("success") বা ত্রুটি ("error") নির্দেশক ক্ষেত্র।
msg স্ট্রিং ত্রুটি বার্তা বা অতিরিক্ত অনুরোধ তথ্য।
code সংখ্যা প্রতিক্রিয়া কোড, যেমন, সফল অনুরোধের জন্য 200।
data অ্যারে উপলব্ধ ভাষার অ্যারে।
└ lang_id সংখ্যা অনন্য ভাষা শনাক্তকারী।
└ name স্ট্রিং ইংরেজিতে ভাষার নাম।
└ iso_code স্ট্রিং ISO ভাষা কোড (যেমন, ইংরেজির জন্য "EN", বাংলার জন্য "BN")।
<?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 দেশ কোড (যেমন, বাংলাদেশের জন্য "BD")।
└ iso_code_3 স্ট্রিং ISO 3166-1 alpha-3 দেশ কোড (যেমন, বাংলাদেশের জন্য "BGD")।
<?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 এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। countries এর উপর অগ্রাধিকার।
languages অ্যারে না ISO ভাষা কোডের অ্যারে (যেমন, ["EN", "BN", "DE"])।
lang_ids অ্যারে না /api/filters/languages এন্ডপয়েন্ট থেকে ভাষা আইডির অ্যারে। languages এর উপর অগ্রাধিকার।
advertising_networks অ্যারে না বিজ্ঞাপন নেটওয়ার্ক নামের অ্যারে।
network_ids অ্যারে না /api/filters/advertising-networks এন্ডপয়েন্ট থেকে নেটওয়ার্ক আইডির অ্যারে। advertising_networks এর উপর অগ্রাধিকার।
browsers অ্যারে না ব্রাউজার নামের অ্যারে।
browser_ids অ্যারে না /api/filters/browsers এন্ডপয়েন্ট থেকে ব্রাউজার আইডির অ্যারে। 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 দেশ কোড (যেমন, বাংলাদেশের জন্য "BD")।
    └ name স্ট্রিং ইংরেজিতে দেশের নাম।
    └ iso_code_3 স্ট্রিং ISO 3166-1 alpha-3 দেশ কোড (যেমন, বাংলাদেশের জন্য "BGD")।
  └ 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 এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। countries এর উপর অগ্রাধিকার।
languages অ্যারে না ISO ভাষা কোডের অ্যারে (যেমন, ["EN", "BN", "DE"])।
lang_ids অ্যারে না /api/filters/languages এন্ডপয়েন্ট থেকে ভাষা আইডির অ্যারে। languages এর উপর অগ্রাধিকার।
advertising_networks অ্যারে না বিজ্ঞাপন নেটওয়ার্ক নামের অ্যারে।
network_ids অ্যারে না /api/filters/advertising-networks এন্ডপয়েন্ট থেকে নেটওয়ার্ক আইডির অ্যারে। advertising_networks এর উপর অগ্রাধিকার।
browsers অ্যারে না ব্রাউজার নামের অ্যারে।
browser_ids অ্যারে না /api/filters/browsers এন্ডপয়েন্ট থেকে ব্রাউজার আইডির অ্যারে। 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 দেশ কোড (যেমন, বাংলাদেশের জন্য "BD")।
    └ name স্ট্রিং ইংরেজিতে দেশের নাম।
    └ iso_code_3 স্ট্রিং ISO 3166-1 alpha-3 দেশ কোড (যেমন, বাংলাদেশের জন্য "BGD")।
  └ 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

Native ক্রিয়েটিভ অনুসন্ধান

বিভিন্ন ফিল্টার সহ Native (MGID/Taboola) ক্রিয়েটিভ অনুসন্ধান।

অনুরোধ URL

প্যারামিটার ডেটা টাইপ প্রয়োজনীয় বিবরণ
api_key স্ট্রিং হ্যাঁ অনুরোধ প্রমাণীকরণের জন্য অনন্য API কী।
limit সংখ্যা না প্রতি পৃষ্ঠায় আইটেম সংখ্যা (10-100)। ডিফল্ট: 10।
offset সংখ্যা না এড়িয়ে যাওয়া আইটেম সংখ্যা। পেজিনেশনের জন্য ব্যবহৃত। ডিফল্ট: 0।
keyword স্ট্রিং না শিরোনাম বা বিবরণ দ্বারা ক্রিয়েটিভ ফিল্টার করতে অনুসন্ধান কীওয়ার্ড।
countries অ্যারে না ISO-2 দেশ কোডের অ্যারে (যেমন, ["US", "GB", "DE"])।
country_ids অ্যারে না /api/filters/countries এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। countries এর উপর অগ্রাধিকার।
languages অ্যারে না ISO ভাষা কোডের অ্যারে (যেমন, ["EN", "BN", "DE"])।
lang_ids অ্যারে না /api/filters/languages এন্ডপয়েন্ট থেকে ভাষা আইডির অ্যারে। languages এর উপর অগ্রাধিকার।
advertising_networks অ্যারে না বিজ্ঞাপন নেটওয়ার্ক নামের অ্যারে।
network_ids অ্যারে না /api/filters/advertising-networks এন্ডপয়েন্ট থেকে নেটওয়ার্ক আইডির অ্যারে। advertising_networks এর উপর অগ্রাধিকার।
browsers অ্যারে না ব্রাউজার নামের অ্যারে।
browser_ids অ্যারে না /api/filters/browsers এন্ডপয়েন্ট থেকে ব্রাউজার আইডির অ্যারে। browsers এর উপর অগ্রাধিকার।
operating_systems অ্যারে না অপারেটিং সিস্টেম মানের অ্যারে (যেমন, ["windows", "macos", "android"])।
devices অ্যারে না ডিভাইস ধরনের অ্যারে (যেমন, ["desktop", "mobile", "tablet"])।
date_from স্ট্রিং না ফিল্টারিংয়ের জন্য শুরুর তারিখ (ফরম্যাট: Y-m-d, যেমন, "2025-01-01")।
date_to স্ট্রিং না ফিল্টারিংয়ের জন্য শেষ তারিখ (ফরম্যাট: Y-m-d, যেমন, "2025-12-31")।
sort_by স্ট্রিং না সর্ট ফিল্ড: creation, activity, popularity।
sort_order স্ট্রিং না সর্ট দিক: asc বা desc।
প্যারামিটার ডেটা টাইপ বিবরণ
status স্ট্রিং অনুরোধের সফল সম্পাদন ("success") বা ত্রুটি ("error") নির্দেশক ক্ষেত্র।
msg স্ট্রিং ত্রুটি বার্তা বা অতিরিক্ত অনুরোধ তথ্য।
code সংখ্যা প্রতিক্রিয়া কোড, যেমন, সফল অনুরোধের জন্য 200।
data Object অনুরোধের সাথে মিলে যাওয়া ফ্লো ডেটার অ্যারে।
└ format স্ট্রিং ক্রিয়েটিভ ফরম্যাট (push, inpage, facebook, tiktok)।
└ items অ্যারে ক্রিয়েটিভ অবজেক্টের অ্যারে।
  └ id সংখ্যা অনন্য ক্রিয়েটিভ শনাক্তকারী।
  └ title স্ট্রিং ক্রিয়েটিভ শিরোনাম টেক্সট।
  └ description স্ট্রিং ক্রিয়েটিভ বিবরণ টেক্সট।
  └ category স্ট্রিং ক্রিয়েটিভ ফরম্যাট/ক্যাটাগরি (push, inpage, facebook, tiktok)।
  └ country Object দেশ তথ্য অবজেক্ট (code, name, iso_code_3)।
    └ code স্ট্রিং ISO 3166-1 alpha-2 দেশ কোড (যেমন, বাংলাদেশের জন্য "BD")।
    └ name স্ট্রিং ইংরেজিতে দেশের নাম।
    └ iso_code_3 স্ট্রিং ISO 3166-1 alpha-3 দেশ কোড (যেমন, বাংলাদেশের জন্য "BGD")।
  └ file_size স্ট্রিং ফরম্যাট করা মোট ফাইল আকার।
  └ icon_url স্ট্রিং ক্রিয়েটিভ আইকন ইমেজ URL।
  └ main_image_url স্ট্রিং ক্রিয়েটিভ প্রধান ইমেজ URL।
  └ landing_url স্ট্রিং ল্যান্ডিং পেজ URL।
  └ created_at স্ট্রিং ক্রিয়েটিভ তৈরির তারিখ (Y-m-d ফরম্যাট)।
  └ advertising_networks অ্যারে বিজ্ঞাপন নেটওয়ার্ক নামের অ্যারে।
  └ languages অ্যারে ISO ভাষা কোডের অ্যারে।
  └ operating_systems অ্যারে অপারেটিং সিস্টেম মানের অ্যারে।
  └ browsers অ্যারে ব্রাউজার নামের অ্যারে।
  └ devices অ্যারে ডিভাইস ধরনের অ্যারে।
  └ is_adult Boolean ক্রিয়েটিভে প্রাপ্তবয়স্ক কন্টেন্ট আছে কিনা।
  └ is_active Boolean ক্রিয়েটিভ বর্তমানে সক্রিয় কিনা।
└ pagination Object পেজিনেশন তথ্য অবজেক্ট।
  └ total সংখ্যা ফিল্টারের সাথে মিলে যাওয়া মোট ক্রিয়েটিভ সংখ্যা।
  └ limit সংখ্যা প্রতি পৃষ্ঠায় আইটেম সংখ্যা।
  └ offset সংখ্যা বর্তমান অফসেট।
  └ has_more Boolean আরও আইটেম উপলব্ধ আছে কিনা।
  └ returned_count সংখ্যা এই প্রতিক্রিয়ায় ফেরত দেওয়া আইটেম সংখ্যা।
└ filters_applied Object প্রয়োগ করা ফিল্টার ধারণকারী অবজেক্ট।
└ timestamp স্ট্রিং ISO 8601 ফরম্যাটে প্রতিক্রিয়া টাইমস্ট্যাম্প।
<?php

function searchNativeCreatives($params = [])
{
    
$ch curl_init('https://spy.house/api/search/native');

    
curl_setopt($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 searchNativeCreatives($params);

if (
$result && $result['status'] === 'success') {
    foreach (
$result['data']['items'] as $creative) {
        echo 
"ID: " $creative['id'] . " - " $creative['title'] . "\n";
    }
    echo 
"Total: " $result['data']['pagination']['total'] . "\n";
}

// Example 2: Search with ISO codes/names filters
$paramsWithFilters = [
    
'api_key' => 'YOUR_API_KEY',
    
'limit' => 50,
    
'offset' => 0,
    
'keyword' => 'casino',
    
'countries' => ['US''GB''DE'],  // ISO-2 codes
    
'languages' => ['EN'],                 // ISO codes
    
'browsers' => ['Chrome''Firefox'],    // Browser names
    
'sort_by' => 'creation',
    
'sort_order' => 'desc',
];

$filteredResult searchNativeCreatives($paramsWithFilters);

// Example 3: Search with ID-based filters (recommended)
// Use IDs from /api/filters/* endpoints for better performance
$paramsWithIds = [
    
'api_key' => 'YOUR_API_KEY',
    
'limit' => 50,
    
'offset' => 0,
    
'keyword' => 'casino',
    
'country_ids' => [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 searchNativeCreatives($paramsWithIds);

// Note: ID-based filters take precedence over name-based filters
// If both country_ids and countries are provided, country_ids will be used

Facebook ক্রিয়েটিভ অনুসন্ধান

বিভিন্ন ফিল্টার সহ Facebook ক্রিয়েটিভ অনুসন্ধান। ফলাফল কম হলে, API লাইভ সার্চ শুরু করতে পারে এবং পোলিংয়ের জন্য scrapingJob ফেরত দিতে পারে।

যদি scrapingJob.needStartPolling true হয়, নতুন আইটেম পেতে isPolling=true এবং job_id সহ একই এন্ডপয়েন্ট কল করুন। স্ট্যাটাস recently_completed বা rejected হলে, কোনো জব তৈরি হয় না এবং পোলিং শুরু করা উচিত নয়।

লাইভ সার্চ শুধুমাত্র তখনই শুরু হয় যখন countries অ্যারেতে ঠিক একটি দেশ নির্দিষ্ট করা হয়।

লাইভ সার্চ শুধুমাত্র তখনই শুরু হয় যখন একটি অ-শূন্য কীওয়ার্ড প্রদান করা হয়।

অনুরোধ URL

প্যারামিটার ডেটা টাইপ প্রয়োজনীয় বিবরণ
api_key স্ট্রিং হ্যাঁ অনুরোধ প্রমাণীকরণের জন্য অনন্য API কী।
limit সংখ্যা না প্রতি পৃষ্ঠায় আইটেম সংখ্যা (10-100)। ডিফল্ট: 10।
offset সংখ্যা না এড়িয়ে যাওয়া আইটেম সংখ্যা। পেজিনেশনের জন্য ব্যবহৃত। ডিফল্ট: 0।
keyword স্ট্রিং না শিরোনাম বা বিবরণ দ্বারা ক্রিয়েটিভ ফিল্টার করতে অনুসন্ধান কীওয়ার্ড।
countries অ্যারে না ISO-2 দেশ কোডের অ্যারে (যেমন, ["US", "GB", "DE"])।
country_ids অ্যারে না /api/filters/countries এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। countries এর উপর অগ্রাধিকার।
languages অ্যারে না ISO ভাষা কোডের অ্যারে (যেমন, ["EN", "BN", "DE"])।
lang_ids অ্যারে না /api/filters/languages এন্ডপয়েন্ট থেকে ভাষা আইডির অ্যারে। 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 সংখ্যা না ইনক্রিমেন্টাল পোলিংয়ের জন্য সর্বশেষ প্রাপ্ত ক্রিয়েটিভ আইডি (ঐচ্ছিক)।
perPage সংখ্যা না কম ফলাফল সনাক্তকরণের জন্য প্রত্যাশিত পৃষ্ঠা আকার (12-96)।
job_id স্ট্রিং না scrapingJob থেকে লাইভ সার্চ জব আইডি। 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 দেশ কোড (যেমন, বাংলাদেশের জন্য "BD")।
    └ name স্ট্রিং ইংরেজিতে দেশের নাম।
    └ iso_code_3 স্ট্রিং ISO 3166-1 alpha-3 দেশ কোড (যেমন, বাংলাদেশের জন্য "BGD")।
  └ 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 এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। countries এর উপর অগ্রাধিকার।
languages অ্যারে না ISO ভাষা কোডের অ্যারে (যেমন, ["EN", "BN", "DE"])।
lang_ids অ্যারে না /api/filters/languages এন্ডপয়েন্ট থেকে ভাষা আইডির অ্যারে। 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 সংখ্যা না ইনক্রিমেন্টাল পোলিংয়ের জন্য সর্বশেষ প্রাপ্ত ক্রিয়েটিভ আইডি (ঐচ্ছিক)।
perPage সংখ্যা না কম ফলাফল সনাক্তকরণের জন্য প্রত্যাশিত পৃষ্ঠা আকার (12-96)।
job_id স্ট্রিং না scrapingJob থেকে লাইভ সার্চ জব আইডি। 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 দেশ কোড (যেমন, বাংলাদেশের জন্য "BD")।
    └ name স্ট্রিং ইংরেজিতে দেশের নাম।
    └ iso_code_3 স্ট্রিং ISO 3166-1 alpha-3 দেশ কোড (যেমন, বাংলাদেশের জন্য "BGD")।
  └ 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);