AskOptimus API
Build outbound infrastructure with the AskOptimus API. Find verified emails, validate deliverability, search domains, and orchestrate sequences — all through a clean REST interface. Share the same credit pool across human actions and AI agents.
This documentation covers the full API surface at https://api.askoptimus.ai/v2/api/.
Authentication
All API requests require a Bearer token. Obtain your API key from the Settings → API page in the AskOptimus dashboard.
Include the token in the Authorization header:
Authorization: Bearer <your-api-key>Security: Never share your API key or commit it to public repositories. Use environment variables or a secrets manager.
Base URL
All endpoints are relative to the base URL:
https://api.askoptimus.ai/v2/api/Example: GET /email-finder becomes https://api.askoptimus.ai/v2/api/email-finder.
Making Requests
All requests are JSON over HTTPS. Use the Content-Type header set to application/json for POST/PUT requests.
Example using curl:
curl https://api.askoptimus.ai/v2/api/email-finder \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"John Doe","domain":"acme.com"}'Example using JavaScript:
const response = await fetch(
"https://api.askoptimus.ai/v2/api/email-finder",
{
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ name, domain }),
}
);
const data = await response.json();Endpoints
Email Finder
Find a verified email address for a person at a given domain. Uses pattern matching, public sources, and proprietary heuristics.
POST /email-finder
Request body
{
"name": "John Doe", // optional
"domain": "acme.com", // required
"first_name": "John", // optional
"last_name": "Doe" // optional
}Response
{
"email": "john.doe@acme.com",
"confidence": 98,
"sources": ["linkedin", "company_website"]
}Credits: 1 per successful find.
Email Verifier
Verify the deliverability of an email address.
POST /email-verifier
Request body
{ "email": "john.doe@acme.com" }Response
{
"status": "valid", // "valid", "risky", "invalid"
"confidence": 98,
"mx_record": true,
"smtp_check": "success",
"disposable": false,
"role_based": false
}Credits: 1 per verification.
Domain Search
Retrieve all known email addresses and contacts for a domain.
POST /domain-search
Request body
{ "domain": "acme.com" }Response
{
"domain": "acme.com",
"contacts": [
{ "email": "john@acme.com", "full_name": "John Doe" },
{ "email": "jane@acme.com", "full_name": "Jane Smith" }
],
"total": 42
}Credits: 5 per search.
Discover
Perform advanced lead discovery using ICP filters (role, industry, location, etc.).
POST /discover
Request body
{
"query": "Head of Growth at Series B SaaS",
"limit": 100,
"page": 1
}Response
{
"leads": [
{ "name": "Alice Johnson", "email": "alice@saas.co", "company": "SaaS.co" },
...
],
"total": 1450,
"page": 1,
"next_page": 2
}Credits: 5 per page of 100 results.
Sequences
Create, manage, and launch email sequences.
GET /sequences
POST /sequences
See the full Sequences API documentation in the Sequences guide.
Sender Accounts
Manage Gmail, Microsoft, and SMTP sender accounts.
GET /sender-accounts
POST /sender-accounts
Refer to the Sender Accounts API for full details.
Errors
The API uses standard HTTP status codes. Error responses include aerror object with a message and optional code.
{
"error": {
"code": "invalid_parameter",
"message": "Domain is required."
}
}| Code | Description |
|---|---|
| 400 | Bad Request – invalid parameters |
| 401 | Unauthorized – invalid or missing API key |
| 402 | Payment Required – insufficient credits |
| 403 | Forbidden – action not permitted |
| 404 | Not Found |
| 429 | Too Many Requests – rate limit exceeded |
| 500 | Internal Server Error |
Rate Limits
To ensure stability, each API key is subject to rate limits. The default limits are:
- Standard tier: 100 requests per minute
- Scale tier: 500 requests per minute
Rate limit headers are returned in all responses:X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Webhooks
Receive real-time event notifications for email opens, clicks, replies, bounces, and unsubscribes. Configure webhook URLs in the dashboard.
All webhook payloads are signed with a secret key to verify authenticity.
{
"event": "email.opened",
"timestamp": "2026-07-13T10:00:00Z",
"data": {
"sequence_id": "seq_123",
"recipient": "john@acme.com",
"campaign_id": "cam_456"
}
}See the Webhooks guide for more details.
SDKs & Clients
Official libraries make integration easier:
- JavaScript / TypeScript – github.com/askoptimus
- Python – github.com/askoptimus/askoptimus-python
- MCP Server – connect via askoptimus.ai/skill.md
Ready to build?
Get your API key and start shipping outbound.