Publishing
API Reference
Specify Raw API Documentation
If you can't use the SDK or prefer to make direct HTTP requests, you can interact with the Specify API directly.
API Endpoint
Authentication
Headers
Header | Value | Required |
---|---|---|
|
| Yes |
| Your publisher key (starts with | Yes |
Publisher Key Format
Must start with
spk_
Must be exactly 34 characters long
Example:
spk_1234567890abcdef1234567890abcdef
Request Format
Request Body
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
|
| Yes | Array of Ethereum wallet addresses (1-50 addresses) |
|
| Yes | Image format: |
Image Formats
Format | Aspect Ratio | Resolution | Use Case |
---|---|---|---|
| 16:9 | 630x390 | Hero banners, featured placements |
| 8:1 | 728x90 | Header/footer placements, leaderboards |
| 16:5 | 320x100 | Inline content, sidebars, mobile banners |
Wallet Address Validation
Must be valid Ethereum/EVM-compatible addresses
Must start with
0x
followed by 40 hexadecimal charactersCase-insensitive
Example:
0x742d35Cc6634C0532925a3b8D57C11E4a3e1A510
Response Format
Success Response (200)
Error Response (4xx/5xx)
HTTP Status Codes
Code | Description |
---|---|
| Success - Returns ad content |
| Bad Request - Invalid input data |
| Unauthorized - Invalid API key |
| Not Found - No ad available for the wallet address(es) |
| Internal Server Error |
Usage Examples
cURL
JavaScript (Fetch API)
Python (requests)
PHP
Go
Multiple Wallet Addresses
You can send multiple wallet addresses in a single request (maximum 50 addresses):
The API will return a single ad that best matches the provided wallet addresses. To be used for one user with multiple wallets
Rate Limits
Maximum 50 wallet addresses per request
Duplicate addresses are automatically removed
Contact support if you need higher rate limits
Error Handling Best Practices
Always handle different HTTP status codes appropriately:
Schedule a call with us
Any other questions? Email us