The search permission allows an extension to interact with the default search provider.
Note: This permission is primarily for overriding the search provider, which is now a restricted capability on the Chrome Web Store to prevent hijacking. Modern use is rare.
What it does
- Grants access to the
chrome.searchAPI. - Allows an extension to programmatically perform a search with the user's default search engine.
In Manifest V2, a related manifest key (chrome_settings_overrides) allowed an extension to change the user's default search provider, homepage, and startup pages. This functionality was heavily abused by malicious extensions and is now highly restricted.
When to use it
Legitimate use cases are limited. It could be used by an extension that integrates search functionality in a novel way.
Example:
- An extension with its own search box in a popup or side panel that, when used, forwards the query to the user's configured default search engine.
Manifest Declaration
{
"name": "My Search Helper",
"version": "1.0",
"manifest_version": 3,
"permissions": [
"search"
]
}Security & Privacy
Why is it not risky?
This permission by itself is safe. It only allows an extension to perform a search using whatever search engine you have already set as your default (like Google or DuckDuckGo).
The real danger comes from extensions that try to change your default search engine, which often points you to a spammy or ad-filled site. That capability is now heavily restricted by Google. This specific search permission doesn't allow that; it just uses your existing setting.
API Usage Example
This example performs a search for "chrome extensions" in a new tab using the default search engine.
// background.js or popup.js
function performSearch() {
chrome.search.query({
text: "chrome extensions",
// disposition can be "CURRENT_TAB", "NEW_TAB", or "NEW_WINDOW"
disposition: "NEW_TAB"
}, () => {
if (chrome.runtime.lastError) {
console.error(chrome.runtime.lastError.message);
} else {
console.log("Search opened in a new tab.");
}
});
}
// Call this from a user action.
// performSearch();Extensions with the search permission
Here are some popular browser extensions that use the "search" permission. To explore more, try our Advanced search.