Find the SaaS tools and APIs an AI agent can use on its own for a task, such as
Find the SaaS tools and APIs an AI agent can use on its own for a task, such as "send an invoice". Each result gives the tool's agent level (0 to 5), whether an agent gets in without a person, what our agent got done in it and where it stopped, from a real drive of the product. $0.01 a search.
Not tested: has real-world effectsour last check, 2026-10-18
0 of 0checks answered this week
n/amedian answer time
$0.01listed price per call
n/aprice it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://agentdrives.com/api/paid/find-tools
| Category | Commerce and shopping |
|---|---|
| Provider host | agentdrives.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 9 from 4 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"limit": 3,
"task": "send an invoice"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"body": {
"properties": {
"category": {
"description": "Only tools in this category, e.g. Invoicing",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"min_level": {
"description": "Lowest agent level to return",
"maximum": 5,
"minimum": 0,
"type": "integer"
},
"self_signup": {
"description": "Only tools an agent can sign up for alone",
"type": "boolean"
},
"task": {
"description": "What the agent should get done, in plain words",
"minLength": 2,
"type": "string"
}
},
"required": [
"task"
],
"type": "object"
},
"bodyType": {
"const": "json"
},
"method": {
"const": "POST"
},
"type": {
"const": "http"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"results": {
"items": {
"properties": {
"can_do": {
"items": {
"type": "string"
},
"type": "array"
},
"category": {
"type": [
"string",
"null"
]
},
"gets_in_alone": {
"type": "boolean"
},
"level": {
"type": [
"integer",
"null"
]
},
"level_name": {
"type": [
"string",
"null"
]
},
"match": {
"type": "string"
},
"name": {
"type": "string"
},
"origin": {
"type": "string"
},
"slug": {
"type": "string"
},
"stop": {
"properties": {
"at": {
"type": "string"
},
"why": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"task": {
"properties": {
"matched": {
"type": "string"
},
"result": {
"type": "string"
},
"via": {
"type": "string"
}
},
"type": [
"object",
"null"
]
},
"tested_at": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"work_done": {
"type": [
"integer",
"null"
]
}
},
"type": "object"
},
"type": "array"
},
"task": {
"type": "string"
}
},
"required": [
"task",
"results"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}