FireToolLand API

Find the page of a free tool that runs in the browser, for a task, in the language of the person who asks. The API and the MCP server give the same answers.

What it is for

FireToolLand is a site of free online tools in 12 languages: PDF and image tools, calculators, text and developer tools, and more. The tools run in the visitor's browser: what a visitor enters or opens is not sent to the site.

An AI agent or an app uses this API to find the right tool for a task and to give the person that tool's page in their own language. The API only reads the catalogue: it lists the tools and their pages and changes nothing.

Endpoints

Every endpoint answers JSON and needs no key. lang is a site language code (en by default).

The index of the API, with the addresses of its documents and endpoints.

curl -s "https://firetoolland.com/api/v1"

Search the tools. q matches every word, ignoring case and accents. category (a category code) and limit (1 to 100, 20 by default) are optional.

curl -s "https://firetoolland.com/api/v1/tools?q=pdf+to+word&lang=en&limit=5"

One tool: its name, title, description, category, page address, and the page address in each language the tool is available in.

curl -s "https://firetoolland.com/api/v1/tools/pdf-to-word?lang=tr"

The categories of a language, with their page addresses and tool counts.

curl -s "https://firetoolland.com/api/v1/categories?lang=de"

Errors

Errors are RFC 9457 problem details (application/problem+json). Each one has a code, a detail that says what went wrong, and a resolution that says what to do next.

  • 400: lang is not a language of the site. The detail lists the valid ones.
  • 400: limit is not a whole number from 1 to 100.
  • 400: no category has this code.
  • 404: no tool has this id.
  • 404: the tool has no page in that language. The resolution names the languages it has.
  • 404: there is no such address under /api/v1.
  • 405: the API answers GET, HEAD and OPTIONS. The Allow header says so.
  • 429: too many requests from this address in the window. Retry-After says when to try again.

Rate limits

The API (/api/v1) allows 60 requests per 60 seconds from one address. The MCP endpoint (/mcp) allows 60 requests per 60 seconds, counted separately.

Every answer carries the RateLimit-Policy and RateLimit headers (IETF draft). Past the limit the answer is 429 with a Retry-After header and a problem with the code rate-limited. IPv6 addresses share one limit per /64 network. A CORS preflight (OPTIONS) is answered but not counted.

The headers of an answer look like this:

RateLimit-Policy: "api";q=60;w=60
RateLimit: "api";r=59;t=60

MCP server

The same questions are tools of a Model Context Protocol server at https://firetoolland.com/mcp: search_tools, get_tool and list_categories. It uses Streamable HTTP, is stateless and is read-only. Its server card is at https://firetoolland.com/.well-known/mcp/server-card.json.

Ask the MCP server for its tools with one JSON-RPC request:

curl -s -X POST "https://firetoolland.com/mcp" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

OpenAPI and API catalogue

The API is described in OpenAPI 3.1 at https://firetoolland.com/openapi.json. The API catalogue (RFC 9727) at https://firetoolland.com/.well-known/api-catalog links that description, this page, the llms.txt file and the MCP server.

Versioning and deprecation

Version 1 (/api/v1) is stable. A breaking change never reaches it: it comes as a new version next to it, /api/v2, and the version that exists keeps working.

A version that is retired is announced first. Its answers then carry the Deprecation header (RFC 9745) and the Sunset header (RFC 8594), and it keeps answering for at least six months after the announcement. Nothing is deprecated now, so neither header is sent today; /openapi.json declares them.

Terms

Free to use. The API and the MCP server are read-only: they change nothing, and the site's code does not store the requests they receive.

No key and no sign-up. Fair use: the site limits how many requests one address can send in a short time, and heavy automated traffic can be limited or blocked. Answers may be cached for an hour.

We use necessary cookies to run the site. With your consent, Google also uses advertising cookies to show personalised ads. If you reject them, you still see ads, but they are not personalised.