# GoogleSearchAPIWrapper

> **Class** in `langchain_community`

📖 [View in docs](https://reference.langchain.com/python/langchain-community/utilities/google_search/GoogleSearchAPIWrapper)

Wrapper for Google Search API.

Adapted from: Instructions adapted from https://stackoverflow.com/questions/
37083058/
programmatically-searching-google-in-python-using-custom-search

TODO: DOCS for using it
1. Install google-api-python-client
- If you don't already have a Google account, sign up.
- If you have never created a Google APIs Console project,
read the Managing Projects page and create a project in the Google API Console.
- Install the library using pip install google-api-python-client

2. Enable the Custom Search API
- Navigate to the APIs & Services→Dashboard panel in Cloud Console.
- Click Enable APIs and Services.
- Search for Custom Search API and click on it.
- Click Enable.
URL for it: https://console.cloud.google.com/apis/library/customsearch.googleapis
.com

3. To create an API key:
- Navigate to the APIs & Services → Credentials panel in Cloud Console.
- Select Create credentials, then select API key from the drop-down menu.
- The API key created dialog box displays your newly created key.
- You now have an API_KEY

Alternatively, you can just generate an API key here:
https://developers.google.com/custom-search/docs/paid_element#api_key

4. Setup Custom Search Engine so you can search the entire web
- Create a custom search engine here: https://programmablesearchengine.google.com/.
- In `What to search` to search, pick the `Search the entire Web` option.
After search engine is created, you can click on it and find `Search engine ID`
    on the Overview page.

## Signature

```python
GoogleSearchAPIWrapper()
```

## Extends

- `BaseModel`

## Properties

- `search_engine`
- `google_api_key`
- `google_cse_id`
- `k`
- `siterestrict`
- `model_config`

## Methods

- [`validate_environment()`](https://reference.langchain.com/python/langchain-community/utilities/google_search/GoogleSearchAPIWrapper/validate_environment)
- [`run()`](https://reference.langchain.com/python/langchain-community/utilities/google_search/GoogleSearchAPIWrapper/run)
- [`results()`](https://reference.langchain.com/python/langchain-community/utilities/google_search/GoogleSearchAPIWrapper/results)

## ⚠️ Deprecated

Deprecated since version 0.0.33.

---

[View source on GitHub](https://github.com/langchain-ai/langchain-community/blob/4b280287bd55b99b44db2dd849f02d66c89534d5/libs/community/langchain_community/utilities/google_search.py#L10)