{
  "data": {
    "similar": [
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/serpkite.json",
        "name": "SerpKite",
        "score": 67.6,
        "shared": [
          "web.search",
          "search.serp",
          "search.news",
          "search.images",
          "web.fetch"
        ],
        "slug": "serpkite"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/tavily-mcp.json",
        "name": "Tavily API + MCP",
        "score": 77.1,
        "shared": [
          "web.search",
          "web.fetch",
          "search.news",
          "search.images"
        ],
        "slug": "tavily-mcp"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/serpapi.json",
        "name": "SerpApi",
        "score": 63.5,
        "shared": [
          "web.search",
          "search.serp",
          "search.news",
          "search.images"
        ],
        "slug": "serpapi"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/kagi-search.json",
        "name": "Kagi Search API",
        "score": 56.1,
        "shared": [
          "web.search",
          "web.fetch",
          "search.news",
          "search.images"
        ],
        "slug": "kagi-search"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/searchapi-io.json",
        "name": "SearchAPI.io",
        "score": 50.1,
        "shared": [
          "web.search",
          "search.serp",
          "search.news",
          "search.images"
        ],
        "slug": "searchapi-io"
      },
      {
        "grade": "F",
        "json": "https://www.anchorterminal.com/tools/serper.json",
        "name": "Serper",
        "score": 24.2,
        "shared": [
          "web.search",
          "search.serp",
          "search.news",
          "search.images"
        ],
        "slug": "serper"
      }
    ],
    "tool": {
      "slug": "serphouse",
      "name": "SERPHouse",
      "vendor": "Patoliya Infotech LLP",
      "vendorUrl": "https://www.serphouse.com",
      "kind": "http-api",
      "category": "search",
      "summary": "SERPHouse is a SERP API from Patoliya Infotech LLP in India that returns parsed Google, Bing and Yahoo results as JSON, live or scheduled, with a Scraper API for page HTML or Markdown and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/serphouse",
      "markdownUrl": "https://www.anchorterminal.com/tools/serphouse.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/serphouse.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/serphouse.json",
      "dns": "serphouse.grade.anchorterminal.com",
      "repo": "https://github.com/SERPHouse/serphouse-mcp",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.serphouse.com/YOUR_API_KEY/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "serphouse-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "One API key per account, shown on the dashboard after a browser signup and email confirmation. Sent as `Authorization: Bearer` or as `api_token` in the query string. The hosted MCP server takes the key in its URL path. One account per user. No scopes or rotation found.",
      "pricing": "paid",
      "pricingNotes": "Basic $29.99 a month for 400,000 credits ($0.75 per 1,000 SERP requests) and Regular $49.99 for 800,000 ($0.62). Autocomplete $0.37 and $0.31, Top 100 Google $7.50 and $6.25 per 1,000. Custom plans by email. Free trial 4,000 credits for 7 days, no card. Credits don't roll over.",
      "priceSummary": "$0.75 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, the docs, llms.txt or the MCP source (checked 2026-11-06). An empty balance returns 402 'Insufficient credits'.",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.serphouse.com/docs",
      "mcpTools": {
        "url": "https://mcp.serphouse.com/YOUR_SERPHouse_API_KEY/mcp",
        "checkedAt": "2026-11-07T01:47:41.660458875Z",
        "status": "ok",
        "protocol": "2025-11-25",
        "tools": [
          {
            "name": "serphouse_domain_list",
            "title": "Serphouse Domain List",
            "description": "List supported search domains. Call this before Yahoo searches — yahoo.com is not valid; use regional domains like uk.yahoo.com from this list.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {},
              "type": "object"
            }
          },
          {
            "name": "serphouse_language_list",
            "title": "Serphouse Language List",
            "description": "Get supported language codes for google, bing, or yahoo.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "type": {
                  "description": "Search engine language catalog to fetch.",
                  "enum": [
                    "google",
                    "bing",
                    "yahoo"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_location_search",
            "title": "Serphouse Location Search",
            "description": "Search Serphouse location ids and location strings for Google or Bing targeting.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "q": {
                  "description": "Location search term, for example texas or london.",
                  "minLength": 1,
                  "type": "string"
                },
                "type": {
                  "default": "google",
                  "enum": [
                    "google",
                    "bing"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_account_info",
            "title": "Serphouse Account Info",
            "description": "Get Serphouse account plan and credit usage.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {},
              "type": "object"
            }
          },
          {
            "name": "serphouse_search",
            "title": "Serphouse Search",
            "description": "Default web search for agents — fast lightweight Google organic results via POST /web-search-lite. Only q is required; gl defaults to US. Use serphouse_google_web only when you need device, gfilter, or num_result. Use serphouse_serp_google_advanced for SEO rankings beyond top 10.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "description": "Optional date filter: YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y. Omit for general searches — lite results may be empty when this is set.",
                  "minLength": 1,
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "gl": {
                  "description": "Two-letter ISO country code, e.g. US, IN, GB. Used when loc is omitted.",
                  "minLength": 1,
                  "pattern": "^[A-Za-z]{2}$",
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Location name, e.g. Austin,Texas,United States. Provide loc or gl, not both.",
                  "minLength": 1,
                  "type": "string"
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                },
                "verbatim": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_web_lite",
            "title": "Serphouse Google Web Search (Lite)",
            "description": "Alias of serphouse_search — fast lightweight Google organic results via POST /web-search-lite. Prefer serphouse_search for general agent queries.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "description": "Optional date filter: YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y. Omit for general searches — lite results may be empty when this is set.",
                  "minLength": 1,
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "gl": {
                  "description": "Two-letter ISO country code, e.g. US, IN, GB. Used when loc is omitted.",
                  "minLength": 1,
                  "pattern": "^[A-Za-z]{2}$",
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Location name, e.g. Austin,Texas,United States. Provide loc or gl, not both.",
                  "minLength": 1,
                  "type": "string"
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                },
                "verbatim": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_web",
            "title": "Serphouse Google Web Search (Full)",
            "description": "Full Google web search via POST /google-web with device, gfilter, and num_result. Requires loc or loc_id. For general queries use serphouse_search instead.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                  "minLength": 1,
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "gfilter": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    }
                  ]
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "num_result": {
                  "maximum": 10,
                  "minimum": 1,
                  "type": "integer"
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                },
                "verbatim": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_image",
            "title": "Serphouse Google Image Search",
            "description": "Run a realtime Google image search via POST /google-image.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "minLength": 1,
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_news",
            "title": "Serphouse Google News Search",
            "description": "Run a realtime Google news search via POST /google-news.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "minLength": 1,
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_shop",
            "title": "Serphouse Google Shop Search",
            "description": "Run a realtime Google shopping search via POST /google-shop.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_bing_web",
            "title": "Serphouse Bing Web Search",
            "description": "Run a realtime Bing web search via POST /bing-web.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "minLength": 1,
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "lang": {
                  "default": "en-US",
                  "description": "Language code, for example en-US or fr-FR.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_bing_image",
            "title": "Serphouse Bing Image Search",
            "description": "Run a realtime Bing image search via POST /bing-image.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "lang": {
                  "default": "en-US",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_bing_news",
            "title": "Serphouse Bing News Search",
            "description": "Run a realtime Bing news search via POST /bing-news.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "lang": {
                  "default": "en-US",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_yahoo_web",
            "title": "Serphouse Yahoo Web Search",
            "description": "Run a realtime Yahoo web search via POST /yahoo-web.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "uk.yahoo.com",
                  "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "lang_en",
                  "description": "Yahoo language code, for example lang_en or lang_fr.",
                  "minLength": 1,
                  "type": "string"
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_yahoo_image",
            "title": "Serphouse Yahoo Image Search",
            "description": "Run a realtime Yahoo image search via POST /yahoo-image.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "domain": {
                  "default": "uk.yahoo.com",
                  "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "lang_en",
                  "minLength": 1,
                  "type": "string"
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_yahoo_news",
            "title": "Serphouse Yahoo News Search",
            "description": "Run a realtime Yahoo news search via POST /yahoo-news.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "uk.yahoo.com",
                  "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "lang_en",
                  "minLength": 1,
                  "type": "string"
                },
                "no_trace": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    },
                    {
                      "const": "true",
                      "type": "string"
                    },
                    {
                      "const": "false",
                      "type": "string"
                    },
                    {
                      "const": true,
                      "type": "boolean"
                    },
                    {
                      "const": false,
                      "type": "boolean"
                    }
                  ],
                  "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_serp_google_advanced",
            "title": "Serphouse Google Advanced SERP",
            "description": "SEO ranking checks: fetch up to 100 Google results in one request. Use max_pages 1–10 (~10 results per page). For general web search use serphouse_search; use this when rank position beyond the top 10 is needed.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                  "minLength": 1,
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "gfilter": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    }
                  ]
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "max_pages": {
                  "default": 10,
                  "maximum": 10,
                  "minimum": 1,
                  "type": "integer"
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                },
                "serp_type": {
                  "default": "web",
                  "enum": [
                    "web",
                    "news",
                    "image",
                    "shop"
                  ],
                  "type": "string"
                },
                "verbatim": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_jobs",
            "title": "Serphouse Google Jobs",
            "description": "Run a realtime Google Jobs search.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "minLength": 1,
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "q": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_autocomplete",
            "title": "Serphouse Google Autocomplete",
            "description": "Get realtime localized Google autocomplete suggestions.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "client": {
                  "default": "chrome",
                  "enum": [
                    "chrome",
                    "chrome-omni",
                    "home_page",
                    "safari",
                    "firefox",
                    "youtube"
                  ],
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Location name used to localize suggestions.",
                  "minLength": 1,
                  "type": "string"
                },
                "q": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q",
                "loc"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_videos",
            "title": "Serphouse Google Videos",
            "description": "Run a realtime Google Videos search with optional video filters.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                  "minLength": 1,
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                },
                "video_captions": {
                  "const": "captioned",
                  "type": "string"
                },
                "video_duration": {
                  "enum": [
                    "short",
                    "medium",
                    "long"
                  ],
                  "type": "string"
                },
                "video_quality": {
                  "const": "high",
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_short_videos",
            "title": "Serphouse Google Short Videos",
            "description": "Run a realtime Google Short Videos search.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                  "minLength": 1,
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                },
                "video_captions": {
                  "const": "captioned",
                  "type": "string"
                },
                "video_quality": {
                  "const": "high",
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_forums",
            "title": "Serphouse Google Forums",
            "description": "Run a realtime Google Forums search for discussions and community results.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_range": {
                  "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                  "minLength": 1,
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "description": "Search phrase to query.",
                  "minLength": 1,
                  "type": "string"
                },
                "verbatim": {
                  "anyOf": [
                    {
                      "const": 0,
                      "type": "number"
                    },
                    {
                      "const": 1,
                      "type": "number"
                    },
                    {
                      "const": "0",
                      "type": "string"
                    },
                    {
                      "const": "1",
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          },
          {
            "name": "serphouse_google_local",
            "title": "Serphouse Google Local",
            "description": "Run a realtime Google Local search for local business results.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "domain": {
                  "default": "google.com",
                  "minLength": 1,
                  "type": "string"
                },
                "lang": {
                  "default": "en",
                  "minLength": 1,
                  "type": "string"
                },
                "loc": {
                  "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                  "minLength": 1,
                  "type": "string"
                },
                "loc_id": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    {
                      "minLength": 1,
                      "pattern": "^\\d+$",
                      "type": "string"
                    }
                  ],
                  "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                },
                "page": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "q": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "q"
              ],
              "type": "object"
            }
          }
        ],
        "schemaTokens": 6824,
        "changedAt": "2026-11-07T01:47:41.660458875Z",
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 6824,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 43
          },
          "findings": [
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_bing_image",
              "message": "2 parameters without a description: lang, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_bing_news",
              "message": "3 parameters without a description: device, lang, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_bing_web",
              "message": "3 parameters without a description: date_range, device, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_autocomplete",
              "message": "3 parameters without a description: client, lang, q",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_forums",
              "message": "5 parameters without a description: device, domain, lang, page, verbatim",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_image",
              "message": "4 parameters without a description: date_range, domain, lang, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_jobs",
              "message": "4 parameters without a description: date_range, domain, lang, q",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_local",
              "message": "4 parameters without a description: domain, lang, page, q",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_news",
              "message": "5 parameters without a description: date_range, device, domain, lang, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_shop",
              "message": "3 parameters without a description: domain, lang, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_short_videos",
              "message": "6 parameters without a description: device, domain, lang, page, video_captions, video_quality",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_videos",
              "message": "7 parameters without a description: device, domain, lang, page, video_captions, video_duration and 1 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_web",
              "message": "7 parameters without a description: device, domain, gfilter, lang, num_result, page and 1 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_google_web_lite",
              "message": "4 parameters without a description: domain, lang, page, verbatim",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_location_search",
              "message": "1 parameter without a description: type",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_search",
              "message": "4 parameters without a description: domain, lang, page, verbatim",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_serp_google_advanced",
              "message": "8 parameters without a description: device, domain, gfilter, lang, max_pages, page and 2 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_yahoo_image",
              "message": "2 parameters without a description: lang, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_yahoo_news",
              "message": "3 parameters without a description: device, lang, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "serphouse_yahoo_web",
              "message": "2 parameters without a description: device, page",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_account_info",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"info\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_bing_image",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_bing_news",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_bing_web",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_domain_list",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_autocomplete",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_forums",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_image",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_jobs",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_local",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_news",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_shop",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_short_videos",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_videos",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_web",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_google_web_lite",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_language_list",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_location_search",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_search",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_serp_google_advanced",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_yahoo_image",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_yahoo_news",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "serphouse_yahoo_web",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "23 of 23 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        }
      },
      "llmsTxt": "https://www.serphouse.com/llms.txt",
      "capabilities": [
        "search.serp",
        "web.search",
        "search.news",
        "search.images",
        "web.fetch"
      ],
      "tags": [
        "hosted",
        "paid",
        "no-card",
        "free-tier",
        "mcp",
        "remote-mcp",
        "llms-txt",
        "python",
        "india"
      ],
      "lastRelease": "2026-07-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 42.4,
        "grade": "E",
        "agentReady": false,
        "rank": 1265,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 23,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 23,
          "payments": 40,
          "reliability": 40,
          "schema": 66,
          "security": 11,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 40,
            "points": 8,
            "reason": "Read with the hosted lines. No status page is linked from the site or docs, and status.serphouse.com did not answer on 6 November 2026 (0). No readable incident history (5). Rate limits published, 60 requests a minute and 60 concurrent on every self-serve plan (15). 429 is documented as 'slow down', and a 200 can carry `\"status\": \"error\"` with 'Please try again', with no Retry-After or backoff guidance. Failed requests aren't charged (5 of 15). The pricing page lists a 99.99% uptime SLA on Basic and Regular and the docs a 99.95% one, but no SLA terms or credits were found in the terms (5 of 10). Generally available (10). 0 + 5 + 15 + 5 + 5 + 10 = 40.",
            "checked": "2026-11-06"
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 66,
            "points": 10.73,
            "reason": "No OpenAPI or similar contract for the REST API. The MCP server's tools carry typed Zod schemas, published in the source and a static server card (18 of 25). llms.txt at the site and the docs, and every docs page as Markdown (10). MCP tool descriptions say which tool to use for what, such as `serphouse_google_web` when device or `num_result` is needed, while the docs pages lead with marketing lines such as 'Unlock captivating Google video content' (12 of 20). Enums for device, SERP type, engine and video duration, defaults and 37 described parameters (11 of 15). A status code table and request examples per engine, with a generic error body (12 of 15). No changelog or API versioning; only the MCP server has tags (3 of 15). 18 + 10 + 12 + 11 + 12 + 3 = 66.",
            "checked": "2026-11-06"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 64,
            "points": 10.4,
            "reason": "23 MCP tools with no toolsets or filtering (15 of 25). `num_result`, `max_pages`, paging, device, location, language, date and video filters (16 of 20). Status codes are tabulated, but a 200 can also mean an error and the body carries only 'Please try again' (10 of 20). Searches only read and failed requests aren't charged, but the MCP tools carry no readOnlyHint or other annotations (10 of 20). `serphouse_search` needs only `q` and defaults to the US; most other tools need `loc` or `loc_id`. Official Node.js, PHP and Python SDKs are documented (13 of 15). 15 + 16 + 10 + 10 + 13 = 64.",
            "checked": "2026-11-06"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 11,
            "points": 1.93,
            "reason": "One key per account, one account per user, no scopes or rotation found (10). The REST API documents `api_token` in the query string and the hosted MCP server takes the key only in its URL path, less 10 (0 of 30). Searches only read, with no read-only or restricted key (8 of 20). Results are third-party snippets and AI Overview text, with no prompt-injection guidance (0). An account tool shows plan and credit usage; no per-call log was found (3 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). 0 + 8 + 0 + 3 + 0 = 11.",
            "checked": "2026-11-06"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 40,
            "points": 5,
            "reason": "No x402, MPP or L402 (0). Per-1,000 prices for SERP, autocomplete and top-100 requests published without login (20). Free trial of 4,000 credits for 7 days, 'No Credit Card Required' (20). A person signs up in a browser and confirms an email (0). 0 + 20 + 20 + 0 = 40.",
            "checked": "2026-11-06"
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 23,
            "points": 2.01,
            "reason": "Read for a closed service, with its repositories read as code. No changelog or dated API change was found. The newest release is MCP server 1.1.0 on 6 July 2026, 123 days before 6 November, and the last commit in its repository was on 22 July (10). No release or dated change in the 90 days from 8 August; the about page's 2026 entry (Forums, Place Details and Scraper APIs) is undated (0). No changelog; support by email. Issues weren't read, since the GitHub API refused us for its rate limit (5 of 25). Not in the official MCP registry, though the repository's server.json names io.github.SERPHouse/serphouse-mcp. Node.js SDK last changed 24 June 2026, PHP SDK 10 May 2024, and no Python SDK repository was found under the SERPHouse organisation (5 of 15). The MCP repository has an npm publish workflow and no tests (3 of 10). 10 + 0 + 5 + 5 + 3 = 23.",
            "checked": "2026-11-06"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 50,
            "points": 4.38,
            "note": "editorial 39, provenance 61",
            "reason": "Closed service under terms naming Patoliya Infotech LLP in India, and the MCP server is MIT (18 of 30). The terms give retention periods (JSON results up to 6 months, HTML up to 1 month, search history indefinitely) and say personal data sits on DigitalOcean in India, and they advise EEA users not to use the service. The privacy policy is generic and neither document carries a date (15 of 30). No deprecation policy, and the terms allow products to be discontinued without notice (0 of 20). DigitalOcean in India named for account data; no sub-processor list (6 of 20). 18 + 15 + 0 + 6 = 39.",
            "checked": "2026-11-06"
          }
        ],
        "assessment": {
          "date": "2026-11-06",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "23 MCP tools with no toolsets or filtering (15 of 25). `num_result`, `max_pages`, paging, device, location, language, date and video filters (16 of 20). Status codes are tabulated, but a 200 can also mean an error and the body carries only 'Please try again' (10 of 20). Searches only read and failed requests aren't charged, but the MCP tools carry no readOnlyHint or other annotations (10 of 20). `serphouse_search` needs only `q` and defaults to the US; most other tools need `loc` or `loc_id`. Official Node.js, PHP and Python SDKs are documented (13 of 15). 15 + 16 + 10 + 10 + 13 = 64.",
            "maintenance": "Read for a closed service, with its repositories read as code. No changelog or dated API change was found. The newest release is MCP server 1.1.0 on 6 July 2026, 123 days before 6 November, and the last commit in its repository was on 22 July (10). No release or dated change in the 90 days from 8 August; the about page's 2026 entry (Forums, Place Details and Scraper APIs) is undated (0). No changelog; support by email. Issues weren't read, since the GitHub API refused us for its rate limit (5 of 25). Not in the official MCP registry, though the repository's server.json names io.github.SERPHouse/serphouse-mcp. Node.js SDK last changed 24 June 2026, PHP SDK 10 May 2024, and no Python SDK repository was found under the SERPHouse organisation (5 of 15). The MCP repository has an npm publish workflow and no tests (3 of 10). 10 + 0 + 5 + 5 + 3 = 23.",
            "payments": "No x402, MPP or L402 (0). Per-1,000 prices for SERP, autocomplete and top-100 requests published without login (20). Free trial of 4,000 credits for 7 days, 'No Credit Card Required' (20). A person signs up in a browser and confirms an email (0). 0 + 20 + 20 + 0 = 40.",
            "reliability": "Read with the hosted lines. No status page is linked from the site or docs, and status.serphouse.com did not answer on 6 November 2026 (0). No readable incident history (5). Rate limits published, 60 requests a minute and 60 concurrent on every self-serve plan (15). 429 is documented as 'slow down', and a 200 can carry `\"status\": \"error\"` with 'Please try again', with no Retry-After or backoff guidance. Failed requests aren't charged (5 of 15). The pricing page lists a 99.99% uptime SLA on Basic and Regular and the docs a 99.95% one, but no SLA terms or credits were found in the terms (5 of 10). Generally available (10). 0 + 5 + 15 + 5 + 5 + 10 = 40.",
            "schema": "No OpenAPI or similar contract for the REST API. The MCP server's tools carry typed Zod schemas, published in the source and a static server card (18 of 25). llms.txt at the site and the docs, and every docs page as Markdown (10). MCP tool descriptions say which tool to use for what, such as `serphouse_google_web` when device or `num_result` is needed, while the docs pages lead with marketing lines such as 'Unlock captivating Google video content' (12 of 20). Enums for device, SERP type, engine and video duration, defaults and 37 described parameters (11 of 15). A status code table and request examples per engine, with a generic error body (12 of 15). No changelog or API versioning; only the MCP server has tags (3 of 15). 18 + 10 + 12 + 11 + 12 + 3 = 66.",
            "security": "One key per account, one account per user, no scopes or rotation found (10). The REST API documents `api_token` in the query string and the hosted MCP server takes the key only in its URL path, less 10 (0 of 30). Searches only read, with no read-only or restricted key (8 of 20). Results are third-party snippets and AI Overview text, with no prompt-injection guidance (0). An account tool shows plan and credit usage; no per-call log was found (3 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). 0 + 8 + 0 + 3 + 0 = 11.",
            "transparency": "Closed service under terms naming Patoliya Infotech LLP in India, and the MCP server is MIT (18 of 30). The terms give retention periods (JSON results up to 6 months, HTML up to 1 month, search history indefinitely) and say personal data sits on DigitalOcean in India, and they advise EEA users not to use the service. The privacy policy is generic and neither document carries a date (15 of 30). No deprecation policy, and the terms allow products to be discontinued without notice (0 of 20). DigitalOcean in India named for account data; no sub-processor list (6 of 20). 18 + 15 + 0 + 6 = 39."
          },
          "sources": [
            {
              "what": "Home page",
              "url": "https://www.serphouse.com/",
              "seen": "2026-11-06"
            },
            {
              "what": "About page and product timeline",
              "url": "https://www.serphouse.com/about-us",
              "seen": "2026-11-06"
            },
            {
              "what": "Getting started (auth, status codes, rate limits, pricing)",
              "url": "https://www.serphouse.com/docs/getting-started",
              "seen": "2026-11-06"
            },
            {
              "what": "MCP server docs",
              "url": "https://www.serphouse.com/docs/mcp-server",
              "seen": "2026-11-06"
            },
            {
              "what": "Docs llms.txt",
              "url": "https://www.serphouse.com/docs/llms.txt",
              "seen": "2026-11-06"
            },
            {
              "what": "Pricing",
              "url": "https://www.serphouse.com/pricing",
              "seen": "2026-11-06"
            },
            {
              "what": "Terms of service",
              "url": "https://www.serphouse.com/terms-of-service",
              "seen": "2026-11-06"
            },
            {
              "what": "Privacy policy",
              "url": "https://www.serphouse.com/privacy-policy",
              "seen": "2026-11-06"
            },
            {
              "what": "Contact page",
              "url": "https://www.serphouse.com/contact-us",
              "seen": "2026-11-06"
            },
            {
              "what": "MCP server repository",
              "url": "https://github.com/SERPHouse/serphouse-mcp",
              "seen": "2026-11-06"
            },
            {
              "what": "npm package serphouse-mcp",
              "url": "https://registry.npmjs.org/serphouse-mcp",
              "seen": "2026-11-06"
            },
            {
              "what": "Node.js SDK repository",
              "url": "https://github.com/SERPHouse/serphouse-nodejs",
              "seen": "2026-11-06"
            },
            {
              "what": "Patoliya Infotech about page",
              "url": "https://www.patoliyainfotech.com/company/about",
              "seen": "2026-11-06"
            }
          ],
          "openQuestions": [
            "Oxylabs. The home page says 'Explore the Scraper APIs Playground on the Oxylabs dashboard for hands-on interaction with our APIs', next to a SERPHouse signup button. The terms, privacy policy, about page and docs name no relationship with Oxylabs and no Oxylabs sub-processor, and the playground and signup are on serphouse.com. A search for the sentence found Oxylabs' own playground documentation but not the sentence, so where it came from is not established. Judgement call, not a deduction, since no claim of partnership is made; data/tools/oxylabs-web-scraper.json is a separate listing.",
            "The pricing page lists '100% Success Rate' and a '99.99% Uptime SLA' on Basic and Regular; the docs list 99.95%, and say a 200 can carry an error to retry. No SLA terms or credits were found. Vendor claims, not deducted.",
            "unchecked: GitHub issues and star counts, since the GitHub API refused us for its rate limit; repositories were read by shallow clone.",
            "The docs name an official Python SDK, but no Python repository was found under github.com/SERPHouse and PyPI had no `serphouse` project we could read.",
            "firstReleased is September 2019, when the about page says the first SERPHouse API launched; RDAP gives the domain 20 August 2019.",
            "The lead said 4,000 free searches. The trial is 4,000 credits, and by the published prices a SERP request uses 10 credits, so about 400 SERP requests.",
            "The trial terms forbid 'scraping at scale or performing automated bulk data extraction' with trial credits. Recorded as a fact."
          ]
        },
        "negative": 0,
        "verdict": "SERPHouse returns parsed Google, Bing and Yahoo results at published prices from $0.62 per 1,000 requests, with a 23-tool MCP server and a 4,000-credit trial without a card. The hosted MCP puts the key in its URL, there is no status page, changelog or security contact, and the terms keep search history indefinitely.",
        "bestFor": "Low-cost Google, Bing and Yahoo result parsing for SEO and rank tracking, with many Google verticals.",
        "strengths": [
          "Published prices per 1,000 requests, $0.75 on Basic and $0.62 on Regular, with failed requests not charged",
          "Google web, news, images, shopping, jobs, videos, forums, local and autocomplete, plus Bing and Yahoo, in one API",
          "Hosted and stdio MCP server with 23 tools, typed Zod inputs and routing advice between tools, MIT licensed",
          "llms.txt and Markdown copies of the docs pages, with a status code table and per-engine examples",
          "Free trial of 4,000 credits for 7 days with no card"
        ],
        "weaknesses": [
          "The hosted MCP server takes the API key only in its URL path, and the REST API also accepts `api_token` in the query string",
          "No status page, changelog, security.txt, disclosure policy or certification found",
          "Terms keep search history indefinitely and advise users in the European Economic Area not to use the service",
          "The pricing page states a 99.99% uptime SLA and the docs 99.95%, with no SLA terms or credits found",
          "The home page sends readers to a playground 'on the Oxylabs dashboard', with no relationship to Oxylabs found"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Bearer`, not as `api_token` in the URL",
          "Treat a 200 with `\"status\": \"error\"` and 'Please try again' as a failure and retry later",
          "Pass `loc` or `loc_id` for Google and Bing tools other than `serphouse_search`; find IDs with `serphouse_location_search`",
          "Use `serphouse_search` for plain lookups and `serphouse_serp_google_advanced` only when ranks beyond the top 10 are needed, at ten times the price",
          "Keep under 60 requests a minute on self-serve plans"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42.4
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 23,
          "payments": 40,
          "reliability": 40,
          "schema": 66,
          "security": 11,
          "transparency": 39
        },
        "provenanceScore": 61,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        },
        "scoreHistory": [
          {
            "date": "2026-11-06",
            "grade": "E",
            "kind": "listed",
            "method": "0.7",
            "score": 42.4
          }
        ]
      },
      "connect": {
        "install": "npx serphouse-mcp",
        "http": "curl -X POST https://api.serphouse.com/serp/live \\\n  -H 'accept: application/json' \\\n  -H 'authorization: Bearer API_TOKEN' \\\n  -H 'content-type: application/json' \\\n  -d '{\"data\": {\"domain\": \"google.com\", \"lang\": \"en\", \"q\": \"Coffee\", \"loc\": \"Texas,United States\", \"device\": \"desktop\", \"serp_type\": \"web\"}}'",
        "config": {
          "mcpServers": {
            "serphouse": {
              "url": "https://mcp.serphouse.com/YOUR_SERPHouse_API_KEY/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/search.serp",
        "tool": "https://letme.dev/serphouse"
      },
      "notable": [
        "Live API at https://api.serphouse.com/serp/live and a Scheduled API with task IDs, postback and pingback URLs (https://www.serphouse.com/docs/getting-started)",
        "The MCP server registers 23 tools in five groups and two guide resources; tools and resources can be listed without a key (https://www.serphouse.com/docs/mcp-server)",
        "MCP server 1.0.0 on 16 June 2026 and 1.1.0 on 6 July 2026 on npm, MIT, last commit 22 July 2026 (https://github.com/SERPHouse/serphouse-mcp)",
        "The terms say structured JSON results are kept up to 6 months, HTML up to 1 month and search history indefinitely (https://www.serphouse.com/terms-of-service)",
        "The terms advise users in the European Economic Area not to use the service, because data is stored and processed outside the EEA (https://www.serphouse.com/terms-of-service)",
        "The home page says 'Explore the Scraper APIs Playground on the Oxylabs dashboard', while its signup and playground are on serphouse.com (https://www.serphouse.com/)"
      ],
      "area": "web-data",
      "details": [
        {
          "label": "Surface listed",
          "value": "The SERP API at api.serphouse.com and the hosted MCP server at mcp.serphouse.com, read from serphouse.com, its docs and llms.txt, the pricing page, terms, privacy policy and the serphouse-mcp repository on 6 November 2026. No account was made and no request was sent"
        },
        {
          "label": "Index",
          "value": "None of its own. Live Google, Bing and Yahoo results, parsed into JSON or returned as HTML"
        },
        {
          "label": "Verticals",
          "value": "Google web, lite web, top 100, AI Overview, news, images, shopping, jobs, videos, short videos, forums, local, place details and autocomplete; Bing and Yahoo web, news and images; a Scraper API for one page as rendered HTML or Markdown"
        },
        {
          "label": "Full text or snippets",
          "value": "Parsed SERP blocks with titles, links and snippets. Page text needs a separate Scraper API call"
        },
        {
          "label": "Modes",
          "value": "Live (synchronous) and Scheduled (asynchronous, task IDs, postback and pingback webhooks with signature verification)"
        },
        {
          "label": "Rate limits",
          "value": "60 requests a minute and 60 concurrent on Free, Basic and Regular; custom plans by request"
        },
        {
          "label": "Credits",
          "value": "Basic buys 400,000 credits for $29.99 at $0.75 per 1,000 SERP requests, which works out at 10 credits a SERP request by our arithmetic. Failed requests are not counted"
        },
        {
          "label": "Trial",
          "value": "4,000 credits for 7 days, no card. The trial terms forbid production workloads, scraping at scale and reselling trial data"
        },
        {
          "label": "Oxylabs",
          "value": "The home page names 'the Oxylabs dashboard' as the place to try the API. No link to Oxylabs, partnership or sub-processor naming it was found on serphouse.com, its terms, privacy policy or docs; the signup and playground are SERPHouse's own"
        },
        {
          "label": "Legal entity",
          "value": "Patoliya Infotech LLP, incorporated in India, Surat courts, address in Utran, Surat, Gujarat. Patoliya Infotech is a software development company founded in 2015 to 2016 per its own site"
        }
      ],
      "unitPrices": [
        {
          "item": "SERP request, Basic",
          "unit": "1k-requests",
          "usd": 0.75,
          "note": "$29.99 a month for 400,000 credits"
        },
        {
          "item": "SERP request, Regular",
          "unit": "1k-requests",
          "usd": 0.62,
          "note": "$49.99 a month for 800,000 credits"
        },
        {
          "item": "Autocomplete request, Basic",
          "unit": "1k-requests",
          "usd": 0.37,
          "note": "$0.31 on Regular"
        },
        {
          "item": "Top 100 Google SERP, Basic",
          "unit": "1k-requests",
          "usd": 7.5,
          "note": "$6.25 on Regular"
        },
        {
          "item": "Basic plan",
          "unit": "month",
          "usd": 29.99,
          "note": "400,000 credits, no rollover"
        },
        {
          "item": "Regular plan",
          "unit": "month",
          "usd": 49.99,
          "note": "800,000 credits, no rollover"
        }
      ],
      "provenance": {
        "legalEntity": "Patoliya Infotech LLP",
        "domain": "serphouse.com",
        "domainRegistered": "2019-08-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.serphouse.com/terms-of-service",
        "privacy": "https://www.serphouse.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms name Patoliya Infotech LLP, a limited liability partnership incorporated in India, under Indian law with courts in Surat. The contact page gives an address in Utran, Surat, Gujarat.",
          "No effective or updated date was found on the terms or the privacy policy.",
          "www.serphouse.com/robots.txt allows all agents except /data/.",
          "The trial terms forbid 'scraping at scale or performing automated bulk data extraction' with trial credits. No clause on automated access to the website was found.",
          "/.well-known/security.txt answers 404. No status page is linked, and status.serphouse.com did not answer.",
          "RDAP gives serphouse.com a registration date of 20 August 2019; the about page says SERPHouse started in September 2019."
        ],
        "score": 61,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Patoliya Infotech LLP",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "serphouse.com, registered 2019-08-20 (7 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "mcp.serphouse.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points",
            "points": 5.1,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 4 of the 8 things a reader expects",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "People named",
            "value": "1 named with their role, none with a public profile",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Support route",
            "value": "a support address, help pages",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.serphouse.com/terms-of-service",
            "state": "read",
            "readAt": "2026-11-06",
            "words": 5268,
            "points": 5.1,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "These Terms will be governed by the laws of the Republic of India with courts located in the city of Surat, India having exclusive jurisdiction over any disputes arising out of these Terms.",
                "says": "The law of the Republic of India, with disputes in the courts of the City of Surat, India"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "Because some states or jurisdictions do not allow the exclusion or the limitation of liability for consequential or incidental damages, in such states or jurisdictions, our liability shall be limited to the maximum extent permitted by law.",
                "says": "Rules out indirect and consequential losses, with no cap named in this sentence"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "You may terminate these Terms of Service at any time by notifying us that you no longer wish"
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "We may, in our sole discretion, modify the Terms via email or by posting notice on any part of the Website or SERPHouse Services.",
                "says": "Says it gives notice of a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "You may not use our products for any illegal or unauthorised purpose nor may you, in the use of the Service, violate any laws in your jurisdiction (including but not limited to copyright laws)."
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "No Service Level Agreement During Trial The Uptime SLA, 100% Success Rate guarantee, and Dedicated or Priority Support commitments described elsewhere in these Terms do not apply to Trial accounts."
              }
            ],
            "toKnow": [
              {
                "key": "terms.automated",
                "label": "Restricts automated access",
                "found": true,
                "quote": "- Scraping at scale or performing automated bulk data extraction;",
                "costsPoints": true
              },
              {
                "key": "terms.nonotice",
                "label": "Says the terms or the service can change without notice",
                "found": true,
                "quote": "We reserve the right to correct any errors, inaccuracies or omissions, and to change or update information or cancel orders if any information in the Service or on any related website is inaccurate at any time without prior notice (including after you have submitted your plan).",
                "costsPoints": true
              },
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time, without notice to you."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.serphouse.com/privacy-policy",
            "state": "read",
            "readAt": "2026-11-06",
            "words": 2116,
            "points": 7,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "you are aware of what information we collect, how we use it, and under what circumstances, if"
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": false
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "In general, the third-party providers used by us will only collect, use and disclose your"
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": false
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "B) GDPR, in so far as these cookies are used to collect data to initiate or process contractual"
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "us at or mailing us at : [email protected]",
                "says": "Gives an email address, hidden from our reader by the page"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": false
              }
            ]
          }
        ]
      },
      "humans": {
        "slug": "serphouse",
        "checked": "2026-11-06",
        "company": "Patoliya Infotech LLP (SERPHouse)",
        "people": [
          {
            "name": "Vijay Patoliya",
            "role": "Founder and CEO, Patoliya Infotech",
            "founder": true,
            "page": "/people/vijay-patoliya/"
          }
        ],
        "peopleNote": "SERPHouse's terms name Patoliya Infotech LLP as the company behind SERPHouse. Patoliya Infotech's about page names Vijay Patoliya as Founder \u0026 CEO; no SERPHouse page names a person in a role, and no personal profile linked from either site was found. SERPHouse's about page says it started in September 2019; Patoliya Infotech is a software development company founded in 2015 to 2016 per its site. Investors were looked for on serphouse.com (home, about, terms, contact) and patoliyainfotech.com on 6 November 2026; none names an outside investor, a round or a valuation, so none is recorded.",
        "companySocial": {
          "linkedin": "https://www.linkedin.com/company/serphouse/",
          "github": "https://github.com/SERPHouse"
        },
        "support": {
          "emails": [
            "getsupport@serphouse.com"
          ],
          "urls": [
            "https://www.serphouse.com/docs"
          ],
          "contactUrls": [
            "https://www.serphouse.com/contact-us"
          ]
        },
        "sources": [
          "https://www.serphouse.com/terms-of-service",
          "https://www.serphouse.com/contact-us",
          "https://www.serphouse.com/docs/getting-started",
          "https://www.patoliyainfotech.com/company/about",
          "https://www.serphouse.com/about-us"
        ],
        "ownership": {
          "status": "private",
          "checked": "2026-11-06",
          "sources": [
            "https://www.serphouse.com/terms-of-service",
            "https://www.patoliyainfotech.com/company/about"
          ]
        }
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/serphouse.json",
      "live": {
        "slug": "serphouse",
        "probe": {
          "target": "https://mcp.serphouse.com/YOUR_API_KEY/mcp",
          "method": "get",
          "lastAt": "2026-11-07T17:50:05.182993451Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 277,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 234,
          "p95ms24h": 351,
          "samples24h": 195,
          "samples30d": 195,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 182,
              "ok": 182
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "SERPHouse/serphouse-mcp",
            "version": "1.1.0",
            "released": "2026-07-06",
            "seenAt": "2026-11-07T00:04:55.526969474Z"
          },
          {
            "registry": "npm",
            "name": "serphouse-mcp",
            "version": "1.1.0",
            "seenAt": "2026-11-07T00:04:54.741719814Z"
          }
        ],
        "githubStars": 10,
        "npmWeekly": 11,
        "securityTxt": {
          "url": "https://serphouse.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:39.38860304Z"
        },
        "llmsTxt": {
          "url": "https://www.serphouse.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:54.600324581Z"
        },
        "pages": [
          {
            "url": "https://www.serphouse.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:34:21.531839335Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "85f9c0a9e291"
          },
          {
            "url": "https://www.serphouse.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:34:24.703890347Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "171892dff54e"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.serphouse.com/YOUR_SERPHouse_API_KEY/mcp",
          "checkedAt": "2026-11-07T01:47:41.660458875Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "serphouse_domain_list",
              "title": "Serphouse Domain List",
              "description": "List supported search domains. Call this before Yahoo searches — yahoo.com is not valid; use regional domains like uk.yahoo.com from this list.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {},
                "type": "object"
              }
            },
            {
              "name": "serphouse_language_list",
              "title": "Serphouse Language List",
              "description": "Get supported language codes for google, bing, or yahoo.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "type": {
                    "description": "Search engine language catalog to fetch.",
                    "enum": [
                      "google",
                      "bing",
                      "yahoo"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_location_search",
              "title": "Serphouse Location Search",
              "description": "Search Serphouse location ids and location strings for Google or Bing targeting.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "q": {
                    "description": "Location search term, for example texas or london.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "type": {
                    "default": "google",
                    "enum": [
                      "google",
                      "bing"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_account_info",
              "title": "Serphouse Account Info",
              "description": "Get Serphouse account plan and credit usage.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {},
                "type": "object"
              }
            },
            {
              "name": "serphouse_search",
              "title": "Serphouse Search",
              "description": "Default web search for agents — fast lightweight Google organic results via POST /web-search-lite. Only q is required; gl defaults to US. Use serphouse_google_web only when you need device, gfilter, or num_result. Use serphouse_serp_google_advanced for SEO rankings beyond top 10.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Optional date filter: YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y. Omit for general searches — lite results may be empty when this is set.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gl": {
                    "description": "Two-letter ISO country code, e.g. US, IN, GB. Used when loc is omitted.",
                    "minLength": 1,
                    "pattern": "^[A-Za-z]{2}$",
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Location name, e.g. Austin,Texas,United States. Provide loc or gl, not both.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_web_lite",
              "title": "Serphouse Google Web Search (Lite)",
              "description": "Alias of serphouse_search — fast lightweight Google organic results via POST /web-search-lite. Prefer serphouse_search for general agent queries.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Optional date filter: YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y. Omit for general searches — lite results may be empty when this is set.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gl": {
                    "description": "Two-letter ISO country code, e.g. US, IN, GB. Used when loc is omitted.",
                    "minLength": 1,
                    "pattern": "^[A-Za-z]{2}$",
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Location name, e.g. Austin,Texas,United States. Provide loc or gl, not both.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_web",
              "title": "Serphouse Google Web Search (Full)",
              "description": "Full Google web search via POST /google-web with device, gfilter, and num_result. Requires loc or loc_id. For general queries use serphouse_search instead.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gfilter": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "num_result": {
                    "maximum": 10,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_image",
              "title": "Serphouse Google Image Search",
              "description": "Run a realtime Google image search via POST /google-image.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_news",
              "title": "Serphouse Google News Search",
              "description": "Run a realtime Google news search via POST /google-news.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_shop",
              "title": "Serphouse Google Shop Search",
              "description": "Run a realtime Google shopping search via POST /google-shop.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_bing_web",
              "title": "Serphouse Bing Web Search",
              "description": "Run a realtime Bing web search via POST /bing-web.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "lang": {
                    "default": "en-US",
                    "description": "Language code, for example en-US or fr-FR.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_bing_image",
              "title": "Serphouse Bing Image Search",
              "description": "Run a realtime Bing image search via POST /bing-image.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "lang": {
                    "default": "en-US",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_bing_news",
              "title": "Serphouse Bing News Search",
              "description": "Run a realtime Bing news search via POST /bing-news.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "lang": {
                    "default": "en-US",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_yahoo_web",
              "title": "Serphouse Yahoo Web Search",
              "description": "Run a realtime Yahoo web search via POST /yahoo-web.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "uk.yahoo.com",
                    "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "lang_en",
                    "description": "Yahoo language code, for example lang_en or lang_fr.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_yahoo_image",
              "title": "Serphouse Yahoo Image Search",
              "description": "Run a realtime Yahoo image search via POST /yahoo-image.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "domain": {
                    "default": "uk.yahoo.com",
                    "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "lang_en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_yahoo_news",
              "title": "Serphouse Yahoo News Search",
              "description": "Run a realtime Yahoo news search via POST /yahoo-news.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "uk.yahoo.com",
                    "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "lang_en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_serp_google_advanced",
              "title": "Serphouse Google Advanced SERP",
              "description": "SEO ranking checks: fetch up to 100 Google results in one request. Use max_pages 1–10 (~10 results per page). For general web search use serphouse_search; use this when rank position beyond the top 10 is needed.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gfilter": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "max_pages": {
                    "default": 10,
                    "maximum": 10,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "serp_type": {
                    "default": "web",
                    "enum": [
                      "web",
                      "news",
                      "image",
                      "shop"
                    ],
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_jobs",
              "title": "Serphouse Google Jobs",
              "description": "Run a realtime Google Jobs search.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "q": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_autocomplete",
              "title": "Serphouse Google Autocomplete",
              "description": "Get realtime localized Google autocomplete suggestions.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "client": {
                    "default": "chrome",
                    "enum": [
                      "chrome",
                      "chrome-omni",
                      "home_page",
                      "safari",
                      "firefox",
                      "youtube"
                    ],
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Location name used to localize suggestions.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "q": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q",
                  "loc"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_videos",
              "title": "Serphouse Google Videos",
              "description": "Run a realtime Google Videos search with optional video filters.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "video_captions": {
                    "const": "captioned",
                    "type": "string"
                  },
                  "video_duration": {
                    "enum": [
                      "short",
                      "medium",
                      "long"
                    ],
                    "type": "string"
                  },
                  "video_quality": {
                    "const": "high",
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_short_videos",
              "title": "Serphouse Google Short Videos",
              "description": "Run a realtime Google Short Videos search.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "video_captions": {
                    "const": "captioned",
                    "type": "string"
                  },
                  "video_quality": {
                    "const": "high",
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_forums",
              "title": "Serphouse Google Forums",
              "description": "Run a realtime Google Forums search for discussions and community results.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_local",
              "title": "Serphouse Google Local",
              "description": "Run a realtime Google Local search for local business results.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            }
          ],
          "schemaTokens": 6824,
          "changedAt": "2026-11-07T01:47:41.660458875Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 6824,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 43
            },
            "findings": [
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_bing_image",
                "message": "2 parameters without a description: lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_bing_news",
                "message": "3 parameters without a description: device, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_bing_web",
                "message": "3 parameters without a description: date_range, device, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_autocomplete",
                "message": "3 parameters without a description: client, lang, q",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_forums",
                "message": "5 parameters without a description: device, domain, lang, page, verbatim",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_image",
                "message": "4 parameters without a description: date_range, domain, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_jobs",
                "message": "4 parameters without a description: date_range, domain, lang, q",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_local",
                "message": "4 parameters without a description: domain, lang, page, q",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_news",
                "message": "5 parameters without a description: date_range, device, domain, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_shop",
                "message": "3 parameters without a description: domain, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_short_videos",
                "message": "6 parameters without a description: device, domain, lang, page, video_captions, video_quality",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_videos",
                "message": "7 parameters without a description: device, domain, lang, page, video_captions, video_duration and 1 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_web",
                "message": "7 parameters without a description: device, domain, gfilter, lang, num_result, page and 1 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_web_lite",
                "message": "4 parameters without a description: domain, lang, page, verbatim",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_location_search",
                "message": "1 parameter without a description: type",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_search",
                "message": "4 parameters without a description: domain, lang, page, verbatim",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_serp_google_advanced",
                "message": "8 parameters without a description: device, domain, gfilter, lang, max_pages, page and 2 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_yahoo_image",
                "message": "2 parameters without a description: lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_yahoo_news",
                "message": "3 parameters without a description: device, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_yahoo_web",
                "message": "2 parameters without a description: device, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_account_info",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"info\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_bing_image",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_bing_news",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_bing_web",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_domain_list",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_autocomplete",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_forums",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_image",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_jobs",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_local",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_news",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_shop",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_short_videos",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_videos",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_web",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_web_lite",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_language_list",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_location_search",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_search",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_serp_google_advanced",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_yahoo_image",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_yahoo_news",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_yahoo_web",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "23 of 23 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-11-07T17:50:05.182993451Z"
      }
    },
    "verify": {
      "accepts": "a page on serphouse.com or one of its subdomains, or the README at the root of github.com/SERPHouse/serphouse-mcp",
      "badgeUrl": "https://www.anchorterminal.com/badges/serphouse.svg",
      "body": {
        "slug": "serphouse",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/serphouse",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/serphouse\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/serphouse.svg\" alt=\"SERPHouse on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![SERPHouse on Anchor Terminal](https://www.anchorterminal.com/badges/serphouse.svg)](https://www.anchorterminal.com/tools/serphouse)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/serphouse\"\u003eSERPHouse on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/serphouse",
    "json": "https://www.anchorterminal.com/tools/serphouse.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/serphouse.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/serphouse#pricing",
    "reviews": "https://www.anchorterminal.com/tools/serphouse#reviews",
    "slim": "https://www.anchorterminal.com/tools/serphouse.min.md"
  },
  "markdown": "## Overview\n\n**Grade E · 42.4/100 · rank #1265 of 1486 · #23 in Web search APIs · not agent-ready · confidence medium**\n\n\n## Assessment\n\nSERPHouse returns parsed Google, Bing and Yahoo results at published prices from $0.62 per 1,000 requests, with a 23-tool MCP server and a 4,000-credit trial without a card. The hosted MCP puts the key in its URL, there is no status page, changelog or security contact, and the terms keep search history indefinitely.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Patoliya Infotech LLP (https://www.serphouse.com) |\n| Kind | HTTP API |\n| Category | Web search APIs (https://www.anchorterminal.com/categories/search) |\n| Transport | Streamable HTTP, stdio |\n| Endpoint | `https://mcp.serphouse.com/YOUR_API_KEY/mcp` |\n| Auth | API key · One API key per account, shown on the dashboard after a browser signup and email confirmation. Sent as `Authorization: Bearer` or as `api_token` in the query string. The hosted MCP server takes the key in its URL path. One account per user. No scopes or rotation found. |\n| Pricing | Paid ($0.75 / 1k req) · Basic $29.99 a month for 400,000 credits ($0.75 per 1,000 SERP requests) and Regular $49.99 for 800,000 ($0.62). Autocomplete $0.37 and $0.31, Top 100 Google $7.50 and $6.25 per 1,000. Custom plans by email. Free trial 4,000 credits for 7 days, no card. Credits don't roll over. |\n| x402 | No · No x402, MPP or L402 on the pricing page, the docs, llms.txt or the MCP source (checked 2026-11-06). An empty balance returns 402 'Insufficient credits'. |\n| Licence | unknown |\n| Tools exposed | 23 |\n| Packages | npm: `serphouse-mcp` |\n| Source | https://github.com/SERPHouse/serphouse-mcp |\n| Docs | https://www.serphouse.com/docs |\n| llms.txt | https://www.serphouse.com/llms.txt |\n| Last release | 2026-07-06 |\n| Surface listed | The SERP API at api.serphouse.com and the hosted MCP server at mcp.serphouse.com, read from serphouse.com, its docs and llms.txt, the pricing page, terms, privacy policy and the serphouse-mcp repository on 6 November 2026. No account was made and no request was sent |\n| Index | None of its own. Live Google, Bing and Yahoo results, parsed into JSON or returned as HTML |\n| Verticals | Google web, lite web, top 100, AI Overview, news, images, shopping, jobs, videos, short videos, forums, local, place details and autocomplete; Bing and Yahoo web, news and images; a Scraper API for one page as rendered HTML or Markdown |\n| Full text or snippets | Parsed SERP blocks with titles, links and snippets. Page text needs a separate Scraper API call |\n| Modes | Live (synchronous) and Scheduled (asynchronous, task IDs, postback and pingback webhooks with signature verification) |\n| Rate limits | 60 requests a minute and 60 concurrent on Free, Basic and Regular; custom plans by request |\n| Credits | Basic buys 400,000 credits for $29.99 at $0.75 per 1,000 SERP requests, which works out at 10 credits a SERP request by our arithmetic. Failed requests are not counted |\n| Trial | 4,000 credits for 7 days, no card. The trial terms forbid production workloads, scraping at scale and reselling trial data |\n| Oxylabs | The home page names 'the Oxylabs dashboard' as the place to try the API. No link to Oxylabs, partnership or sub-processor naming it was found on serphouse.com, its terms, privacy policy or docs; the signup and playground are SERPHouse's own |\n| Legal entity | Patoliya Infotech LLP, incorporated in India, Surat courts, address in Utran, Surat, Gujarat. Patoliya Infotech is a software development company founded in 2015 to 2016 per its own site |\n| Capabilities | search.serp, web.search, search.news, search.images, web.fetch |\n| Tags | hosted, paid, no-card, free-tier, mcp, remote-mcp, llms-txt, python, india |\n| JSON | https://www.anchorterminal.com/api/v1/tools/serphouse.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-06 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 40 | 8.0 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 66 | 10.7 |\n| Agent ergonomics | 13% | 16.2 | 64 | 10.4 |\n| Security \u0026 auth | 14% | 17.5 | 11 | 1.9 |\n| Payments \u0026 pricing | 10% | 12.5 | 40 | 5.0 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 23 | 2.0 |\n| Transparency \u0026 trust (editorial 39, provenance 61) | 7% | 8.8 | 50 | 4.4 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **42.4 → E** |\n\n### Why each score\n\n- Reliability 40 (checked 2026-11-06): Read with the hosted lines. No status page is linked from the site or docs, and status.serphouse.com did not answer on 6 November 2026 (0). No readable incident history (5). Rate limits published, 60 requests a minute and 60 concurrent on every self-serve plan (15). 429 is documented as 'slow down', and a 200 can carry `\"status\": \"error\"` with 'Please try again', with no Retry-After or backoff guidance. Failed requests aren't charged (5 of 15). The pricing page lists a 99.99% uptime SLA on Basic and Regular and the docs a 99.95% one, but no SLA terms or credits were found in the terms (5 of 10). Generally available (10). 0 + 5 + 15 + 5 + 5 + 10 = 40.\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 66 (checked 2026-11-06): No OpenAPI or similar contract for the REST API. The MCP server's tools carry typed Zod schemas, published in the source and a static server card (18 of 25). llms.txt at the site and the docs, and every docs page as Markdown (10). MCP tool descriptions say which tool to use for what, such as `serphouse_google_web` when device or `num_result` is needed, while the docs pages lead with marketing lines such as 'Unlock captivating Google video content' (12 of 20). Enums for device, SERP type, engine and video duration, defaults and 37 described parameters (11 of 15). A status code table and request examples per engine, with a generic error body (12 of 15). No changelog or API versioning; only the MCP server has tags (3 of 15). 18 + 10 + 12 + 11 + 12 + 3 = 66.\n- Agent ergonomics 64 (checked 2026-11-06): 23 MCP tools with no toolsets or filtering (15 of 25). `num_result`, `max_pages`, paging, device, location, language, date and video filters (16 of 20). Status codes are tabulated, but a 200 can also mean an error and the body carries only 'Please try again' (10 of 20). Searches only read and failed requests aren't charged, but the MCP tools carry no readOnlyHint or other annotations (10 of 20). `serphouse_search` needs only `q` and defaults to the US; most other tools need `loc` or `loc_id`. Official Node.js, PHP and Python SDKs are documented (13 of 15). 15 + 16 + 10 + 10 + 13 = 64.\n- Security \u0026 auth 11 (checked 2026-11-06): One key per account, one account per user, no scopes or rotation found (10). The REST API documents `api_token` in the query string and the hosted MCP server takes the key only in its URL path, less 10 (0 of 30). Searches only read, with no read-only or restricted key (8 of 20). Results are third-party snippets and AI Overview text, with no prompt-injection guidance (0). An account tool shows plan and credit usage; no per-call log was found (3 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). 0 + 8 + 0 + 3 + 0 = 11.\n- Payments \u0026 pricing 40 (checked 2026-11-06): No x402, MPP or L402 (0). Per-1,000 prices for SERP, autocomplete and top-100 requests published without login (20). Free trial of 4,000 credits for 7 days, 'No Credit Card Required' (20). A person signs up in a browser and confirms an email (0). 0 + 20 + 20 + 0 = 40.\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 23 (checked 2026-11-06): Read for a closed service, with its repositories read as code. No changelog or dated API change was found. The newest release is MCP server 1.1.0 on 6 July 2026, 123 days before 6 November, and the last commit in its repository was on 22 July (10). No release or dated change in the 90 days from 8 August; the about page's 2026 entry (Forums, Place Details and Scraper APIs) is undated (0). No changelog; support by email. Issues weren't read, since the GitHub API refused us for its rate limit (5 of 25). Not in the official MCP registry, though the repository's server.json names io.github.SERPHouse/serphouse-mcp. Node.js SDK last changed 24 June 2026, PHP SDK 10 May 2024, and no Python SDK repository was found under the SERPHouse organisation (5 of 15). The MCP repository has an npm publish workflow and no tests (3 of 10). 10 + 0 + 5 + 5 + 3 = 23.\n- Transparency \u0026 trust 50 (checked 2026-11-06): Closed service under terms naming Patoliya Infotech LLP in India, and the MCP server is MIT (18 of 30). The terms give retention periods (JSON results up to 6 months, HTML up to 1 month, search history indefinitely) and say personal data sits on DigitalOcean in India, and they advise EEA users not to use the service. The privacy policy is generic and neither document carries a date (15 of 30). No deprecation policy, and the terms allow products to be discontinued without notice (0 of 20). DigitalOcean in India named for account data; no sub-processor list (6 of 20). 18 + 15 + 0 + 6 = 39.\n\nFix list, everything this grade says the listing lacks, the biggest gain first (21 items). What it covers is at https://www.anchorterminal.com/fixes/serphouse.md (JSON https://www.anchorterminal.com/fixes/serphouse.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"serphouse\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- Oxylabs. The home page says 'Explore the Scraper APIs Playground on the Oxylabs dashboard for hands-on interaction with our APIs', next to a SERPHouse signup button. The terms, privacy policy, about page and docs name no relationship with Oxylabs and no Oxylabs sub-processor, and the playground and signup are on serphouse.com. A search for the sentence found Oxylabs' own playground documentation but not the sentence, so where it came from is not established. Judgement call, not a deduction, since no claim of partnership is made; data/tools/oxylabs-web-scraper.json is a separate listing.\n- The pricing page lists '100% Success Rate' and a '99.99% Uptime SLA' on Basic and Regular; the docs list 99.95%, and say a 200 can carry an error to retry. No SLA terms or credits were found. Vendor claims, not deducted.\n- unchecked: GitHub issues and star counts, since the GitHub API refused us for its rate limit; repositories were read by shallow clone.\n- The docs name an official Python SDK, but no Python repository was found under github.com/SERPHouse and PyPI had no `serphouse` project we could read.\n- firstReleased is September 2019, when the about page says the first SERPHouse API launched; RDAP gives the domain 20 August 2019.\n- The lead said 4,000 free searches. The trial is 4,000 credits, and by the published prices a SERP request uses 10 credits, so about 400 SERP requests.\n- The trial terms forbid 'scraping at scale or performing automated bulk data extraction' with trial credits. Recorded as a fact.\n\n### Sources\n\n- Home page: \u003chttps://www.serphouse.com/\u003e (seen 2026-11-06)\n- About page and product timeline: \u003chttps://www.serphouse.com/about-us\u003e (seen 2026-11-06)\n- Getting started (auth, status codes, rate limits, pricing): \u003chttps://www.serphouse.com/docs/getting-started\u003e (seen 2026-11-06)\n- MCP server docs: \u003chttps://www.serphouse.com/docs/mcp-server\u003e (seen 2026-11-06)\n- Docs llms.txt: \u003chttps://www.serphouse.com/docs/llms.txt\u003e (seen 2026-11-06)\n- Pricing: \u003chttps://www.serphouse.com/pricing\u003e (seen 2026-11-06)\n- Terms of service: \u003chttps://www.serphouse.com/terms-of-service\u003e (seen 2026-11-06)\n- Privacy policy: \u003chttps://www.serphouse.com/privacy-policy\u003e (seen 2026-11-06)\n- Contact page: \u003chttps://www.serphouse.com/contact-us\u003e (seen 2026-11-06)\n- MCP server repository: \u003chttps://github.com/SERPHouse/serphouse-mcp\u003e (seen 2026-11-06)\n- npm package serphouse-mcp: \u003chttps://registry.npmjs.org/serphouse-mcp\u003e (seen 2026-11-06)\n- Node.js SDK repository: \u003chttps://github.com/SERPHouse/serphouse-nodejs\u003e (seen 2026-11-06)\n- Patoliya Infotech about page: \u003chttps://www.patoliyainfotech.com/company/about\u003e (seen 2026-11-06)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/serphouse/history.json\n\n- 2026-11-06: graded 42.4 E (methodology 0.7)\n\n## Who's behind it (provenance 61/100, checked 2026-11-06)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Patoliya Infotech LLP | 20/20 |\n| Domain age | serphouse.com, registered 2019-08-20 (7 years) | 11/15 |\n| Endpoint on the vendor's domain | mcp.serphouse.com | 15/15 |\n| Terms of service | read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points | 5.1/10 |\n| Privacy policy | read, states 4 of the 8 things a reader expects | 7/10 |\n| Status page | not found | 0/10 |\n| Changelog | not found | 0/10 |\n| security.txt | not found | 0/10 |\n| People named | 1 named with their role, none with a public profile | 7/10 |\n| Support route | a support address, help pages | 5/5 |\n\nThe terms name Patoliya Infotech LLP, a limited liability partnership incorporated in India, under Indian law with courts in Surat. The contact page gives an address in Utran, Surat, Gujarat.\n\nNo effective or updated date was found on the terms or the privacy policy.\n\nwww.serphouse.com/robots.txt allows all agents except /data/.\n\nThe trial terms forbid 'scraping at scale or performing automated bulk data extraction' with trial credits. No clause on automated access to the website was found.\n\n/.well-known/security.txt answers 404. No status page is linked, and status.serphouse.com did not answer.\n\nRDAP gives serphouse.com a registration date of 20 August 2019; the about page says SERPHouse started in September 2019.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.serphouse.com/terms-of-service), read 2026-11-06, gives no date, states 6 of the 7 things a reader expects.\n\n- To know. Restricts automated access (costs points). \"- Scraping at scale or performing automated bulk data extraction;\"\n- To know. Says the terms or the service can change without notice (costs points). \"We reserve the right to correct any errors, inaccuracies or omissions, and to change or update information or cancel orders if any information in the Service or on any related website is inaccurate at any time without prior notice (including after you have submitted your plan).\"\n- To know. Says access can be ended without notice or for any reason. \"You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time, without notice to you.\"\n- Not found in the text. Gives the date it was last updated.\n- Names the governing law or courts. The law of the Republic of India, with disputes in the courts of the City of Surat, India.\n- States a limit on its liability. Rules out indirect and consequential losses, with no cap named in this sentence.\n- Says how changes to the terms are announced. Says it gives notice of a change.\n\n**Privacy policy** (https://www.serphouse.com/privacy-policy), read 2026-11-06, gives no date, states 4 of the 8 things a reader expects.\n\n- Not found in the text. Gives the date it was last updated.\n- Not found in the text. Says how long data is kept.\n- Not found in the text. Says whether personal data is sold or shared for advertising.\n- Gives a privacy contact. Gives an email address, hidden from our reader by the page.\n- Not found in the text. Says where data is transferred or stored.\n\n## Humans behind the project (researched 2026-11-06 from public pages, not part of the grade)\n\n### Key people\n\n- Vijay Patoliya, Founder and CEO, Patoliya Infotech\n- Note: SERPHouse's terms name Patoliya Infotech LLP as the company behind SERPHouse. Patoliya Infotech's about page names Vijay Patoliya as Founder \u0026 CEO; no SERPHouse page names a person in a role, and no personal profile linked from either site was found. SERPHouse's about page says it started in September 2019; Patoliya Infotech is a software development company founded in 2015 to 2016 per its site. Investors were looked for on serphouse.com (home, about, terms, contact) and patoliyainfotech.com on 6 November 2026; none names an outside investor, a round or a valuation, so none is recorded.\n- Patoliya Infotech LLP (SERPHouse): LinkedIn https://www.linkedin.com/company/serphouse/ GitHub https://github.com/SERPHouse\n\n### Getting support\n\n- Support email: getsupport@serphouse.com\n- Help: https://www.serphouse.com/docs\n- Sources: https://www.serphouse.com/terms-of-service, https://www.serphouse.com/contact-us, https://www.serphouse.com/docs/getting-started, https://www.patoliyainfotech.com/company/about, https://www.serphouse.com/about-us\n\n## Live (updated 2026-11-07 17:50 UTC)\n\n- Right now: up, HTTP 400, 277 ms, checked 2026-11-07 17:50 UTC (get on `https://mcp.serphouse.com/YOUR_API_KEY/mcp`)\n- Uptime 24h 100.0% (195 probes) · 30 days 100.0% (195 probes) · p50 234 ms · p95 351 ms\n- github `SERPHouse/serphouse-mcp` 1.1.0, released 2026-07-06\n- npm `serphouse-mcp` 1.1.0\n- security.txt: none\n- Watching privacy \u003chttps://www.serphouse.com/privacy-policy\u003e\n- Watching terms \u003chttps://www.serphouse.com/terms-of-service\u003e\n- Tools it lists (23, about 6,824 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-11-07 01:47 UTC):\n  - `serphouse_domain_list`: List supported search domains. Call this before Yahoo searches — yahoo.com is not valid; use regional domains like uk.yahoo.com from this list.\n  - `serphouse_language_list`: Get supported language codes for google, bing, or yahoo.\n  - `serphouse_location_search`: Search Serphouse location ids and location strings for Google or Bing targeting.\n  - `serphouse_account_info`: Get Serphouse account plan and credit usage.\n  - `serphouse_search`: Default web search for agents — fast lightweight Google organic results via POST /web-search-lite. Only q is required; gl defaults to US. Use…\n  - `serphouse_google_web_lite`: Alias of serphouse_search — fast lightweight Google organic results via POST /web-search-lite. Prefer serphouse_search for general agent queries.\n  - `serphouse_google_web`: Full Google web search via POST /google-web with device, gfilter, and num_result. Requires loc or loc_id. For general queries use serphouse_search instead.\n  - `serphouse_google_image`: Run a realtime Google image search via POST /google-image.\n  - `serphouse_google_news`: Run a realtime Google news search via POST /google-news.\n  - `serphouse_google_shop`: Run a realtime Google shopping search via POST /google-shop.\n  - `serphouse_bing_web`: Run a realtime Bing web search via POST /bing-web.\n  - `serphouse_bing_image`: Run a realtime Bing image search via POST /bing-image.\n  - `serphouse_bing_news`: Run a realtime Bing news search via POST /bing-news.\n  - `serphouse_yahoo_web`: Run a realtime Yahoo web search via POST /yahoo-web.\n  - `serphouse_yahoo_image`: Run a realtime Yahoo image search via POST /yahoo-image.\n  - `serphouse_yahoo_news`: Run a realtime Yahoo news search via POST /yahoo-news.\n  - `serphouse_serp_google_advanced`: SEO ranking checks: fetch up to 100 Google results in one request. Use max_pages 1–10 (~10 results per page). For general web search use serphouse_search; use…\n  - `serphouse_google_jobs`: Run a realtime Google Jobs search.\n  - `serphouse_google_autocomplete`: Get realtime localized Google autocomplete suggestions.\n  - `serphouse_google_videos`: Run a realtime Google Videos search with optional video filters.\n  - `serphouse_google_short_videos`: Run a realtime Google Short Videos search.\n  - `serphouse_google_forums`: Run a realtime Google Forums search for discussions and community results.\n  - `serphouse_google_local`: Run a realtime Google Local search for local business results.\n- How its tools read to an agent (0 errors, 43 warnings, 1 note, about 6,824 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC11 serphouse_bing_image: 2 parameters without a description: lang, page\n  - warn TC11 serphouse_bing_news: 3 parameters without a description: device, lang, page\n  - warn TC11 serphouse_bing_web: 3 parameters without a description: date_range, device, page\n  - warn TC11 serphouse_google_autocomplete: 3 parameters without a description: client, lang, q\n  - warn TC11 serphouse_google_forums: 5 parameters without a description: device, domain, lang, page, verbatim\n  - warn TC11 serphouse_google_image: 4 parameters without a description: date_range, domain, lang, page\n  - warn TC11 serphouse_google_jobs: 4 parameters without a description: date_range, domain, lang, q\n  - warn TC11 serphouse_google_local: 4 parameters without a description: domain, lang, page, q\n  - warn TC11 serphouse_google_news: 5 parameters without a description: date_range, device, domain, lang, page\n  - warn TC11 serphouse_google_shop: 3 parameters without a description: domain, lang, page\n  - warn TC11 serphouse_google_short_videos: 6 parameters without a description: device, domain, lang, page, video_captions, video_quality\n  - warn TC11 serphouse_google_videos: 7 parameters without a description: device, domain, lang, page, video_captions, video_duration and 1 more\n  - warn TC11 serphouse_google_web: 7 parameters without a description: device, domain, gfilter, lang, num_result, page and 1 more\n  - warn TC11 serphouse_google_web_lite: 4 parameters without a description: domain, lang, page, verbatim\n  - warn TC11 serphouse_location_search: 1 parameter without a description: type\n  - warn TC11 serphouse_search: 4 parameters without a description: domain, lang, page, verbatim\n  - warn TC11 serphouse_serp_google_advanced: 8 parameters without a description: device, domain, gfilter, lang, max_pages, page and 2 more\n  - warn TC11 serphouse_yahoo_image: 2 parameters without a description: lang, page\n  - warn TC11 serphouse_yahoo_news: 3 parameters without a description: device, lang, page\n  - warn TC11 serphouse_yahoo_web: 2 parameters without a description: device, page\n  - warn TC16 serphouse_account_info: no readOnlyHint or destructiveHint\n  - warn TC16 serphouse_bing_image: no readOnlyHint or destructiveHint\n  - warn TC16 serphouse_bing_news: no readOnlyHint or destructiveHint\n  - warn TC16 serphouse_bing_web: no readOnlyHint or destructiveHint\n- Always current: https://www.anchorterminal.com/api/v1/live/serphouse.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| SERP request, Basic | $0.75 | per 1,000 requests | $29.99 a month for 400,000 credits |\n| SERP request, Regular | $0.62 | per 1,000 requests | $49.99 a month for 800,000 credits |\n| Autocomplete request, Basic | $0.37 | per 1,000 requests | $0.31 on Regular |\n| Top 100 Google SERP, Basic | $7.50 | per 1,000 requests | $6.25 on Regular |\n| Basic plan | $29.99 | per month (plan) | 400,000 credits, no rollover |\n| Regular plan | $49.99 | per month (plan) | 800,000 credits, no rollover |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- Published prices per 1,000 requests, $0.75 on Basic and $0.62 on Regular, with failed requests not charged\n- Google web, news, images, shopping, jobs, videos, forums, local and autocomplete, plus Bing and Yahoo, in one API\n- Hosted and stdio MCP server with 23 tools, typed Zod inputs and routing advice between tools, MIT licensed\n- llms.txt and Markdown copies of the docs pages, with a status code table and per-engine examples\n- Free trial of 4,000 credits for 7 days with no card\n\n## Weaknesses\n\n- The hosted MCP server takes the API key only in its URL path, and the REST API also accepts `api_token` in the query string\n- No status page, changelog, security.txt, disclosure policy or certification found\n- Terms keep search history indefinitely and advise users in the European Economic Area not to use the service\n- The pricing page states a 99.99% uptime SLA and the docs 99.95%, with no SLA terms or credits found\n- The home page sends readers to a playground 'on the Oxylabs dashboard', with no relationship to Oxylabs found\n\n\n\n## Before you call it (notes for agents)\n\n1. Send the key as `Authorization: Bearer`, not as `api_token` in the URL\n2. Treat a 200 with `\"status\": \"error\"` and 'Please try again' as a failure and retry later\n3. Pass `loc` or `loc_id` for Google and Bing tools other than `serphouse_search`; find IDs with `serphouse_location_search`\n4. Use `serphouse_search` for plain lookups and `serphouse_serp_google_advanced` only when ranks beyond the top 10 are needed, at ten times the price\n5. Keep under 60 requests a minute on self-serve plans\n\n## Connect\n\nInstall:\n\n```bash\nnpx serphouse-mcp\n```\n\nFirst request:\n\n```bash\ncurl -X POST https://api.serphouse.com/serp/live \\\n  -H 'accept: application/json' \\\n  -H 'authorization: Bearer API_TOKEN' \\\n  -H 'content-type: application/json' \\\n  -d '{\"data\": {\"domain\": \"google.com\", \"lang\": \"en\", \"q\": \"Coffee\", \"loc\": \"Texas,United States\", \"device\": \"desktop\", \"serp_type\": \"web\"}}'\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"serphouse\": {\n      \"url\": \"https://mcp.serphouse.com/YOUR_SERPHouse_API_KEY/mcp\"\n    }\n  }\n}\n```\n\nThrough letme: https://letme.dev/serphouse. letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| SerpKite | B | 67.6 | 313 | web.search, search.serp, search.news, search.images, web.fetch | no | https://www.anchorterminal.com/tools/serpkite.md |\n| Tavily API + MCP | BB | 77.1 | 36 | web.search, web.fetch, search.news, search.images | no | https://www.anchorterminal.com/tools/tavily-mcp.md |\n| SerpApi | B | 63.5 | 510 | web.search, search.serp, search.news, search.images | no | https://www.anchorterminal.com/tools/serpapi.md |\n| Kagi Search API | C | 56.1 | 841 | web.search, web.fetch, search.news, search.images | no | https://www.anchorterminal.com/tools/kagi-search.md |\n| SearchAPI.io | D | 50.1 | 1065 | web.search, search.serp, search.news, search.images | no | https://www.anchorterminal.com/tools/searchapi-io.md |\n| Serper | F | 24.2 | 1418 | web.search, search.serp, search.news, search.images | no | https://www.anchorterminal.com/tools/serper.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- Live API at https://api.serphouse.com/serp/live and a Scheduled API with task IDs, postback and pingback URLs (source: \u003chttps://www.serphouse.com/docs/getting-started\u003e)\n- The MCP server registers 23 tools in five groups and two guide resources; tools and resources can be listed without a key (source: \u003chttps://www.serphouse.com/docs/mcp-server\u003e)\n- MCP server 1.0.0 on 16 June 2026 and 1.1.0 on 6 July 2026 on npm, MIT, last commit 22 July 2026 (source: \u003chttps://github.com/SERPHouse/serphouse-mcp\u003e)\n- The terms say structured JSON results are kept up to 6 months, HTML up to 1 month and search history indefinitely (source: \u003chttps://www.serphouse.com/terms-of-service\u003e)\n- The terms advise users in the European Economic Area not to use the service, because data is stored and processed outside the EEA (source: \u003chttps://www.serphouse.com/terms-of-service\u003e)\n- The home page says 'Explore the Scraper APIs Playground on the Oxylabs dashboard', while its signup and playground are on serphouse.com (source: \u003chttps://www.serphouse.com/\u003e)\n\n- #23 of 25 in Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 308 search comparisons: https://www.anchorterminal.com/compare/search/index.md\n\n## Compare\n\n- [Web Search Tool on Amazon Bedrock AgentCore vs SERPHouse](https://www.anchorterminal.com/compare/agentcore-web-search-vs-serphouse.md): BB 75.2 vs E 42.4\n- [Grounding with Bing Search vs SERPHouse](https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.md): B 63.7 vs E 42.4\n- [Brave Search API + MCP vs SERPHouse](https://www.anchorterminal.com/compare/brave-search-mcp-vs-serphouse.md): B 62.9 vs E 42.4\n- [Cloudflare Web Search API vs SERPHouse](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serphouse.md): B 66.9 vs E 42.4\n- [DeepSeek Search and Fetch API vs SERPHouse](https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse.md): C 55.5 vs E 42.4\n- [Exa API + MCP vs SERPHouse](https://www.anchorterminal.com/compare/exa-mcp-vs-serphouse.md): B 67.8 vs E 42.4\n- [Kagi Search API vs SERPHouse](https://www.anchorterminal.com/compare/kagi-search-vs-serphouse.md): C 56.1 vs E 42.4\n- [Linkup vs SERPHouse](https://www.anchorterminal.com/compare/linkup-vs-serphouse.md): B 68 vs E 42.4\n- [Mojeek Web Search API vs SERPHouse](https://www.anchorterminal.com/compare/mojeek-vs-serphouse.md): F 36.4 vs E 42.4\n- [Parallel Search and Task APIs vs SERPHouse](https://www.anchorterminal.com/compare/parallel-search-api-vs-serphouse.md): BB 75 vs E 42.4\n- [Perplexity Search API vs SERPHouse](https://www.anchorterminal.com/compare/perplexity-search-api-vs-serphouse.md): BB 70.2 vs E 42.4\n- [SearchAPI.io vs SERPHouse](https://www.anchorterminal.com/compare/searchapi-io-vs-serphouse.md): D 50.1 vs E 42.4\n- [SerpApi vs SERPHouse](https://www.anchorterminal.com/compare/serpapi-vs-serphouse.md): B 63.5 vs E 42.4\n- [Serper vs SERPHouse](https://www.anchorterminal.com/compare/serper-vs-serphouse.md): F 24.2 vs E 42.4\n- [SERPHouse vs SpecStream](https://www.anchorterminal.com/compare/serphouse-vs-specstream.md): E 42.4 vs B 64.4\n- [SERPHouse vs Tavily API + MCP](https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp.md): E 42.4 vs BB 77.1\n- [SERPHouse vs TinyFish Search](https://www.anchorterminal.com/compare/serphouse-vs-tinyfish-search.md): E 42.4 vs B 66.9\n- [SERPHouse vs Valyu](https://www.anchorterminal.com/compare/serphouse-vs-valyu.md): E 42.4 vs B 69.3\n- [SERPHouse vs You.com APIs](https://www.anchorterminal.com/compare/serphouse-vs-you-com-api.md): E 42.4 vs BB 76.1\n- [Fetch (MCP reference server) vs SERPHouse](https://www.anchorterminal.com/compare/fetch-reference-server-vs-serphouse.md): C 60.1 vs E 42.4\n- [NewsCatcher vs SERPHouse](https://www.anchorterminal.com/compare/newscatcher-vs-serphouse.md): B 67.5 vs E 42.4\n- [SERPHouse vs SerpKite](https://www.anchorterminal.com/compare/serphouse-vs-serpkite.md): E 42.4 vs B 67.6\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on serphouse.com or one of its subdomains, or the README at the root of github.com/SERPHouse/serphouse-mcp. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"serphouse\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/serphouse\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/serphouse.svg\" alt=\"SERPHouse on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![SERPHouse on Anchor Terminal](https://www.anchorterminal.com/badges/serphouse.svg)](https://www.anchorterminal.com/tools/serphouse)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/serphouse\"\u003eSERPHouse on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say SERPHouse is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/serphouse-dark.png\n- Light: https://www.anchorterminal.com/assets/share/serphouse-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Web search APIs",
        "url": "https://www.anchorterminal.com/categories/search"
      },
      {
        "name": "SERPHouse",
        "url": ""
      }
    ],
    "description": "SERPHouse is a SERP API from Patoliya Infotech LLP in India that returns parsed Google, Bing and Yahoo results as JSON, live or scheduled, with a Scraper API for page HTML or Markdown and a hosted MCP server.",
    "facts": [
      "rank #1265 of 1486",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "SERPHouse",
    "image": "https://www.anchorterminal.com/assets/og/tools-serphouse.png",
    "path": "/tools/serphouse",
    "published": "2026-10-01",
    "section": "tools",
    "title": "SERPHouse review (2026): pricing, alternatives and grade E",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/tools/serphouse"
  },
  "tokens": {
    "markdown": 8650,
    "slim": 1730
  },
  "version": 1
}
