TradingAgents/api/START_API.md

3.5 KiB

Trading Agents API - Quick Start

Get your API running in 2 simple steps!

Prerequisites

  • Python 3.10+
  • Environment variables set (OPENAI_API_KEY, ALPHA_VANTAGE_API_KEY)

Setup

Step 1: Install Dependencies

cd TradingAgents
pip install -r requirements.txt

Step 2: Start the API

python -m api.main

That's it! 🎉

First Run Auto-Setup

On first run, the API automatically:

  • Creates the database
  • Generates a default API key
  • Displays the key in console logs

SAVE THE API KEY! You'll see output like this:

======================================================================
FIRST RUN DETECTED - Setting up Trading Agents API
======================================================================

✓ Database initialized successfully!
✓ Default API key created!

======================================================================
YOUR API KEY (save this, it won't be shown again):

  BgA2YyMlxYus2aIGJ5KGCPQO-q8k05WxTirayVZgPrM

======================================================================
Use this key in the X-API-Key header for all API requests.
Manage keys with: python -m api.cli_admin
======================================================================

Test Your API

Open your browser:

Or test with curl:

curl -X POST "http://localhost:8001/api/v1/analyses" \
  -H "X-API-Key: YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "ticker": "AAPL",
    "analysis_date": "2025-10-21",
    "selected_analysts": ["market"],
    "research_depth": 1
  }'

Alternative Startup Methods

# Option 1: Direct Python (default port 8001)
python -m api.main

# Option 2: Startup script
./run_api.sh

# Option 3: Custom port
API_PORT=8002 python -m api.main

# Option 4: Using uvicorn directly
uvicorn api.main:app --host 0.0.0.0 --port 8001

Managing API Keys

After initial setup, manage keys with the admin CLI:

# List all API keys
python -m api.cli_admin list-keys

# Create a new API key
python -m api.cli_admin create-key "Frontend App"

# Revoke an API key
python -m api.cli_admin revoke-key 1

# Activate a revoked key
python -m api.cli_admin activate-key 1

Configuration (Optional)

Set these environment variables before starting:

# Maximum concurrent analyses (default: 4)
export MAX_CONCURRENT_ANALYSES=8

# Custom database location
export API_DATABASE_URL="sqlite:///./my_custom.db"

# Custom port
export API_PORT=8002

Troubleshooting

"Invalid or inactive API key"

  • Use the exact key from the first-run console output
  • Check active keys: python -m api.cli_admin list-keys

Port already in use

  • Change port: API_PORT=8002 python -m api.main

Database already exists but no API key

  • Create one: python -m api.cli_admin create-key "My Key"

Import errors

  • Ensure you're in the TradingAgents directory
  • Use: python -m api.main (not python api/main.py)

Full Documentation

  • Quick Start: QUICKSTART.md (one-command setup)
  • This Guide: START_API.md (you are here)
  • Detailed Guide: API_QUICKSTART.md
  • Full API Docs: README.md
  • Implementation: API_IMPLEMENTATION_SUMMARY.md

What's Next?

  1. Check out the interactive docs at http://localhost:8001/docs
  2. Try creating an analysis via the API
  3. Build your frontend integration
  4. Read the full documentation in README.md

Your Trading Agents API is ready! 🚀