Quick Start
Automate lead generation and company research. Use AGI agents to gather company information, analyze competitors, and extract contact details.Installation
- JavaScript
- Python
- HTTPie
Copy
npm install agi
Copy
pip install pyagi
Copy
# macOS
brew install httpie
# Linux
apt install httpie
# Windows
pip install httpie
Company Research
Gather comprehensive company information.- JavaScript
- Python
- HTTPie
Copy
import { AGIClient } from 'agi';
const client = new AGIClient({ apiKey: 'your_api_key' });
const session = await client.createSession('agi-0');
try {
const companyInfo = await session.runTask(`
Research company: ${companyName}
Find:
- Industry and sector
- Company size (employees)
- Headquarters location
- Products/services
- Key competitors
- Contact information (email, phone)
- Key executives
Return as JSON.
`);
} finally {
await session.delete();
}
Copy
from pyagi import AGIClient
client = AGIClient(api_key="your_api_key")
with client.session("agi-0") as session:
company_info = session.run_task(f"""
Research company: {company_name}
Find:
- Industry and sector
- Company size (employees)
- Headquarters location
- Products/services
- Key competitors
- Contact information (email, phone)
- Key executives
Return as JSON.
""")
Copy
export AGI_API_KEY="your_api_key"
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\":\"Research company: $company_name. Find: Industry and sector, Company size (employees), Headquarters location, Products/services, Key competitors, Contact information (email, phone), Key executives. Return as JSON.\"}"
while 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 2
done
http DELETE https://api.agi.tech/v1/sessions/$SESSION \
-H "Authorization: Bearer $AGI_API_KEY"
Competitor Analysis
Compare competitors’ products and positioning.- JavaScript
- Python
- HTTPie
Copy
const session = await client.createSession('agi-0');
try {
const analysis = await session.runTask(`
Competitive Analysis for: ${companyName}
Competitors: ${competitors.join(', ')}
For each competitor, gather:
- Products/services
- Pricing information
- Target market
- Key strengths and weaknesses
Return as JSON comparison table.
`);
} finally {
await session.delete();
}
Copy
with client.session("agi-0") as session:
analysis = session.run_task(f"""
Competitive Analysis for: {company_name}
Competitors: {', '.join(competitors)}
For each competitor, gather:
- Products/services
- Pricing information
- Target market
- Key strengths and weaknesses
Return as JSON comparison table.
""")
Copy
export AGI_API_KEY="your_api_key"
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\":\"Competitive Analysis for: $company_name. Competitors: $competitors. For each competitor, gather: Products/services, Pricing information, Target market, Key strengths and weaknesses. Return as JSON comparison table.\"}"
while 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 2
done
http DELETE https://api.agi.tech/v1/sessions/$SESSION \
-H "Authorization: Bearer $AGI_API_KEY"
Contact Extraction
Extract contact information from websites.- JavaScript
- Python
- HTTPie
Copy
const session = await client.createSession('agi-0-fast');
try {
const contacts = await session.runTask(`
Extract contact information from: ${companyUrl}
Find:
- Email addresses
- Phone numbers
- Physical addresses
- Social media profiles
Return as JSON array.
`);
} finally {
await session.delete();
}
Copy
with client.session("agi-0-fast") as session:
contacts = session.run_task(f"""
Extract contact information from: {company_url}
Find:
- Email addresses
- Phone numbers
- Physical addresses
- Social media profiles
Return as JSON array.
""")
Copy
export AGI_API_KEY="your_api_key"
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\":\"Extract contact information from: $company_url. Find: Email addresses, Phone numbers, Physical addresses, Social media profiles. Return as JSON array.\"}"
while 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 2
done
http DELETE https://api.agi.tech/v1/sessions/$SESSION \
-H "Authorization: Bearer $AGI_API_KEY"