
Each local area page used to take us half a day to create and optimize.
With SEOmatic, we can create hundreds of pages in the same time, which helps our clients make the best use of their budget.
It's transformed how we deliver scalable SEO solutions.
Will Hawkins
Marketing Director, Digi-Business UK
Agents read your Search Console data, do the work, and prove what actually moved. You decide what ships.
14-Day Free Trial. $1 card check, refunded. Cancel Anytime.
Run any SEOmatic tool from a Make scenario: Search Console queries, audits, AI visibility, SEO tasks and more. Pick a tool, pass its arguments as JSON, and map the parsed result into the next module.
The SEOmatic app for Make has three modules. It calls the SEOmatic REST API with your API key, so every tool your key can use is available in a scenario.
| Module | Type | What it does |
|---|---|---|
| Run a tool | Action | Runs one SEOmatic tool with the arguments you give it. The result comes back parsed, so you can map its fields directly. |
| List tools | Search | Lists the tools your API key can run, with each tool's description, whether it makes changes, and the arguments it accepts. |
| Make an API call | Universal | Calls any SEOmatic REST endpoint under /v1, for example GET /v1/me. It can only reach https://app.seomatic.ai/api. |
The app is published by invite link, not listed in Make's app directory. Open the link while signed in to Make and install it in your organization:
https://www.make.com/en/hq/app-invitation/55fd46a2daac3c6a9c33c73637a8351eapp.seomatic.ai and open Settings > AI Agents > API Keys.Make) and click Create key.smk_ and is shown once.New keys are read-only: they read your data and run analysis tools. Tick Allow this key to make changes only if the scenario needs tools that change your site. That option needs a live subscription or trial, and edits made this way are staged in SEOmatic for your approval.
GET /v1/me. A wrong key or a plan without the integration fails here, with the reason.The connection list shows your workspace name followed by (read-only) or (can make changes), so you can tell keys apart. Every request the app sends carries:
Authorization: Bearer smk_...
X-Seomatic-Client: makePull your top Search Console queries into Make:
Tool get_search_queries
Arguments {"days": 28, "limit": 10}The module outputs three fields. Resultis the tool's output parsed into fields; numbers below are examples:
Tool get_search_queries
Result {
"siteUrl": "sc-domain:example.com",
"period": "Last 28 days",
"totalResults": 10,
"queries": [
{ "query": "seo agent for wordpress", "clicks": 42,
"impressions": 1310, "ctr": "3.2%", "position": "7.4" }
]
}
Raw result the same output as JSON textNext, add an Iterator on Result: queries and send each row to Google Sheets or Slack. Search Console tools need Search Console connected in SEOmatic.
| Field | What to enter |
|---|---|
| Tool | Pick from the list. It shows only the tools your key can run, and marks tools that change your site with (makes changes). When mapping, enter the tool name, for example get_search_queries. |
| Arguments | The tool's arguments as a JSON object. Leave empty to use the tool's defaults. |
| Output | Contents |
|---|---|
| Tool | The tool that ran. |
| Result | The tool's output, parsed into fields you can map. Run the module once and Make offers every field. |
| Raw result | The same output as JSON text, for an AI module or storage. |
Returns one bundle per tool, up to Limit(default 200). Use it to find a tool's name and its arguments.
| Output | Contents |
|---|---|
| Name | The tool name to use in Run a tool. |
| Description | What the tool does. |
| Makes changes | True for tools that change your site. |
| Input schema | The arguments the tool accepts. |
Calls any endpoint in the REST API reference. Enter the path after https://app.seomatic.ai/api; the connection adds authorization for you. Put query parameters in Query string, not in the URL.
URL /v1/me
Method GETThe output has the response Body, Headers and Status code.
Copy a tool name into Tool and the JSON into Arguments. The REST API reference lists every tool and argument.
| Goal | Tool | Arguments |
|---|---|---|
| Top search queries | get_search_queries | {"days": 28, "limit": 50} |
| Biggest losers and winners vs the previous period | compare_periods | {"dimension": "page", "days": 28} |
| Pages with a low click rate for their position | find_ctr_outliers | {"days": 28, "minImpressions": 200} |
| Is this page indexed? | inspect_url_indexing | {"url": "https://example.com/pricing"} |
| Audit 20 pages | site_audit | {"limit": 20} |
| Latest AI visibility scan (free read) | get_ai_visibility | {} |
| Proposed SEO tasks (key that can make changes) | list_seo_tasks | {"status": "proposed", "limit": 10} |
| Approve a task (makes changes) | decide_seo_task | {"taskId": "<task id>", "decision": "approve"} |
insufficient_credits.504 TOOL_TIMEOUT and keeps running (see Errors and fixes).Plans and prices: pricing.
Error messages show SEOmatic's error text and code, never your key.
| Message | Cause | Fix |
|---|---|---|
| [401] Invalid or revoked API key. Create a key in SEOmatic under Settings > AI Agents > API Keys and paste it here. | Shown when you save the connection: the key is wrong or was revoked. The connection is not saved. | Create a key in Settings > AI Agents > API Keys and paste it into the connection. |
| [401] Missing or invalid API key. Create a new key in SEOmatic under Settings > AI Agents > API Keys, then update this connection. | Shown in a module: the key saved in the connection was revoked. | Create a new key and update the connection with it. |
| [402] The Make integration requires the Infrastructure plan. Upgrade: ... (error code: AUTOMATION_NOT_ENTITLED) | The workspace is not on a plan that includes the Make integration. | Upgrade to Infrastructure. The message includes the upgrade link. |
| [404] Unknown or unauthorized tool: <name> Pick a tool from the list, or use an API key that is allowed to run this tool. | The tool name is misspelled, the tool makes changes and the key is read-only, or it is a Search Console tool and Search Console is not connected in SEOmatic. | Pick the tool from the list, use a key created with Allow this key to make changes, or connect Search Console in SEOmatic. |
| [400] ...: <details> (error code: INVALID_ARGUMENTS) | A required argument is missing, or an argument has the wrong type. The details name the failing argument. | Check the tool's Input schema in List tools. Argument names are case-sensitive. |
| [429] Rate limit exceeded. Please try again later. Retry after N seconds. | The key passed its rate limit. The number of seconds comes from the Retry-After header. | Wait the seconds shown in the message, or space out the scenario. |
| [502] ...: <details> | The tool, or a provider it called, failed at runtime. | Retry. The details carry the cause. |
| [504] Tool '...' is still running after 60s. It was not stopped. (error code: TOOL_TIMEOUT) | The tool took longer than 60 seconds. It keeps running in SEOmatic. | Do not rerun a tool that makes changes straight away: check the outcome first. For a call you may need to repeat, use Make an API call to POST /v1/tools/{name} with an Idempotency-Key header, then repeat it with the same key to collect the answer. |
insufficient_credits is not an error. When the workspace's AI credits cannot cover run_ai_visibility_scan, no scan starts and the module outputs a normal bundle with Result: status = insufficient_credits. Check status before using the result, for example with a filter. Add credits, or run the scan from the SEOmatic app; get_ai_visibility still reads the last scan for free.
app.seomatic.ai. Make an API call only accepts paths like /v1/..., so it cannot send your key to another host.The SEOmatic app is published by invite link and is not listed in Make's public app directory. Open the invite link on this page to install it in your Make organization.
The Infrastructure plan, the same plan as the Zapier and n8n integrations. Enterprise includes it too. On other plans the connection test fails with a message that says so.
The Make app has no trigger module. To start work on SEOmatic events, use the Zapier or n8n trigger, or signed webhooks to an endpoint you control.
No. run_ai_visibility_scan uses the workspace's AI credits. If they cannot cover the scan, the result has status insufficient_credits and nothing is spent. Prepaid scans are only spent from the SEOmatic app or an MCP agent.
Only with a key created with Allow this key to make changes. Edits made this way are staged in SEOmatic for approval. decide_seo_task is itself an approval, so a scenario that calls it approves for you. Use a read-only key unless the scenario really needs to make changes.