Stop wrestling with unreliable automation. Battle-tested, production-ready agents trusted by leading companies. No brittle scripts. No maintenance nightmares. Just natural language that works.Tasks. Purchases. Research. Complex workflows. All in plain English.
What makes AGI different? Our agents understand context, adapt to website changes, and handle edge cases automatically. They work like humans: intelligently, reliably, and at scale.
Production Ready
Battle-tested at scale by leading companies handling millions of tasks
Fast Setup
Get started in minutes. No configuration needed.
Enterprise Security
Security-first architecture with isolated sessions
From simple automation to complex multi-step workflows. AGI agents handle web navigation, form filling, data extraction, and decision-making—all through natural language.
Pro Tip: Start with simple tasks to understand agent behavior, then scale to complex workflows. Watch agents work in real-time via VNC connections.
E-commerce & Shopping
Price comparison, inventory tracking, deal finding, and automated purchases.
Research & Data Collection
Competitive intelligence, trend monitoring, and data extraction to JSON/CSV.
Travel & Bookings
Flight and hotel comparison, fare monitoring, and automated booking workflows.
Form Automation
Job applications, lead forms, and multi-step registrations with verification.
Sales & Marketing
Lead enrichment, competitor analysis, and prospect list generation.
Custom Workflows
Any web-based task with intelligent navigation, scheduling, and webhooks.
Launch a new browser session. Each session runs in complete isolation.
JavaScript
Python
HTTPie
Copy
import { AGIClient } from 'agi';const client = new AGIClient({ apiKey: 'your_api_key' });
Copy
from pyagi import AGIClientclient = AGIClient(api_key="your_api_key")
Copy
export AGI_API_KEY="your_api_key"
Open the vnc_url to watch your agent work in real-time!
3
Send Instructions
Give the agent instructions in plain English. No scripting required.
JavaScript
Python
HTTPie
Copy
const session = await client.createSession('agi-0');const result = await session.runTask( 'Find the cheapest iPhone 15 Pro on Amazon, Best Buy, and Apple Store');await session.delete();
Copy
with client.session("agi-0") as session: result = session.run_task( "Find the cheapest iPhone 15 Pro on Amazon, Best Buy, and Apple Store" )
Copy
SESSION=$(http POST https://api.agi.tech/v1/sessions \ Authorization:"Bearer $AGI_API_KEY" \ agent_name=agi-0 | jq -r '.session_id')http POST https://api.agi.tech/v1/sessions/$SESSION/message \ Authorization:"Bearer $AGI_API_KEY" \ message="Find the cheapest iPhone 15 Pro on Amazon, Best Buy, and Apple Store"# Poll for results (see quickstart for full example)
4
Get Results
Get structured data. Stream events in real-time or poll at your own pace.
JavaScript
Python
HTTPie
Copy
// Results are automatically returnedconsole.log(result); // JSON string or parsed object
Copy
# Results are automatically returnedprint(result) # JSON string or parsed object
Copy
# Poll for messages until DONEhttp GET https://api.agi.tech/v1/sessions/$SESSION/messages \ Authorization:"Bearer $AGI_API_KEY" | jq '.messages[] | select(.type=="DONE")'
Built by developers, for developers. AGI API has processed millions of tasks for leading companies. Clean APIs, comprehensive docs, world-class support.
Natural Language
Tell agents what you need in plain English. No scripting required.
Real-Time Monitoring
Watch agents work live through VNC connections.
Persistent Sessions
Maintain login state and context across tasks.
Event Streaming
Real-time updates via Server-Sent Events (SSE).
Production Ready
Enterprise-grade reliability with automatic error recovery.
Complete example: compare prices across multiple retailers.
JavaScript
Python
HTTPie
Copy
import { AGIClient } from 'agi';const client = new AGIClient({ apiKey: 'your_api_key' });// Create session and run taskconst session = await client.createSession('agi-0');try { const result = await session.runTask( 'Compare Sony WH-1000XM5 prices on Amazon, Best Buy, and Target. Return as JSON.' ); console.log('Results:', result);} finally { await session.delete();}
Copy
from pyagi import AGIClientclient = AGIClient(api_key="your_api_key")# Create session and run taskwith client.session("agi-0") as session: result = session.run_task( "Compare Sony WH-1000XM5 prices on Amazon, Best Buy, and Target. Return as JSON." ) print("Results:", result)
Copy
# Set your API keyexport AGI_API_KEY="your_api_key"# Create sessionSESSION=$(http POST https://api.agi.tech/v1/sessions \ Authorization:"Bearer $AGI_API_KEY" \ agent_name=agi-0 | jq -r '.session_id')# Send taskhttp POST https://api.agi.tech/v1/sessions/$SESSION/message \ Authorization:"Bearer $AGI_API_KEY" \ message="Compare Sony WH-1000XM5 prices on Amazon, Best Buy, and Target. Return as JSON."# Poll for resultswhile true; do STATUS=$(http GET https://api.agi.tech/v1/sessions/$SESSION/status \ Authorization:"Bearer $AGI_API_KEY" | jq -r '.status') if [ "$STATUS" = "finished" ]; then http GET https://api.agi.tech/v1/sessions/$SESSION/messages \ Authorization:"Bearer $AGI_API_KEY" | jq '.messages[] | select(.type=="DONE")' break fi sleep 2done# Cleanuphttp DELETE https://api.agi.tech/v1/sessions/$SESSION \ Authorization:"Bearer $AGI_API_KEY"
const session = await client.createSession('agi-0-fast');const result = await session.runTask(` Check prices for [product] on: - competitor1.com - competitor2.com - competitor3.com Return comparison table with prices and availability.`);await session.delete();
Copy
with client.session("agi-0-fast") as session: result = session.run_task(""" Check prices for [product] on: - competitor1.com - competitor2.com - competitor3.com Return comparison table with prices and availability. """)
Copy
SESSION=$(http POST https://api.agi.tech/v1/sessions \ Authorization:"Bearer $AGI_API_KEY" \ agent_name=agi-0-fast | jq -r '.session_id')http POST https://api.agi.tech/v1/sessions/$SESSION/message \ Authorization:"Bearer $AGI_API_KEY" \ message="Check prices for [product] on competitor1.com, competitor2.com, competitor3.com. Return comparison table with prices and availability."
const session = await client.createSession('agi-0');const result = await session.runTask(` Find round-trip flights: - From: SFO - To: JFK - Dates: June 15-22 - Max price: $500 - Prefer: Morning departures Show top 3 options sorted by price.`);await session.delete();
Copy
with client.session("agi-0") as session: result = session.run_task(""" Find round-trip flights: - From: SFO - To: JFK - Dates: June 15-22 - Max price: $500 - Prefer: Morning departures Show top 3 options sorted by price. """)
Copy
SESSION=$(http POST https://api.agi.tech/v1/sessions \ Authorization:"Bearer $AGI_API_KEY" \ agent_name=agi-0 | jq -r '.session_id')http POST https://api.agi.tech/v1/sessions/$SESSION/message \ Authorization:"Bearer $AGI_API_KEY" \ message="Find round-trip flights: From SFO, To JFK, Dates June 15-22, Max price $500, Prefer morning departures. Show top 3 options sorted by price."
JavaScript
Python
HTTPie
Copy
const session = await client.createSession('agi-0-fast');const result = await session.runTask(` Go to: example.com/products Extract all products with: - Product name - Price - Rating - Availability Return as JSON array.`);await session.delete();
Copy
with client.session("agi-0-fast") as session: result = session.run_task(""" Go to: example.com/products Extract all products with: - Product name - Price - Rating - Availability Return as JSON array. """)
Copy
SESSION=$(http POST https://api.agi.tech/v1/sessions \ Authorization:"Bearer $AGI_API_KEY" \ agent_name=agi-0-fast | jq -r '.session_id')http POST https://api.agi.tech/v1/sessions/$SESSION/message \ Authorization:"Bearer $AGI_API_KEY" \ message="Go to: example.com/products. Extract all products with: Product name, Price, Rating, Availability. Return as JSON array."