API Documentation
The Giant Panda Parking API provides programmatic access to domain status checking, bulk domain management, and performance statistics.
Authentication
The API uses token-based authentication via Django REST Framework. All requests must include your API token in the Authorization
Authorization: Token YOUR_API_TOKENYour API token is available in the Giant Panda dashboard under Documentation → Authentication. Keep your token secure and do not share it publicly.
Error Responses
401 Unauthorized — Missing or invalid token
403 Forbidden — Token valid but insufficient permissions
Domain Status Checker
Check the status of domains against the primary CPC provider's system. Supports single and batch requests with results cached for 24 hours.
Rate Limits
- 1,000 requests per minute
- 1,000 requests per day
Cached results do not count towards rate limits.
Single Domain Request
curl -X POST https://account.giantpanda.com/api/v1/a/fd/check/ \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"domain": "example.com",
"language": "en"
}'Batch Request (up to 100 domains)
curl -X POST https://account.giantpanda.com/api/v1/a/fd/check/ \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"domains": [
{"domain": "example.com", "language": "en"},
{"domain": "example2.com"}
]
}'Response
{
"results": {
"example.com": {
"adult": false,
"fallListed": false,
"fallListReason": null,
"blocked": false,
"blockedReason": null,
"error": null,
"cached": true,
"cache_exp": "23h 24m"
}
},
"rate_limit": {
"remaining_minute": 998,
"remaining_day": 997,
"reset_minute": "2026-04-10T22:09:00.000Z",
"reset_day": "2026-04-10T23:00:00.000Z"
}
}Add Domains
Add multiple domains to the system via API. Validates each domain name, extracts the TLD, and creates domain records. Duplicate domains are tracked but not recreated.
Request
curl -X POST https://account.giantpanda.com/api/v1/domains/add/ \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"domains": [
{"name": "mydomain.com"},
{"name": "another-domain.org"}
]
}'Response
{
"created": ["mydomain.com", "another-domain.org"],
"existing": ["old.com"],
"created_count": 2,
"existing_count": 1
}Notes:
- Domain names are automatically converted to lowercase
- Invalid domain names (missing TLD) are rejected
- Duplicate domains in the request are handled gracefully
- The system tracks both newly created and existing domains
Domain Statistics
Retrieve paginated domain performance metrics including requests, queries, clicks, revenue, RPM (Revenue Per Mille), and CTR (Click-Through Rate). Results are grouped by date and domain name.
Query Parameters
| Parameter | Required | Description |
|---|---|---|
start_date | Yes | Start date in YYYY-MM-DD format |
end_date | Yes | End date in YYYY-MM-DD format |
page | No | Page number (default: 1) |
page_size | No | Results per page (default: 50) |
Request
curl 'https://account.giantpanda.com/api/v1/domains/stats/?start_date=2026-01-01&end_date=2026-03-31&page=1&page_size=50' \
-H 'Authorization: Token YOUR_API_TOKEN'Response
{
"start_date": "2026-01-01",
"end_date": "2026-03-31",
"stats": {
"2026-01-01": {
"example.com": {
"requests": 1000,
"queries": 800,
"clicks": 50,
"revenue": 25.50,
"rpm": 25.50,
"net": 25.50,
"ctr": 6.25
}
}
},
"pagination": {
"page": 1,
"page_size": 50,
"total_count": 100,
"total_pages": 2,
"has_next": true,
"has_previous": false
}
}Notes:
- Date range is inclusive of both start_date and end_date
- Revenue values are adjusted based on user's commission rate
- RPM is calculated as (revenue / requests) × 1000
- CTR is calculated as (clicks / requests) × 100
- Results are ordered by date and domain name
Getting Started
API access is included with every Giant Panda account. Log in to the Giant Panda dashboard. Apply for access.