Skip to main content

Official Python SDK for Agent Index - The discovery layer for x402 AI agents

Project description

agentindex

The official Python SDK for Agent Index — the discovery layer for x402 AI agents.

PyPI version Python

Installation

pip install agentindex

With LangChain support:

pip install agentindex[langchain]

Quick Start

from agentindex import AgentIndex

client = AgentIndex()

# Search for crypto price agents
results = client.search("crypto price")
for agent in results.results:
    print(f"{agent.description} - ${agent.price_usd}/call")

# Get trending agents
trending = client.trending()
print(trending.trending)

Async Support

import asyncio
from agentindex import AsyncAgentIndex

async def main():
    async with AsyncAgentIndex() as client:
        results = await client.search("weather forecast")
        print(results.results)

asyncio.run(main())

API Reference

Constructor

client = AgentIndex(
    base_url="https://api.theagentindex.app",  # default
    timeout=10.0,  # default, in seconds
)

Methods

search() — Search for agents

results = client.search(
    query="crypto price",       # required
    category="crypto",          # optional: crypto, defi, ai, weather, news, oracle
    max_price=0.05,             # optional: max USD per call
    limit=20,                   # optional: default 10, max 50
)

# results.count - total matches
# results.results - list of Agent objects

trending() — Get trending agents

trending = client.trending()
for agent in trending.trending:
    print(agent.description)

health() — Check API status

health = client.health()
print(f"Status: {health.status}")

recommend() — AI-powered recommendations

Premium endpoint — requires x402 payment ($0.005/call)

recs = client.recommend(
    use_case="I need real-time crypto prices for my trading bot",
    max_price=0.02,
    limit=5,
)

analytics() — Endpoint analytics

Premium endpoint — requires x402 payment ($0.01/call)

analytics = client.analytics(
    target="crypto",  # category or agent ID
    period="7d",      # 24h, 7d, or 30d
)
print(f"Total calls: {analytics.total_calls}")

Models

class Agent:
    id: str                    # Unique identifier
    url: str                   # Endpoint URL
    domain: str                # Domain name
    description: str           # Capabilities
    price_usd: float           # Price per call
    category: str              # Category
    health: str                # healthy, degraded, down, unknown
    tier: str                  # A, B, C, D
    score: int                 # Trust score (0-100)

LangChain Integration

from agentindex import create_langchain_tool

# Create a tool for your LangChain agent
tool = create_langchain_tool()

# Use in your agent
from langchain.agents import AgentExecutor
# ... add tool to your agent

Quick Search

One-liner convenience function:

from agentindex import search

agents = search("crypto prices", category="defi")

Examples

Find the cheapest agent

from agentindex import AgentIndex

with AgentIndex() as client:
    results = client.search("crypto price", category="crypto", max_price=0.01)
    
    # Sort by price
    cheapest = sorted(results.results, key=lambda a: a.price_usd)
    print(f"Cheapest: {cheapest[0].url} at ${cheapest[0].price_usd}/call")

Filter healthy agents only

results = client.search("weather")
healthy = [a for a in results.results if a.health == "healthy"]
print(f"{len(healthy)} healthy agents found")

Build an agent that finds other agents

from agentindex import AgentIndex

def find_best_agent(capability: str) -> str:
    """Find the best agent for a capability."""
    with AgentIndex() as client:
        results = client.search(capability, limit=5)
        
        # Pick best healthy agent by score
        healthy = [a for a in results.results if a.health == "healthy"]
        if not healthy:
            raise ValueError(f"No healthy agent found for: {capability}")
        
        best = max(healthy, key=lambda a: a.score)
        return best.url

# Your AI can now dynamically find tools
weather_api = find_best_agent("weather forecast")
print(f"Using: {weather_api}")

Error Handling

from agentindex import AgentIndex, AgentIndexError

client = AgentIndex()

try:
    results = client.search("test")
except AgentIndexError as e:
    print(f"API Error: {e.message}")
    print(f"Status: {e.status_code}")

Rate Limits

  • Free tier: 100 requests/minute
  • Premium endpoints: Unlimited (pay-per-call via x402)

Support

License

MIT © 402 Agent Inc

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentindex-1.0.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentindex-1.0.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file agentindex-1.0.0.tar.gz.

File metadata

  • Download URL: agentindex-1.0.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for agentindex-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a9c68d785464e8e19f3fb386655e722556698a703ec40590c38223c048cb8c12
MD5 f2af7da91c7c14667b6decb0ff9d3bc7
BLAKE2b-256 280fedac31b08efc9f76637489bca659c1d60901fb1b878fd240b1dc594ea5e2

See more details on using hashes here.

File details

Details for the file agentindex-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: agentindex-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for agentindex-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 69d82e8ca6b25e9abdd55f99e5a3b9a7fda0d49dfc28908d8d56a535f3e0d498
MD5 d1f9ce87d7c36744d1fc168ec6406a5e
BLAKE2b-256 7a5fcdde388447357a4016738c0adc351e9bd34f1d7fb4af948367a82ca201c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page