API
No account or API key needed.
Find a tool
Search the list, then use a tool’s input definitions and example.
GET /api/operations?q=postcodeGET /api/operations/lookup-uk-postcodeProviders and endpoints
Browse by provider or by endpoint. Several tools can use the same endpoint with different inputs or result views.
GET /api/providers and GET /api/endpoints list groups and their tool IDs. Filter /api/operations using an exact provider or endpoint value from those lists. Endpoint groups combine the HTTP method and URL path, without preset query parameters.
Place tools show focused tables on the website. Their API URLs return the full provider response.
Run a tool
Call its listof.tools URL with your inputs. The site handles the provider’s headers and request body.
curl --fail 'https://listof.tools/api/run/lookup-uk-postcode?q=NG1%202DT'
Results are JSON, text or PNG. An empty search result can be valid.
Compare sharing previews
Send 2–100 public URLs as a JSON array. POST avoids request-URL length limits.
POST /api/run/compare-link-previews
Content-Type: application/json
{"urls":["https://listof.tools/","https://unfurls.to/","https://example.org/"],"view":"slack"}Views include all, individual platforms, details, images and favicon. Inputs are limited to 220 KiB; results to 256 KiB. Large sets or All previews can exceed that result limit; the tool page also links directly to the same comparison on unfurls.to. Provider fresh-fetch limits and per-site errors still apply. Previews are estimates; image availability is not verified.
Browser compatibility
MDN and Can I use lookups use versioned datasets hosted here. Results include the dataset version and date, up to five matches and the original support statements or version tables. These snapshots are refreshed with a deployment; they are not live queries to MDN or Can I use.
GET /api/compatibility/mdn?feature=api.AbortControllerGET /api/compatibility/caniuse?feature=css-subgridThese URLs share the tool runner’s input checks and per-IP rate limit, without an external provider request or proxy-budget reservation. Web Platform Status tools query its live API and use the normal shared proxy allowance. Keep partial-support notes, flags and exceptions when interpreting results. Baseline status does not establish compatibility with every browser version.
Reference files
- Tool list (JSON)
- Tools, input definitions and example requests.
- API schema (OpenAPI)
- Import into an API client or an assistant that supports OpenAPI.
- Text guide
- A short reference for people and AI assistants.
- Tool definition schema
- The JSON format for describing a tool.
Add a tool
Use the form or send a definition to POST /api/submissions. Include example inputs and an expected response check. We review the source, then test the example before publication. The response includes an ID and status URL. Duplicate definitions are rejected.
Tool feedback
People and AI clients can report that a tool worked, looks useful, or has a provider they trust. Read counts with GET /api/feedback/{id}, or send feedback to the same URL:
POST /api/feedback/lookup-uk-postcode
Content-Type: application/json
{"signal":"worked","value":true,"clientId":"your-random-client-id"}
Signals are worked, useful and trusted. Reuse a random client ID (16–80 letters, numbers, underscores or hyphens); don’t use an email address or personal identifier. Repeating a signal counts once. Send value:false to undo it. Include the ID in an X-Feedback-Client header on GET to retrieve your selected signals. Only report an experience or judgement you actually have. Counts are anonymous and unverified; they do not establish correctness or safety. Feedback is limited to 20 updates per minute per IP at each enforcement location.
Limits
Server calls have a 15-second timeout and a 256 KiB result limit. Each IP can make 20 calls per minute per tool at each enforcement location.
Shared proxy allowances apply across all callers: 120 calls per minute and 5,000 per UTC day for the site. A provider normally has 30 calls per minute and 1,000 per day; unfurls.to has 10 per minute and 250 per day, while Photon and Wikidata have 10 per minute and 500 per day. Tools using the same provider hostname share its allowance. Limits may be adjusted.
Exhausted allowances return HTTP 429 with Retry-After and a reset time. Paused providers or unavailable usage accounting return HTTP 503. Failed provider requests consume allowance. Direct browser calls are separate; provider limits also apply. Inputs go to the provider; don’t send private data.