Docs
Python Examples
Python Examples
Complete Python examples for the ArbBets API.
Basic Example
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://getarbitragebets.com"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
params = {
"investment": 100,
"min_profit": 1.9
}
response = requests.get(
f"{BASE_URL}/api/internal/arbs-full_2",
headers=headers,
params=params
)
data = response.json()
print(f"Found {data['profitable_count']} profitable opportunities")Processing Arbitrage Opportunities
import requests
def get_arbitrages(api_key, investment=100, min_profit=1.9):
"""Fetch arbitrage opportunities from ArbBets API."""
response = requests.get(
"https://getarbitragebets.com/api/internal/arbs-full_2",
headers={"Authorization": f"Bearer {api_key}"},
params={"investment": investment, "min_profit": min_profit}
)
if response.status_code != 200:
raise Exception(f"API error: {response.status_code}")
return response.json()
def display_opportunities(data):
"""Display profitable arbitrage opportunities."""
print(f"Generated at: {data['generated_at']}")
print(f"Investment: ${data['investment_amount']}")
print(f"Markets analyzed: {data['total_markets_analyzed']}")
print(f"Profitable opportunities: {data['profitable_count']}")
print("-" * 50)
for arb in data['profitable_arbitrages']:
print(f"\nMarket: {arb['market_name_a']}")
print(f" Profit: ${arb['best_arbitrage']['net_profit']:.2f} ({arb['best_arbitrage']['roi_percent']:.2f}%)")
print(f" Strategy: {arb['best_arbitrage']['combination']}")
print(f" {arb['best_arbitrage']['platform_1']}: {arb['best_arbitrage']['side_1']} @ {arb['best_arbitrage']['price_1']} - ${arb['best_arbitrage']['bet_amount_1']:.2f}")
print(f" {arb['best_arbitrage']['platform_2']}: {arb['best_arbitrage']['side_2']} @ {arb['best_arbitrage']['price_2']} - ${arb['best_arbitrage']['bet_amount_2']:.2f}")
print(f" Kalshi: {arb['url_a']}")
print(f" Polymarket: {arb['url_b']}")
# Usage
API_KEY = "your_api_key_here"
data = get_arbitrages(API_KEY, investment=100, min_profit=2.0)
display_opportunities(data)Filter by ROI
def get_high_roi_opportunities(data, min_roi=3.0):
"""Filter opportunities by minimum ROI percentage."""
return [
arb for arb in data['profitable_arbitrages']
if arb['best_arbitrage']['roi_percent'] >= min_roi
]
# Get only opportunities with 3%+ ROI
high_roi = get_high_roi_opportunities(data, min_roi=3.0)
print(f"Found {len(high_roi)} opportunities with 3%+ ROI")Sort by Profit
def sort_by_profit(data, descending=True):
"""Sort opportunities by net profit."""
return sorted(
data['profitable_arbitrages'],
key=lambda x: x['best_arbitrage']['net_profit'],
reverse=descending
)
# Get top 5 most profitable
top_5 = sort_by_profit(data)[:5]
for arb in top_5:
print(f"${arb['best_arbitrage']['net_profit']:.2f} - {arb['market_name_a'][:50]}")Export to CSV
import requests
import csv
from datetime import datetime
def export_to_csv(api_key, filename=None):
"""Export arbitrage opportunities to CSV file."""
response = requests.get(
"https://getarbitragebets.com/api/internal/arbs-full_2",
headers={"Authorization": f"Bearer {api_key}"},
params={"investment": 100, "min_profit": 1.9}
)
data = response.json()
if not filename:
filename = f"arbitrages_{datetime.now().strftime('%Y%m%d_%H%M%S')}.csv"
with open(filename, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow([
'Market', 'Kalshi ID', 'Net Profit', 'ROI %',
'Platform 1', 'Side 1', 'Price 1', 'Amount 1',
'Platform 2', 'Side 2', 'Price 2', 'Amount 2',
'Kalshi URL', 'Polymarket URL'
])
for arb in data['profitable_arbitrages']:
ba = arb['best_arbitrage']
writer.writerow([
arb['market_name_a'][:50],
arb['kalshi_id'],
f"{ba['net_profit']:.2f}",
f"{ba['roi_percent']:.2f}",
ba['platform_1'], ba['side_1'], ba['price_1'], f"{ba['bet_amount_1']:.2f}",
ba['platform_2'], ba['side_2'], ba['price_2'], f"{ba['bet_amount_2']:.2f}",
arb['url_a'],
arb['url_b']
])
print(f"Exported {data['profitable_count']} opportunities to {filename}")
return filename
# Usage
export_to_csv("your_api_key")