# How the tools work

> The parameters every tool shares, what a response carries, pagination and async tasks.

Manifold's tools are sorted into groups by where the data comes from. Every tool looks something up, so your agent can call one again whenever it needs fresh data. Your agent picks the tools for you, so you rarely need to know them by name, but this page explains what they all have in common. Each group has its own page with every tool's parameters, result and cost.

- [SEO tools](https://www.manifoldmcp.com/docs/tools/seo): Google organic search: keywords, rankings, results pages, domains, backlinks and site health.
- [Search Console tools](https://www.manifoldmcp.com/docs/tools/console): Your own sites' clicks, rankings, sitemaps, indexing and crawl issues, from Google Search Console and Bing Webmaster Tools. Free.
- [Google Analytics tools](https://www.manifoldmcp.com/docs/tools/analytics): Your own sites' sessions, users, conversions and revenue by channel, page, campaign or date, from Google Analytics 4. Free.
- [AI answer tools](https://www.manifoldmcp.com/docs/tools/aeo): What ChatGPT, Claude, Gemini, Perplexity and Google's AI answers say and cite, and whether a site is ready for them.
- [People and company tools](https://www.manifoldmcp.com/docs/tools/leads): People and companies, and finding and verifying work emails. Every reveal is charged.
- [Ad library tools](https://www.manifoldmcp.com/docs/tools/ads): Ads running in the platforms' public ad libraries, by keyword, brand or advertiser.
- [Reddit tools](https://www.manifoldmcp.com/docs/tools/reddit): Posts, comments and communities: search across Reddit, or watch what appears in a subreddit.
- [TikTok tools](https://www.manifoldmcp.com/docs/tools/tiktok): Accounts, videos, comments, transcripts, followers and audiences.
- [Instagram tools](https://www.manifoldmcp.com/docs/tools/instagram): Accounts, posts, reels, comments and transcripts.
- [Facebook tools](https://www.manifoldmcp.com/docs/tools/facebook): Pages, posts, groups, comments and transcripts.
- [YouTube tools](https://www.manifoldmcp.com/docs/tools/youtube): Channels, videos, comments and transcripts.
- [LinkedIn tools](https://www.manifoldmcp.com/docs/tools/linkedin): People, company pages and posts.
- [X tools](https://www.manifoldmcp.com/docs/tools/x): Accounts and posts on X.

## Common parameters

Many tools take some of these parameters. A tool's page lists the ones it takes.

| Parameter | Default | What it does |
| --- | --- | --- |
| `location` | `"United States"` | Where the search runs, by name or provider code |
| `language` | `"en"` | ISO 639-1 language code |
| `device` | `"desktop"` | `"desktop"` or `"mobile"` |
| `limit` | 100 | The most rows to return, up to 1,000 |
| `cursor` | None | The next page: `meta.cursor` from the previous result |
| `provider` | The server's choice | Which data provider to use. `meta.provider` says which one answered |
| `max_credits` | None | Refuse the call with `BudgetExceeded` if the estimate is higher |
| `dry_run` | `false` | Return only `meta` with the estimate. Costs nothing |

Search data is from Google only.

## Targets

Tools that take a `target` accept a domain or a URL, and the form you give sets how much of the site it covers:

| Target | Covers |
| --- | --- |
| `example.com` | The domain and all its subdomains |
| `www.example.com` | That host only |
| `https://example.com/pricing` | That page only |

## What a response carries

A result is the tool's data plus two extras: `meta`, which describes the call, and `hints`, which suggests what to do next. The same JSON also comes back as text, for clients that read text only.

| `meta` field | What it says |
| --- | --- |
| `provider` | The data provider that answered |
| `credits_charged` | What this call cost |
| `est_credits` | The estimate made before the call |
| `cached` | `true` if the answer came from the [cache](https://www.manifoldmcp.com/docs/caching) |
| `data_as_of` | When the provider's data is from |
| `rows_returned`, `rows_available` | Rows in this result, and in total where the provider says |
| `cursor` | Pass it back as `cursor` for the next page. `null` on the last page |
| `request_id` | Quote it when you contact support |

`hints` lists up to three tools worth calling next, cheapest first, each with its estimate.

In the data, `null` means the provider has no data, and `0` means it measured zero. So a keyword with a `null` volume is one the provider has no number for, which is not the same as one nobody searches for.

## Pagination

List tools return up to `limit` rows and a `meta.cursor`. To get the next page, call the same tool with the same input and `cursor` set to that value. The cursor is opaque, so pass it back exactly as you got it.

## Batch inputs

Some tools take a list, such as a list of domains. They return the rows that worked and an `errors` list for the rest, and each error names its input. One bad domain does not fail the whole batch.

## Async tasks

Two tools take longer than a request should: [`seo_run_technical_crawl`](https://www.manifoldmcp.com/docs/tools/seo#seo_run_technical_crawl) and [`aeo_run_ai_answers`](https://www.manifoldmcp.com/docs/tools/aeo#aeo_run_ai_answers). Instead of making your agent wait, they return a `task_id` and `poll_after_s` at once. Your agent waits that many seconds, then calls [`get_task`](https://www.manifoldmcp.com/docs/tools#async-tasks) with the `task_id`:

```json
{"task_id": "task_01J..."}
```

While the task runs, [`get_task`](https://www.manifoldmcp.com/docs/tools#async-tasks) returns `TaskPending` with a new `poll_after_s`. When it is done, it returns the result under `result`, with the settled charge in `meta.credits_charged`. [`get_task`](https://www.manifoldmcp.com/docs/tools#async-tasks) is free, and results are kept for 30 days.

## Feedback

When a tool returns an error that does not explain itself, or a result that looks wrong, your agent can report it with [`submit_feedback`](https://www.manifoldmcp.com/docs/tools#feedback). It takes a `kind` (`error`, `wrong_data`, `feature_request` or `other`), a `message`, and optionally the `tool` and the `request_id` from the call's `meta`, which lets us find that exact call:

```json
{"kind": "error", "tool": "seo_get_serp", "request_id": "3f1c9a2e-8d4b-4c6f-9e1a-7b2d5c8f0a13", "message": "seo_get_serp returned ProviderUnavailable five times in ten minutes."}
```

It returns a `feedback_id`. The report reaches only the Manifold team, and nothing comes back through the tool. You can also ask your agent to send us anything else, such as a tool you wish existed. [`submit_feedback`](https://www.manifoldmcp.com/docs/tools#feedback) is free, and each workspace can send 20 reports a day. Like [`get_task`](https://www.manifoldmcp.com/docs/tools#async-tasks), it has no group on the Tools page, so it is always there.

## Skills

The tools answer one question each. For a whole job, such as an SEO audit or a lead list, install Manifold's [marketing skills](https://github.com/manifoldmcp/marketing-skills). Each skill is one job: it tells your agent which tools to call, in what order, and what to hand back. The README there shows how to install them in Claude Code, Codex, Gemini CLI, Cursor and other agents. Start with `manifold-get-started`: it asks about your goal and picks the skills to run.

