{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigjltypcfibdmy5dqfu4e5se63qkm7s56ois6js6cdicvv2jctxwq",
    "uri": "at://did:plc:lk3jfj3zq4k4wxnk474axylu/app.bsky.feed.post/3mmgvwnibzon2"
  },
  "path": "/t/web-search-filters-blocked-domains-appears-to-be-ignored-in-some-cases/1381555#post_1",
  "publishedAt": "2026-05-22T11:35:31.000Z",
  "site": "https://community.openai.com",
  "textContent": "Hi everyone,\n\nI am using the **Responses API** with **`web_search`** tool and `filters.blocked_domains`.\n\nEnvironment:\n\n\n    openai-python==2.38.0\n    model=gpt-5.4-mini\n\n\nRequest shape:\n\n\n    response = client.responses.create(\n        model=\"gpt-5.4-mini\",\n        tools=[{\n            \"type\": \"web_search\",\n            \"filters\": {\n                \"blocked_domains\": [\n                    \"blocked-domain-1.com\",\n                    \"blocked-domain-2.com\"\n                ]\n            }\n        }],\n        tool_choice=\"required\",\n        include=[\"web_search_call.action.sources\"],\n        input=\"Give me some basic information about the company with this website: www.test.com\",\n    )\n\n\nExpected behavior: blocked domains should not appear in `web_search_call.action.sources`.\n\nActual behavior: across **213 test cases** , blocked domains appeared in `sources` in **13 cases**.\n\nI confirmed:\n\n  * using `web_search`, not `web_search_preview`\n\n  * using Responses API, not Chat Completions\n\n  * domains are normalized, without `https://` or paths\n\n  * fewer than 100 blocked domains\n\n\n\n\nOne related observation: in `openai-python==2.38.0`, the generated SDK type file appears to include `allowed_domains` but not `blocked_domains`:\n\n\n    src/openai/types/responses/web_search_tool_param.py\n\n\nSo I am wondering whether this is an SDK typing/schema mismatch, a request serialization issue, or a backend enforcement issue.\n\nIs this expected, or is `blocked_domains` enforcement currently unreliable?\n\nThanks.",
  "title": "Web_search filters.blocked_domains appears to be ignored in some cases"
}