---
title: "Run a free tool; long-running tools return an async job ticket"
method: POST
path: "/api/tools/{slug}"
---

# Run a free tool; long-running tools return an async job ticket

`POST /api/tools/{slug}`

## Request

- Base URL: `https://name.ai`
- URL: `https://name.ai/api/tools/{slug}`
- Auth: none declared

Public. Runs one of the free tools listed at /tools. Fast tools answer 200 with the result inline. Long-running tools (e.g. slug "seo-crawl") answer 202 Accepted with a job id and a Location header pointing at the status endpoint to poll.

## Path parameters

- `slug` string, required

## Request body

- object: Tool-specific input (e.g. {"url": "https://example.com"} for seo-crawl).

## Response `200`

Completed inline. Deprecation/Sunset/Link headers appear only once the operation is deprecated (see x-deprecation-policy).

- object
  - `ok` boolean
  - `cached` boolean
  - `result` object

## Other responses

- `202`: Accepted — the job is running. Poll the Location header (also given as result.status_url). Deprecation/Sunset/Link headers appear only once the operation is deprecated (see x-deprecation-policy).
- `400`: Invalid input for this tool.
- `404`: Unknown tool slug.
- `429`: Per-IP tool quota exceeded.

---

[API](https://skmtc.dev/name/apis/name-ai-api-public-rest-api-openapi-3-1.md) · [All operations](https://skmtc.dev/name/apis/name-ai-api-public-rest-api-openapi-3-1/llms.txt) · [OpenAPI document](https://skmtc.dev/name/apis/name-ai-api-public-rest-api-openapi-3-1/revisions/e04300069786?raw)
