Python SDK for AdsonAI contextual advertising platform
Project description
AdsonAI Python SDK
Python SDK for AdsonAI - AI-powered contextual advertising platform.
🚀 Quick Start
Installation
pip install adsonai-sdk
Get API Key
- Visit AdsonAI Dashboard
- Create a new API key
- Copy your key (starts with
adsonai_)
Basic Usage
from adsonai_sdk import AdsonAI
# Initialize client
client = AdsonAI(api_key="your_adsonai_api_key")
# Get contextual ads
ads = client.get_contextual_ads("I need running shoes", max_ads=3)
# Display results
for ad in ads:
print(f"🏷️ {ad.brand_name} - {ad.product_name}")
print(f"💬 {ad.ad_text}")
print(f"💰 Bid: ${ad.bid_amount}")
if ad.landing_url:
print(f"🔗 {ad.landing_url}")
print()
client.close()
📖 Documentation
AdsonAI Class
AdsonAI(api_key, base_url=None, timeout=30)
Initialize the AdsonAI client.
Parameters:
api_key(str): Your AdsonAI API keybase_url(str, optional): Custom API base URLtimeout(int, optional): Request timeout in seconds
test_connection()
Test connection to the AdsonAI API.
Returns: bool - True if successful
get_contextual_ads(query, max_ads=3, context=None)
Get contextual ads using AI matching.
Parameters:
query(str): User query or conversation contextmax_ads(int): Maximum ads to return (1-10)context(dict, optional): Additional context for matching
Returns: List[Ad] - List of matched ads
Ad Object
Properties:
id: Unique ad identifierbrand_name: Brand or company nameproduct_name: Product or service namedescription: Ad descriptionad_text: Display text for the adbid_amount: Bid amount in USDlanding_url: Landing page URL (optional)target_keywords: Target keywordsstatus: Ad status
Exception Handling
from adsonai_sdk import AdsonAI, AuthenticationError, APIError, ValidationError
try:
client = AdsonAI(api_key="your_key")
ads = client.get_contextual_ads("search query")
except AuthenticationError:
print("Invalid API key")
except APIError as e:
print(f"API error: {e}")
except ValidationError as e:
print(f"Validation error: {e}")
💡 Examples
Context Manager
with AdsonAI(api_key="your_key") as client:
ads = client.get_contextual_ads("smart home devices")
for ad in ads:
print(f"{ad.brand_name}: {ad.ad_text}")
Convenience Function
from adsonai_sdk import get_ads
# Quick one-liner
ads = get_ads("your_key", "gaming laptop", max_ads=5)
Chatbot Integration
def get_sponsored_suggestion(user_message):
try:
ads = get_ads(API_KEY, user_message, max_ads=1)
if ads:
ad = ads[0]
return f"💡 {ad.brand_name}: {ad.ad_text}"
except Exception:
pass
return None
# In your chatbot
user_input = "I need a new coffee maker"
suggestion = get_sponsored_suggestion(user_input)
if suggestion:
print(suggestion)
E-commerce Integration
def show_sponsored_products(search_query):
with AdsonAI(api_key=API_KEY) as client:
ads = client.get_contextual_ads(search_query, max_ads=3)
print("🎯 Sponsored Products:")
for ad in ads:
print(f"• {ad.brand_name} - {ad.product_name}")
print(f" {ad.ad_text}")
print(f" ${ad.bid_amount} | {ad.landing_url}")
🔧 Advanced Usage
With Additional Context
context = {
'user_location': 'San Francisco',
'user_age': '25-34',
'interests': ['fitness', 'technology'],
'budget': 'mid-range'
}
ads = client.get_contextual_ads(
"workout equipment",
max_ads=5,
context=context
)
Error Handling with Retries
import time
from adsonai_sdk import AdsonAI, APIError
def get_ads_with_retry(query, max_retries=3):
for attempt in range(max_retries):
try:
with AdsonAI(api_key=API_KEY) as client:
return client.get_contextual_ads(query)
except APIError as e:
if e.status_code == 429: # Rate limit
time.sleep(2 ** attempt) # Exponential backoff
continue
raise
return []
🧪 Testing
# Set your API key
export ADSONAI_API_KEY="your_actual_api_key"
# Run tests
python -m pytest tests/
# Run integration test
python test_live_api.py
📝 License
MIT License - see LICENSE file for details.
🤝 Support
- 📚 Documentation: https://docs.adsonai.com
- 🎛️ Dashboard: https://adsonai.vercel.app
- 🐛 Issues: GitHub Issues
- 📧 Email: developers@adsonai.com
🛣️ Roadmap
- Async support with
aiohttp - Batch ad matching
- Advanced analytics
- Webhook support
- Ad performance tracking
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adsonai-1.0.0.tar.gz.
File metadata
- Download URL: adsonai-1.0.0.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21ca3c5e0f8dce145c6d6125f3dac8bc874650c75e7b37437c6d751f3833b4fb
|
|
| MD5 |
842ca6f3aa53cebe07ccaa0a6a2033c8
|
|
| BLAKE2b-256 |
a5f659695b2854bb4b9df913bb81334c4b82ff69ff498d951cc929e4cbcb2f41
|
File details
Details for the file adsonai-1.0.0-py3-none-any.whl.
File metadata
- Download URL: adsonai-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdf43d9cd242d3a27e7b9ce8891e3e991897c7e6efbfb4c5dfc4b6a920b8c9e1
|
|
| MD5 |
d4a074b6cb780829a18aea9ce1af35d6
|
|
| BLAKE2b-256 |
9e5b69219851b09764e7703638250021e671e374d8212e59a0cc705e0cd82a69
|