Skip to content
looot docs
Esc
↑↓navigate↵open⌘Jpreview
On this page

search

Free catalog search. Describe a job in plain words or pass filters and get back endpoints to inspect and run.

Find endpoints for a job. Describe the task in plain words (“verify an email”, “backlinks for a domain”), or pass filters alone; query is optional once a filter is set. Free, read-only, and needs no scope beyond a valid token. Use it as the first step of a run: pick an endpointId from the rows it returns, then call inspect on it.

Inputs

Argument Type Required Default Limits Meaning
query string No - max 500 chars Plain-English description of the job.
limit integer No 10 1-200 Rows per page.
offset integer No 0 0+ Row offset for paging past limit.
detail string No - title | full full adds summary, stats, facts and fees; title is the cheap first pass.
prefer string No "balanced" cheapest | reliable | fastest | balanced Orders providers inside a job.
filters.category string No - - Restrict to a catalog category.
filters.platform string No - - Restrict to a platform.
filters.provider string No - - Restrict to a provider.
filters.capability string No - - A job id from catalog_overview.
filters.keyless boolean No - - Only endpoints that need no key at all.
filters.verified boolean No - - Only endpoints verified against a saved provider answer.
filters.mock boolean No - - Include fixture/demo endpoints.
filters.maxPriceMicros number No - 0+ Drop rows priced above this, in micros of a dollar.
filters.hidden boolean No - - Include hidden endpoints.
filters.includeUnavailable boolean No - - Include endpoints with no route to run right now.

Every row has endpointId, provider, capability (the job id), estimatedPrice, priceBasis, costPerSuccessUsd (price divided by works.rate; a thin row fills missing runs at the job average), works {rate, runs, p50Ms, thin}, access, async and credential. When no endpoint does the job, items is empty and warnings names it. When filters.maxPriceMicros removes every match, priceHint names the cheapest one instead.

Example call

{
  "query": "verify an email address",
  "limit": 5,
  "prefer": "cheapest"
}

Example answer

Abridged: full rows also carry works, access, async and credential.

{
  "query": "verify an email address",
  "total": 7,
  "offset": 0,
  "nextOffset": 5,
  "items": [
    {
      "endpointId": "icypeas-email-verify",
      "provider": "Icypeas",
      "capability": "people.email.verify",
      "estimatedPrice": 0.0019,
      "priceBasis": "perCall",
      "costPerSuccessUsd": 0.0021
    },
    {
      "endpointId": "zerobounce-guessformat",
      "provider": "ZeroBounce",
      "capability": "people.email.verify",
      "estimatedPrice": 0.01,
      "priceBasis": "perCall",
      "costPerSuccessUsd": 0.0104
    }
  ]
}

Errors

search is free and read-only; it does not spend credit or need runs.execute. A bad argument returns validation_error naming the field. No matching job returns an empty items array with a warnings entry, not an error, so check items.length before assuming a job exists.

REST and CLI

Was this page helpful?