API
ভাষা তালিকা পুনরুদ্ধার
অনুরোধ 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($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 দেশ কোড (যেমন, বাংলাদেশের জন্য "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($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 এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। 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($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 এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। 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($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
return null;
}
// Example 1: Basic search with API key
$params = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
];
$result = searchInpageCreatives($params);
if ($result && $result['status'] === 'success') {
foreach ($result['data']['items'] as $creative) {
echo "ID: " . $creative['id'] . " - " . $creative['title'] . "\n";
}
echo "Total: " . $result['data']['pagination']['total'] . "\n";
}
// Example 2: Search with ISO codes/names filters
$paramsWithFilters = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US', 'GB', 'DE'], // ISO-2 codes
'languages' => ['EN'], // ISO codes
'browsers' => ['Chrome', 'Firefox'], // Browser names
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$filteredResult = searchInpageCreatives($paramsWithFilters);
// Example 3: Search with ID-based filters (recommended)
// Use IDs from /api/filters/* endpoints for better performance
$paramsWithIds = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'country_ids' => [1, 2, 3], // IDs from /api/filters/countries
'lang_ids' => [1], // IDs from /api/filters/languages
'network_ids' => [5, 10], // IDs from /api/filters/advertising-networks
'browser_ids' => [1, 2], // IDs from /api/filters/browsers
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$resultWithIds = searchInpageCreatives($paramsWithIds);
// Note: ID-based filters take precedence over name-based filters
// If both country_ids and countries are provided, country_ids will be used
Native ক্রিয়েটিভ অনুসন্ধান
বিভিন্ন ফিল্টার সহ Native (MGID/Taboola) ক্রিয়েটিভ অনুসন্ধান।
অনুরোধ URL
| প্যারামিটার | ডেটা টাইপ | প্রয়োজনীয় | বিবরণ |
|---|---|---|---|
| api_key | স্ট্রিং | হ্যাঁ | অনুরোধ প্রমাণীকরণের জন্য অনন্য API কী। |
| limit | সংখ্যা | না | প্রতি পৃষ্ঠায় আইটেম সংখ্যা (10-100)। ডিফল্ট: 10। |
| offset | সংখ্যা | না | এড়িয়ে যাওয়া আইটেম সংখ্যা। পেজিনেশনের জন্য ব্যবহৃত। ডিফল্ট: 0। |
| keyword | স্ট্রিং | না | শিরোনাম বা বিবরণ দ্বারা ক্রিয়েটিভ ফিল্টার করতে অনুসন্ধান কীওয়ার্ড। |
| countries | অ্যারে | না | ISO-2 দেশ কোডের অ্যারে (যেমন, ["US", "GB", "DE"])। |
| country_ids | অ্যারে | না | /api/filters/countries এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। 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($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$body = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['http_code']) && $info['http_code'] == 200) {
return json_decode($body, TRUE);
}
return null;
}
// Example 1: Basic search with API key
$params = [
'api_key' => 'YOUR_API_KEY',
'limit' => 20,
'offset' => 0,
];
$result = searchNativeCreatives($params);
if ($result && $result['status'] === 'success') {
foreach ($result['data']['items'] as $creative) {
echo "ID: " . $creative['id'] . " - " . $creative['title'] . "\n";
}
echo "Total: " . $result['data']['pagination']['total'] . "\n";
}
// Example 2: Search with ISO codes/names filters
$paramsWithFilters = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'countries' => ['US', 'GB', 'DE'], // ISO-2 codes
'languages' => ['EN'], // ISO codes
'browsers' => ['Chrome', 'Firefox'], // Browser names
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$filteredResult = searchNativeCreatives($paramsWithFilters);
// Example 3: Search with ID-based filters (recommended)
// Use IDs from /api/filters/* endpoints for better performance
$paramsWithIds = [
'api_key' => 'YOUR_API_KEY',
'limit' => 50,
'offset' => 0,
'keyword' => 'casino',
'country_ids' => [1, 2, 3], // IDs from /api/filters/countries
'lang_ids' => [1], // IDs from /api/filters/languages
'network_ids' => [5, 10], // IDs from /api/filters/advertising-networks
'browser_ids' => [1, 2], // IDs from /api/filters/browsers
'sort_by' => 'creation',
'sort_order' => 'desc',
];
$resultWithIds = searchNativeCreatives($paramsWithIds);
// Note: ID-based filters take precedence over name-based filters
// If both country_ids and countries are provided, country_ids will be used
Facebook ক্রিয়েটিভ অনুসন্ধান
বিভিন্ন ফিল্টার সহ Facebook ক্রিয়েটিভ অনুসন্ধান। ফলাফল কম হলে, API লাইভ সার্চ শুরু করতে পারে এবং পোলিংয়ের জন্য scrapingJob ফেরত দিতে পারে।
যদি scrapingJob.needStartPolling true হয়, নতুন আইটেম পেতে isPolling=true এবং job_id সহ একই এন্ডপয়েন্ট কল করুন। স্ট্যাটাস recently_completed বা rejected হলে, কোনো জব তৈরি হয় না এবং পোলিং শুরু করা উচিত নয়।
লাইভ সার্চ শুধুমাত্র তখনই শুরু হয় যখন countries অ্যারেতে ঠিক একটি দেশ নির্দিষ্ট করা হয়।
লাইভ সার্চ শুধুমাত্র তখনই শুরু হয় যখন একটি অ-শূন্য কীওয়ার্ড প্রদান করা হয়।
অনুরোধ URL
| প্যারামিটার | ডেটা টাইপ | প্রয়োজনীয় | বিবরণ |
|---|---|---|---|
| api_key | স্ট্রিং | হ্যাঁ | অনুরোধ প্রমাণীকরণের জন্য অনন্য API কী। |
| limit | সংখ্যা | না | প্রতি পৃষ্ঠায় আইটেম সংখ্যা (10-100)। ডিফল্ট: 10। |
| offset | সংখ্যা | না | এড়িয়ে যাওয়া আইটেম সংখ্যা। পেজিনেশনের জন্য ব্যবহৃত। ডিফল্ট: 0। |
| keyword | স্ট্রিং | না | শিরোনাম বা বিবরণ দ্বারা ক্রিয়েটিভ ফিল্টার করতে অনুসন্ধান কীওয়ার্ড। |
| countries | অ্যারে | না | ISO-2 দেশ কোডের অ্যারে (যেমন, ["US", "GB", "DE"])। |
| country_ids | অ্যারে | না | /api/filters/countries এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। 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($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 এন্ডপয়েন্ট থেকে দেশ আইডির অ্যারে। 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($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);