---
title: "Search sourced integrations, APIs, browsers and developer tools"
method: GET
path: "/tools"
tags: ["tools"]
---

# Search sourced integrations, APIs, browsers and developer tools

`GET /tools`

## Request

- Base URL: `https://workingproxysites.info/api/v1`
- URL: `https://workingproxysites.info/api/v1/tools`
- Auth: none required

Filters combine with AND; results sort alphabetically. Source facts describe documented capabilities, not live testing. Same result as the search_tools MCP tool. Invalid, unknown and repeated query parameters return 400.

## Query parameters

- `q` string
- `category` 'integration' | 'scraping-api' | 'serp-api' | 'browser' | 'ip-intelligence' | 'sdk' | 'cli' | 'skill' | 'diagnostic'
- `provider` string
- `tool` string
- `capability` string
- `connection` 'proxy' | 'http-api' | 'cdp' | 'package' | 'template' | 'database-download'
- `limit` integer
- `offset` integer

## Headers

- `If-None-Match` string

## Response `200`

Matching public tools.

- ToolSearch
  - `schema_version` string, required
  - `total` integer, required
  - `limit` integer, required
  - `offset` integer, required
  - `filters` object, required
  - `tools` ToolDetail[], required
    - `slug` string, required
    - `name` string, required
    - `category` 'integration' | 'scraping-api' | 'serp-api' | 'browser' | 'ip-intelligence' | 'sdk' | 'cli' | 'skill' | 'diagnostic', required
    - `provider_slug` string, nullable, required
    - `publisher` string, required
    - `publisher_type` 'official' | 'community', required
    - `website` string, uri, required
    - `summary` string, required
    - `tools` string[], required
    - `capabilities` string[], required
    - `outputs` string[], required
    - `connection` 'proxy' | 'http-api' | 'cdp' | 'package' | 'template' | 'database-download', required
    - `billing_basis` string, required
    - `facts` object[], required
      - `key` 'delivery' | 'location' | 'network' | 'privacy' | 'access' | 'billing' | 'ipv6'
      - `label` string, required
      - `value` string, required
      - `source_ids` string[], required
    - `decision_rows` object[]
      - `when` string, required
      - `request` string, required
      - `check` string, required
      - `billing` string, required
      - `source_ids` string[], required
    - `setup` string[], required
    - `limitations` string[], required
    - `request_examples` object[]
      - `label` string, required
      - `code` string, required
      - `source_ids` string[], required
    - `response_examples` object[]
      - `label` string, required
      - `code` string, required
      - `interpretation` string, required
      - `source_ids` string[], required
    - `sources` object[], required
      - `id` string, required
      - `label` string, required
      - `url` string, uri, required
      - `checked_at` string, required
    - `checked_at` string, required
    - `review_due` string, required
    - `evidence` 'documented', required
    - `url` string, uri, required
    - `provider_url` string, uri, nullable, required
    - `review_overdue` boolean, required

## Other responses

- `304`: The representation still matches If-None-Match.
- `400`: Invalid input (invalid_field, invalid_parameter, invalid_json…).

---

[API](https://skmtc.dev/workingproxysites/apis/working-proxy-sites-api.md) · [All operations](https://skmtc.dev/workingproxysites/apis/working-proxy-sites-api/llms.txt) · [OpenAPI document](https://skmtc.dev/workingproxysites/apis/working-proxy-sites-api/revisions/569b34abb022?raw)
