Skip to main content
Curated tools are clean, normalized endpoints that sit on top of fetchbean’s provider network and always return the same JSON shape. Instead of dealing with different response formats from Exa, Jina, OpenWeather, or Tikhub, you call one predictable URL and get back a consistent structure every time. This makes curated tools the fastest way to add web search, page reading, weather, or social lookups to an AI agent.

Search

POST /v1/search — web search with ranked results

Read

POST /v1/read — fetch any URL as clean markdown

Weather

POST /v1/weather — current weather by city or lat/lon

Instagram User

POST /v1/instagram_user — public Instagram profile (beta)

POST /v1/search runs a web search and returns a ranked list of results with titles, URLs, and snippets. It is backed by fetchbean’s search provider network so you do not need to pick or configure a specific search engine. Parameters
ParameterTypeRequiredDescription
querystringyesThe search query.
max_resultsintegernoMaximum number of results to return.
curl https://api.fetchbean.com/v1/search \
  -H "Authorization: Bearer $FETCHBEAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"best vector databases","max_results":5}'
Normalized response shape Every /v1/search response follows this exact structure regardless of which underlying search provider is used:
{
  "results": [
    { "title": "Qdrant", "url": "https://qdrant.tech", "snippet": "High-performance vector search..." },
    { "title": "Weaviate", "url": "https://weaviate.io", "snippet": "Open-source vector database..." }
  ]
}

Read

POST /v1/read fetches any public URL and returns the page content as clean, LLM-ready markdown. Navigation, ads, and other clutter are stripped automatically. Parameters
ParameterTypeRequiredDescription
urlstringyesThe public URL to fetch.
formatstringnoOutput format hint, e.g. markdown.
curl https://api.fetchbean.com/v1/read \
  -H "Authorization: Bearer $FETCHBEAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/article"}'

Weather

POST /v1/weather returns current weather conditions for a location. Pass a city name as q, or use lat and lon for coordinate-based lookups. Use units to control whether temperatures are returned in metric, imperial, or standard units. Parameters
ParameterTypeRequiredDescription
qstringnoCity name, e.g. "San Francisco". Required if lat/lon are not provided.
latnumbernoLatitude. Use with lon.
lonnumbernoLongitude. Use with lat.
unitsstringnometric, imperial, or standard (Kelvin). Defaults to standard.
curl https://api.fetchbean.com/v1/weather \
  -H "Authorization: Bearer $FETCHBEAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"San Francisco","units":"imperial"}'

Instagram User

POST /v1/instagram_user returns a public Instagram profile by username or user ID. Pass either username or user_id in the request body. Parameters
ParameterTypeRequiredDescription
usernamestringnoInstagram username, e.g. "nasa". Required if user_id is not provided.
user_idstringnoInstagram numeric user ID. Required if username is not provided.
Instagram User is in beta and is gated to organizations with beta access. Contact support if you need access enabled for your account.
curl https://api.fetchbean.com/v1/instagram_user \
  -H "Authorization: Bearer $FETCHBEAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username":"nasa"}'

For long-tail provider calls or providers not covered by curated tools, use POST /v1/run instead. It gives you direct access to every provider and method in the fetchbean catalog. See the Raw Run guide.