PantherSearch API Documentation

PantherSearch API Documentation

Published: https://telegra.ph/PantherSearch-API-Documentation-07-01


@ShoulJavi (https://t.me/ShoulJavi) • July 2026


Official bot → https://t.me/PantherSearch_Bot

Official group → https://t.me/panthersearch

Owner → https://t.me/ShoulJavi


PantherSearch Reseller API v4.0

Base URL: https://panthersearch.site

Documentation: https://panthersearch.site/docs (redirects here)



Overview


PantherSearch API is a token-based search engine for resellers.

Each API key has its own credit balance, separate from the main Telegram bot.


• HTTPS only — use https://panthersearch.site

• Auth header: x-api-key

• Search results are returned as plain text (.txt download)

• API output is clean — no Telegram promo banners in results

• Reseller keys never expire — only token balance runs out



Getting an API Key


Contact @ShoulJavi on Telegram to purchase or request a reseller key.

Keys are created with plan: basic, premium, or reseller.



🔐 Token Structure


Each API key (x-api-key) has:


tokens — total search credits (1 credit = 1 successful search with results).

daily_limit — max authenticated requests per UTC day (resets at midnight UTC).

expiration — null = lifetime / never expires.

lifetime — true when the key never expires.

plan — basic, premium, or reseller.


Default plans:


basic  → 100 tokens · 100 req/day · expires after set days

premium → 1,000 tokens · 1,000 req/day · expires after set days

reseller → 10,000 tokens · 5,000 req/day · NEVER expires


Reseller keys (important):

• expiration is always null

• lifetime is always true

• Key stops working only when: tokens = 0, daily limit reached, or key is banned

• Time-based expiration does NOT apply to reseller keys


Authentication


Send your key on every request:


x-api-key: YOUR_API_KEY


Example:

curl -H "x-api-key: YOUR_API_KEY" https://panthersearch.site/status



Billing


FREE (no tokens deducted):

• GET or POST /status

• GET /v1/key-info

• HTTP 404 NO_RESULTS (search returned nothing)


1 token deducted:

• POST /v1/search — only on HTTP 200 with results

• POST /v1/search_user — only on HTTP 200 with results



Error Codes


401 — Missing or empty x-api-key header

403 — Invalid, banned, expired (non-reseller), or INSUFFICIENT_TOKENS

404 — NO_RESULTS (search found nothing — free)

500 — SEARCH_ERROR (server/search engine error)

501 — LogSearcher not available (maintenance)



Endpoints



📄 GET / · GET /docs


Redirects to this documentation page.


https://panthersearch.site/

https://panthersearch.site/docs



📊 GET /status · POST /status


Check balance, plan, daily usage, and expiration.


URL: https://panthersearch.site/status


Headers:

x-api-key (required)


Response 200:

{

 "plan": "reseller",

 "tokens_remaining": 9500,

 "daily_limit": 5000,

 "requests_today": 12,

 "expiration": null,

 "lifetime": true

}


Reseller example: expiration null, lifetime true.



🔑 GET /v1/key-info


Detailed key validation and usage info. Does not deduct tokens.


URL: https://panthersearch.site/v1/key-info


Headers:

x-api-key (required)


Response 200:

{

 "exists": true,

 "valid": true,

 "can_use": true,

 "tokens": 9500,

 "daily_limit": 5000,

 "requests_today": 12,

 "plan": "reseller",

 "expiration": null,

 "lifetime": true

}



🔍 POST /v1/search


Search by domain or keyword. Type is auto-detected:

• query contains a dot (.) → DOMAIN search (example.com)

• query has no dot → KEYWORD search (netflix, paypal login)


URL: https://panthersearch.site/v1/search


Headers:

x-api-key (required)

Content-Type: application/json


Body:

{

 "query": "example.com",

 "format": "emailpass",

 "fresh": false,

 "premium": false

}


Parameters:

query (required) — domain or keyword

format (optional) — full | emailpass | onlyemail | onlypass (default: full)

fresh (optional) — true = newest first (default: false)

premium (optional) — true = premium database (default: false)


Output formats:

full   → url|user:pass | DateAdded: date

emailpass → user:pass

onlyemail → email/username only

onlypass → password only


Response 200: plain text file download (.txt)

Response 404: {"detail":"NO_RESULTS"} — free, no token charged


Output notes:

• Results are clean text only — no =========== banners

• One token charged per successful search (HTTP 200)



👤 POST /v1/search_user


Search by username.


URL: https://panthersearch.site/v1/search_user


Headers:

x-api-key (required)

Content-Type: application/json


Body:

{

 "username": "johndoe",

 "format": "emailpass",

 "fresh": false,

 "premium": false

}


Parameters:

username (required)

format (optional) — default: full

fresh (optional) — default: false

premium (optional) — default: false


Response 200: plain text file (.txt)

Response 404: NO_RESULTS — free



cURL Examples



Check balance:

curl -s "https://panthersearch.site/status" \

 -H "x-api-key: YOUR_API_KEY"


Key info:

curl -s "https://panthersearch.site/v1/key-info" \

 -H "x-api-key: YOUR_API_KEY"


Domain search (save to file):

curl -s -X POST "https://panthersearch.site/v1/search" \

 -H "x-api-key: YOUR_API_KEY" \

 -H "Content-Type: application/json" \

 -d '{"query":"example.com","format":"emailpass"}' \

 -o results.txt


Keyword search:

curl -s -X POST "https://panthersearch.site/v1/search" \

 -H "x-api-key: YOUR_API_KEY" \

 -H "Content-Type: application/json" \

 -d '{"query":"netflix","format":"full","fresh":true}' \

 -o results.txt


Username search:

curl -s -X POST "https://panthersearch.site/v1/search_user" \

 -H "x-api-key: YOUR_API_KEY" \

 -H "Content-Type: application/json" \

 -d '{"username":"johndoe","format":"emailpass"}' \

 -o results.txt



Python Example


import requests


API = "https://panthersearch.site"

KEY = "YOUR_API_KEY"

headers = {"x-api-key": KEY}


# Balance

r = requests.get(f"{API}/status", headers=headers)

print(r.json())


# Domain search

r = requests.post(

  f"{API}/v1/search",

  headers={**headers, "Content-Type": "application/json"},

  json={"query": "example.com", "format": "emailpass"},

)

if r.status_code == 200:

  open("results.txt", "wb").write(r.content)

elif r.status_code == 404:

  print("No results — no token charged")

else:

  print(r.status_code, r.text)



Quick Reference


| Endpoint      | Method  | Auth   | Cost    |

|--------------------|----------|-----------|-------------|

| /status      | GET/POST | x-api-key | Free    |

| /v1/key-info    | GET   | x-api-key | Free    |

| /v1/search     | POST   | x-api-key | 1 token   |

| /v1/search_user  | POST   | x-api-key | 1 token   |

| 404 NO_RESULTS   | —    | —     | Free    |



Support


API keys & top-ups → @ShoulJavi (https://t.me/ShoulJavi)

Official group → https://t.me/panthersearch

Main bot → https://t.me/PantherSearch_Bot


PantherSearch API v4.0 — https://panthersearch.site


Report Page