Use case, Web search

Web search API for your agent. One call per search.

Send a search query. Read ranked links and titles back. Your agent picks the provider, and you pay per call.

Give this to your agent
set up looot for Web search API - https://looot.ai/use-cases/web-search-api/skill.md

The short answer

The short answer

Web search API for an agent: it sends a search query to a catalog endpoint and reads ranked links, titles and snippets back. Several providers sell the call, so the agent tries the cheapest first. You pay per call, and a failed call costs nothing.

  • Ranked links
  • Titles and snippets
  • Page text
  • Sourced answer
  • Result date

The job

What the Web search API gives your agent

Your agent knows nothing that happened after its training ended. To answer with current facts, it needs to search, read the top links and cite them. One search call returns the ranked links for a query, and the agent decides which pages to open next.

On looot the route customers use most is the job itself: send job:web.search with fallback on, and looot picks a provider and tries the next one when the first returns nothing. The providers differ in what they search and return. Brave runs its own index, Exa offers neural search, Linkup and Tavily can write a sourced answer, and Firecrawl can scrape each result in the same call.

You give

a search query

postgres vector search extensions

You get

  • Ranked links
  • Titles and snippets
  • Page text
  • Sourced answer
  • Result date

Providers, cheapest first

What actually differs between providers

Today the price runs from free to $0.0080 across 7 endpoints. The cheapest is free. Price is only one difference. Each entry below says what that endpoint takes or returns that the others do not.

Sample calls

The request and what comes back

Each run is one POST to /v1/runs with an endpoint id and an input. These are illustrative calls with generic values. The run's result holds the provider's own fields.

Request
{"endpointId":"tinyfish-search","input":{"query":"postgres vector search extensions"},"wait":30}
ResponseSample output
// POST /v1/runs, then read run.status and run.result
// result: takes a query with optional include and exclude domain lists and date bounds, and can switch to news or research papers

The prompt

Copy one prompt, give it to your agent.

Edit the names and numbers, paste it, and the agent runs the job and shows the cost.

  • One run is one search.
  • 1 step across 7 providers.
  • Runs on demand, whenever you ask.
Prompt: Web search API
Use looot to run job:web.search with fallback on for postgres vector search extensions, and return the title, link and snippet of the top 10 results with the provider that answered. 1. Set up https://looot.ai/skill.md. 2. Search the catalog for each step and check its price before you call. 3. Run the cheapest endpoint that fits. 4. Show the results as a table and the total cost.

Give this to your agent
Setup command
set up looot for Web search API - https://looot.ai/use-cases/web-search-api/skill.md

Before you start

Settle these before the first run

  • Most endpoints here return links and snippets, not whole pages. To read a page, send its link to the URL to markdown API.
  • Check how each endpoint bills. Most charge per search, Firecrawl charges per result, so set a result limit before a broad query.
  • Set the country when the answer depends on it. Several endpoints take a location or a country code, and the results change with it.
  • Ask for a written answer only when your agent will not read the sources itself. Linkup and Tavily return one on request, with the links behind it.

FAQ

Questions people ask

It is an endpoint your agent calls with a query to get ranked links back as data, instead of a results page made for people. The agent reads the titles and snippets, opens the pages it needs and cites them in its answer.

Tavily and Exa are two of the providers on this page. One looot key reaches both and the others, so your agent can run the same query on each and compare. With job:web.search and fallback on, a miss at one provider moves to the next.

Yes. TinyFish can switch to news or research papers, Brave can add a news block, and Tavily takes a topic. The notes above say which endpoint does what.

Use an endpoint that filters. TinyFish, Linkup and Exa take domains to include or exclude and a date range. Your agent passes them with the query.

Some do. Exa can add the page text, Tavily returns content per result and Firecrawl can scrape each result. The others return snippets, and the agent reads a full page with the URL to markdown API.

You pay per call, and the price depends on the provider your agent picks. This page reads the cheapest live price from the catalog and shows no number when the catalog is unreachable.

No. A call that fails at the provider costs nothing, and your agent can retry it or send it to another provider.

No. One looot key reaches every provider in the catalog. You top up once, and each call is billed at the price shown before it runs.

Send a POST to /v1/runs with the endpoint id, the input and a new idempotency key, and your looot token in the Authorization header. With wait set to 30, the answer comes back in the response when the run ends within 30 seconds. Otherwise poll GET /v1/runs/<runId>.

That needs scheduled runs, not available yet. Run it by hand whenever you want fresh results.

No. looot bills per call, and nothing runs while your agent is idle.
For agents
use case
Web search API
run
search
schedule
on demand
step
Search the web: tinyfish brave-search linkup exa tavily firecrawl jina
setup
https://looot.ai/use-cases/web-search-api/skill.md
llms.txt
https://looot.ai/llms.txt
updated
2026-10-04

Try Web search with your own agent.

Start your workspace, top up, and paste the prompt into the agent you already use.