PunkPredictor API Documentation
PunkPredictor: The most accurate valuation tool for CryptoPunks. Find deals and make informed decisions.
Welcome to the PunkPredictor API documentation. PunkPredictor is the most accurate AI-powered valuation model for CryptoPunks, providing real-time price predictions, historical valuations, and market analytics for NFT collectors and investors.
Our advanced machine learning algorithms analyze multiple factors including rarity, attributes, historical sales data, and market trends to deliver precise valuations that give you an edge in the CryptoPunk market.
https://api.punkpredictor.xyzhttps://api.punkpredictor.xyz/ENDPOINT_NAME. You can query by punk ID (0-9999) for most endpoints that require specific punk data.
Key Features
As the most accurate valuation tool for CryptoPunks, PunkPredictor helps you find deals and make informed decisions with these features:
- Accurate Price Predictions: Get current estimated values for any CryptoPunk with our model
- Historical Valuations: Access historical price data to track value changes over time
- Market Analytics: Monitor floor price changes and average valuation trends
- Attribute-Based Analysis: Understand how specific attributes impact punk valuations
Authentication
All API requests require an API key that should be included in the request body. PunkPredictor offers exclusive membership access with limited availability to ensure premium service quality.
To get your API key:
- Purchase a subscription to PunkPredictor
- Once your payment is confirmed, the site will be unlocked
- Click on the key icon located in the bottom right corner of the screen
- Your unique API key will be displayed and can be copied for use in your applications
Your API key is automatically generated when you subscribe to our service and can be accessed at any time through the key icon after logging in.
Rate Limits
The API is rate limited to 30 requests per minute per API key. If you exceed this limit, you'll receive a 429 Too Many Requests response.
Our rate limits are designed to ensure fair usage and optimal performance for all members. For applications requiring higher limits, please contact our support team.
Response Status Codes
| Status Code | Description |
|---|---|
200 OK |
Request successful |
400 Bad Request |
Invalid parameters or missing required fields |
401 Unauthorized |
Invalid or missing API key |
429 Too Many Requests |
Rate limit exceeded |
500 Server Error |
Internal server error |
API Endpoints
Predict the Price of a Punk Today
Get the current predicted price for a specific CryptoPunk.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id_punk Required | integer | The ID of the CryptoPunk (0-9999) |
| api_key Required | string | Your API key for authentication |
Python Example
import requests
# Base URL
BASE_URL = 'https://api.punkpredictor.xyz'
api_key = 'YOUR_API_KEY'
def predict_price_of_punk(id_punk, api_key):
url = f"{BASE_URL}/predict_price_of_a_punk_today"
data = {
"id_punk": id_punk,
"api_key": api_key
}
response = requests.post(url, json=data)
return response.json()
# Example Usage
result = predict_price_of_punk(1234, api_key)
print(result)
Try it
Response
200 OKGet Punk Historical Valuations
Retrieve historical price valuations for a specific CryptoPunk.
Parameters
| Parameter | Type | Description |
|---|---|---|
| punk_id Required | integer | The ID of the CryptoPunk (0-9999) |
| api_key Required | string | Your API key for authentication |
Python Example
import requests
# Base URL
BASE_URL = 'https://api.punkpredictor.xyz'
api_key = 'YOUR_API_KEY'
def get_punk_history(punk_id, api_key):
url = f"{BASE_URL}/get_punk_history"
data = {
"punk_id": punk_id,
"api_key": api_key
}
response = requests.post(url, json=data)
return response.json()
# Example Usage
result = get_punk_history(1234, api_key)
print(result)
Try it
Response
200 OKGet Punk Sales History
Retrieve sales history for a specific CryptoPunk including floor price context and metadata.
Parameters
| Parameter | Type | Description |
|---|---|---|
| punk_id Required | integer | The ID of the CryptoPunk (0-9999) |
| api_key Required | string | Your API key for authentication |
Python Example
import requests
# Base URL
BASE_URL = 'https://api.punkpredictor.xyz'
api_key = 'YOUR_API_KEY'
def get_punk_sales(punk_id, api_key):
url = f"{BASE_URL}/get_punksales"
data = {
"punk_id": punk_id,
"api_key": api_key
}
response = requests.post(url, json=data)
return response.json()
# Example Usage
result = get_punk_sales(1234, api_key)
print(result)
Try it
Response
200 OKGet Punk Traits
Retrieve traits for one or more CryptoPunks by their IDs.
Parameters
| Parameter | Type | Description |
|---|---|---|
| punk_ids Required | array | Array of CryptoPunk IDs (0-9999) |
| api_key Required | string | Your API key for authentication |
Python Example
import requests
# Base URL
BASE_URL = 'https://api.punkpredictor.xyz'
api_key = 'YOUR_API_KEY'
def get_punk_traits(punk_ids, api_key):
url = f"{BASE_URL}/get_punk_traits"
data = {
"punk_ids": punk_ids,
"api_key": api_key
}
response = requests.post(url, json=data)
return response.json()
# Example Usage
result = get_punk_traits([1234, 5678, 9999], api_key)
print(result)
Try it
Response
200 OKGet Sales by Specific Traits
Retrieve sales data for CryptoPunks that have ALL specified traits (AND operation).
Parameters
| Parameter | Type | Description |
|---|---|---|
| traits Required | array | Array of trait names to filter by |
| page | integer | Page number for pagination (default: 1) |
| limit | integer | Number of results per page (default: 5, max: 1000) |
| api_key Required | string | Your API key for authentication |
Python Example
import requests
# Base URL
BASE_URL = 'https://api.punkpredictor.xyz'
api_key = 'YOUR_API_KEY'
def get_sales_by_traits(traits, api_key, page=1, limit=5):
url = f"{BASE_URL}/get_sales_by_specific_traits"
data = {
"traits": traits,
"page": page,
"limit": limit,
"api_key": api_key
}
response = requests.post(url, json=data)
return response.json()
# Example Usage
result = get_sales_by_traits(["3D Glasses", "Beanie"], api_key)
print(result)
Try it
Response
200 OKLending Analytics
Retrieve comprehensive lending analytics data including risk curves, yield curves, and distance-to-default analysis for CryptoPunk lending platforms.
Parameters
| Parameter | Type | Description |
|---|---|---|
| X-API-Key Required | string | Your API key for authentication (sent in header) |
| punk_id | integer | Optional. Filter lending data for a specific CryptoPunk ID (0-9999) |
Response Format
The response contains an array of lending data objects with the following structure:
[
{
"id": 1,
"platform": "nftfi",
"lender": "0x1234...",
"borrower": "0x5678...",
"punk_id": 1234,
"principal": "5.0",
"interest_rate": "12.5",
"duration": 30,
"ltv": 0.4,
"origination_fee": "0.1",
"status": "active",
"type": "loan",
"created_at": "2024-01-15T10:30:00Z",
"maturity_date": "2024-02-14T10:30:00Z"
}
]
Python Example
import requests
# Base URL
BASE_URL = 'https://api.punkpredictor.xyz'
api_key = 'YOUR_API_KEY'
def get_lending_analytics(api_key, punk_id=None):
url = f"{BASE_URL}/get_lending_data"
if punk_id is not None:
url = f"{url}?punk_id={punk_id}"
headers = {
'X-API-Key': api_key,
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
return response.json()
# Example Usage - Get all lending data
result = get_lending_analytics(api_key)
print(result)
# Example Usage - Get lending data for specific punk
result = get_lending_analytics(api_key, punk_id=1234)
print(result)