one key. ~30 live tools and your own connected accounts.
your agent loads one tool, not fifty
it asks /discover for the one tool a task needs, so nothing bloats its context, then acts on the accounts you already run on (your stripe, your linear) with tokens kept fresh and a typed error instead of a faked success. every call is logged and yours to audit. 5,000 free calls, no card.
5,000 free calls, no card.
{
"results": [
{
"title": "Qdrant",
"url": "https://qdrant.tech"
},
{
"title": "Weaviate",
"url": "https://weaviate.io"
}
]
}your connected keys never reach the agent. they stay server-side, injected only at call time.
what one key gets you
tools that run on our keys
no signup, the first call just works
- live web search, current results the model can't know
- page reads, a url in and clean text out
- weather, and more we run the accounts behind
your own accounts, connected once
the accounts you already run on, act on them
- stripe, linear, notion
- supabase, github, posthog
- and more, connected once and held server-side
used by developers from
agent-native
connect your agent in one line
point your agent at the skill, drop in the mcp server, or call plain curl. it works with any mcp client, including the claude agent sdk. no provider accounts to open, no keys to rotate.
# Ask your agent to: set up fetchbean.com/skill.md
your agent fetches the spec (endpoints, shapes, examples) and is ready to call. no key needed to read it.
browse all providers and methods →try it
fetch me one, no signup
tap an example and watch it fetch a real-shaped result. or try the one we can't (stock price) to see an honest typed error.
POST /v1/search
tap an example →
no signup. tap an example and watch it fetch.
how it works
your agent asks for one tool, not fifty.
- 1
your agent describes the task
it asks /discover for the one tool a job needs. nothing loads upfront, so the context stays clean instead of drowning in definitions.
- 2
it gets exactly that schema
one tool, one schema that matches the real api, so the first call works. we hold each provider's key, rate limits, and auth on our side.
- 3
it acts and gets a clean result
normalized json back, or an honest typed error, never a fake success. metered against your prepaid credits.
why fetchbean
load only what you need, act on what you own.
discover, not bloat
your agent pulls the one tool a task needs at runtime, not a giant upfront dump. tool definitions stop eating the context window and burning tokens before the work starts.
act on the accounts you already run on
let your agent do real work in the saas tools you already use. connect each once, and the credential stays scoped and encrypted on our side, yours to revoke, not in your config.
honest results, not faked ones
when a call can't complete, you get a typed error, not a silent 200 or a result:null passed off as done. your agent knows it failed instead of building on a lie.
tokens kept fresh
we run the oauth refresh on the accounts you connect, so a long task doesn't die halfway on an expired token. your agent keeps going instead of erroring out mid-run.
every call logged and yours to audit
each call your agent makes is recorded on your account, so you can see exactly what ran, on which account, and what it returned. no black box.
pay per call, capped, no surprise bill
prepaid credits with the price shown upfront. per-user and per-agent caps stop a runaway loop from burning through your balance. when it runs out, calls stop. no rug-pulls.
capabilities
the live-capability layer your code calls.
live web tools
search the web, read and clean a page, plus model and llm pricing, weather, and more. we run the accounts and keys behind them, so your agent just calls.
your connected accounts
let your agent act on the saas tools you already use. connect each once with a pasted key or one click, and the credential stays scoped and encrypted on our side, not in your config.
compatible with code-mode
fetchbean is what your agent's code calls for what code can't do itself: fresh web and your own authenticated accounts. slim outputs instead of raw rest that burns tokens.
raw access for the long tail
need something past the curated set? run makes the call and passes the provider response back unchanged.
the catalog is live and growing. ask GET /discover?q=your-task for the right tool at runtime, or browse GET /catalog for everything. both are public, no key needed.
pricing
5,000 free calls, no card. then pay per call.
start with 5,000 calls on the house, no card. after that, load prepaid credits and run your agent. set per-user and per-agent caps so a looping agent can't burn through your balance. no surprise invoice.
pay per call · price shown upfront · provider failures & timeouts billed zero
faq
questions builders ask
what is fetchbean?+
one api key that lets your agent load the exact tool a task needs at runtime, instead of dumping fifty definitions into its context. it reaches live tools we run on our own accounts (web search, page reads, weather, and more) plus the ability to act on the saas accounts you connect once, like stripe, linear, and posthog. you get 5,000 free calls, no card.
isn't this just a wrapper around apis my agent could call itself?+
no. three things a raw wrapper or hand-written code can't give you: your agent asks /discover and gets the one tool it needs, so the context never bloats; outputs come back normalized and slim instead of raw rest that burns tokens and makes the model hallucinate; and it acts on your own authenticated accounts, which code can't auth into on its own. it's the live-capability layer your code calls, not a replacement for code.
how does fetchbean keep my agent's context clean?+
nothing loads upfront. your agent asks GET /discover?q=your-task and gets back the single tool that fits, with a schema that matches the real api. tool definitions stop eating the context window and degrading tool selection.
can a runaway agent burn through my balance?+
no. credits are prepaid, not a card on file, and you set per-user and per-agent caps. when a cap or the balance is hit, calls stop. a looping agent can't run up a surprise bill.
what happens when a provider fails or times out?+
you're billed zero and you get an honest typed error, never a fake success. the hold is refunded automatically, so you only pay for calls that come back with data.
how does billing work, and what's a credit?+
prepaid credits with the price shown upfront. 1 credit is $0.0001, so $1 is 10,000 credits. each call reserves a ceiling and then settles the real charge, so spend never runs past your balance. most tools are a flat price per call; page reads are metered by tokens.
how are my credentials handled?+
each account you connect is held server-side, scoped to least privilege, and yours to revoke anytime. you send one fetchbean key and stop rotating a dozen secrets across projects.
how do i connect it to my agent?+
three ways: install the skill (point your agent at fetchbean.com/skill.md), add the hosted mcp server, or call plain http with your key. no per-provider signups.
one tool per task. one key.
live web, page reads, and the accounts you already run on, behind a single fetchbean key. your agent loads only what it needs. 5,000 free calls, no card.


