langchain.utilities.google_search.GoogleSearchAPIWrapper¶

class langchain.utilities.google_search.GoogleSearchAPIWrapper(*, search_engine: Any = None, google_api_key: Optional[str] = None, google_cse_id: Optional[str] = None, k: int = 10, siterestrict: bool = False)[source]¶

Bases: BaseModel

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 The current version of the library is 2.70.0 at this time

2. 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

3. Setup Custom Search Engine so you can search the entire web - Create a custom search engine in this link. - In Sites to search, add any valid URL (i.e. www.stackoverflow.com). - That’s all you have to fill up, the rest doesn’t matter. In the left-side menu, click Edit search engine → {your search engine name} → Setup Set Search the entire web to ON. Remove the URL you added from the list of Sites to search. - Under Search engine ID you’ll find the search-engine-ID.

4. 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

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

param google_api_key: Optional[str] = None¶
param google_cse_id: Optional[str] = None¶
param k: int = 10¶
param siterestrict: bool = False¶
results(query: str, num_results: int, search_params: Optional[Dict[str, str]] = None) List[Dict][source]¶

Run query through GoogleSearch and return metadata.

Parameters
  • query – The query to search for.

  • num_results – The number of results to return.

  • search_params – Parameters to be passed on search

Returns

snippet - The description of the result. title - The title of the result. link - The link to the result.

Return type

A list of dictionaries with the following keys

run(query: str) str[source]¶

Run query through GoogleSearch and parse result.

validator validate_environment  »  all fields[source]¶

Validate that api key and python package exists in environment.

model Config[source]¶

Bases: object

Configuration for this pydantic object.

extra = 'forbid'¶

Examples using GoogleSearchAPIWrapper¶