Agent API · Pro
Drive it from your own code.
A small JSON API for scripts and AI agents: start searches, read results, send to a list and check your contacts. Every key has its own scopes and daily limits.
Authentication
API keys are issued by our team to Pro accounts. Email team@outreachpilotpro.com with the scopes you need: status, search, send, contacts. Send the key as a bearer token on every request.
# Base URL https://outreachpilotpro.com/agent/v1 # Check the key and see its scopes and limits curl https://outreachpilotpro.com/agent/v1/status \ -H "Authorization: Bearer $OPP_KEY"
Search
Starts a search and returns a job_id. Body: query (required), location, industry, limit (up to 50, default 20).
Returns the job's status and, once finished, its results. Poll every few seconds.
curl -X POST https://outreachpilotpro.com/agent/v1/search \
-H "Authorization: Bearer $OPP_KEY" -H "Content-Type: application/json" \
-d '{"query": "roofing contractors", "location": "Minneapolis, MN", "limit": 25}'
Send
Sending uses the email account connected in your Settings, so connect one there first.
Sends one message to check your setup. Body: email, subject, body.
Sends to a list. Body: subject, body, recipients (objects with email, and optionally name and company), and personalize (default true, fills merge fields from each recipient).
curl -X POST https://outreachpilotpro.com/agent/v1/send \
-H "Authorization: Bearer $OPP_KEY" -H "Content-Type: application/json" \
-d '{"subject": "Quick question, {{company}}",
"body": "Hi {{first_name}}, ...",
"recipients": [{"email": "jo@northsideroof.com", "name": "Jo Park", "company": "Northside Roofing"}]}'
Contacts & logs
Lists your contacts. Query: search, stage, limit (up to 100), offset.
Recent API activity for this key. Query: limit (up to 50).
Your Auto Pilot configuration and whether it's running.
Limits & errors
Each key has a daily search limit, a daily send limit and a maximum batch size, set when the key is issued. Responses are JSON.
| Status | Meaning |
|---|---|
400 | A required field is missing, the batch is too large, or no email account is connected. |
401 | The key is missing, invalid or revoked. |
403 | The key doesn't have the scope this endpoint needs. |
429 | The key's daily limit is reached. The response includes limit_reached: true. |
Need different limits or another endpoint? Tell us what you're building.