---
name: "googler"
section: "1"
platform: "linux"
package: "googler"
version: "4.3.13-1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/googler"
---

# googler(1)

Google from the command-line

## NAME

googler - Google from the command-line

## SYNOPSIS

**googler \[OPTIONS\] \[KEYWORD \[KEYWORD ...\]\]**

## DESCRIPTION

**googler** is a command-line tool to search Google (web, news, videos and site search) from the terminal. Google site search works too. **googler** shows the title, URL and text context for each result. Results are fetched in pages. Next or previous page navigation is possible using keyboard shortcuts. Results are indexed and a result URL can be opened in a browser using the index number. There is no configuration file as aliases serve the same purpose for this utility. Supports sequential searches in a single instance.

**Features**

  \* Google Search, Google Site Search, Google News\
   \* Fast and clean (no ads, stray URLs or clutter), custom color\
   \* Navigate result pages from omniprompt, open URLs in browser\
   \* Effortless keyword-based site search with googler @t add-on\
   \* Search and option completion scripts for Bash, Zsh and Fish\
   \* Fetch n results in a go, start at the n\<sup\>th\</sup\> result\
   \* Disable automatic spelling correction and search exact keywords\
   \* Specify duration, country/domain (default: worldwide/.com), language\
   \* Google keywords (e.g. *filetype:mime*, *site:somesite.com*) support\
   \* Open the first result directly in browser (as in I'm Feeling Lucky)\
   \* Non-stop searches: fire new searches at omniprompt without exiting\
   \* HTTPS proxy, User Agent, TLS 1.2 (default) support\
   \* Comprehensive documentation, man page with handy usage examples\
   \* Minimal dependencies

## OPTIONS

- **-h, --help**

  Show help text and exit.

- **-s, --start=***N*

  Start at the *N*th result.

- **-n, --count=***N*

  Show *N* results (default 10).

- **-N, --news**

  Show results from news section.

- **-c, --tld=***TLD*

  Country-specific search with top-level domain *.TLD*, e.g., **in** for India.

- **-l, --lang=***LANG*

  Search for the language *LANG*, e.g., **fi** for Finnish.

- **-g, --geoloc=***CC*

  Country-specific geolocation search with country code CC, e.g. 'in' for India. Country codes are the same as top-level domains.

- **-x, --exact**

  Disable automatic spelling correction. Search exact keywords.

- **-C, --nocolor**

  Disable color output.

- **--colors=***COLORS*

  Set output colors. Refer to the **COLORS** section below for details.

- **-j, --first, --lucky**

  Open the first result in a web browser; implies **--noprompt**. Feeling Lucky?

- **-t, --time=***dN*

  Time limit search \[h5 (5 hrs), d5 (5 days), w5 (5 weeks), m5 (5 months), y5 (5 years)\].

- **-w, --site=***SITE*

  Search a site using Google.

- **-e, --exclude=***EXCLUDE*

  Exclude site from results.

- **--unfilter**

  Do not omit similar results.

- **-p, --proxy=***PROXY*

  Tunnel traffic through an HTTP proxy. *PROXY* is of the form *\[http://\]\[user:password@\]proxyhost\[:port\]*. The proxy server must support HTTP CONNECT tunneling and must not block port 443 for the relevant Google hosts. If a proxy is not explicitly given, the *https\_proxy* environment variable (if available) is used instead.

- **--noua**

  Disable user agent. Results are fetched faster.

- **--notweak**

  Disable TCP optimizations. Negotiate Transport Layer Security protocol instead of forcing TLS 1.2 (on Python 3.4 and above). Should be used only in case of connection issues.

- **--json**

  Output in JSON format; implies **--noprompt**.

- **--url-handler=***UTIL*

  Custom script or command-line utility to open urls with.

- **--show-browser-logs**

  Do not suppress browser output when opening result in browser; that is, connect stdout and stderr of the browser to googler's stdout and stderr instead of /dev/null. By default, browser output is suppressed (due to certain graphical browsers spewing messages to console) unless the **BROWSER** environment variable is a known text-based browser: elinks, links, lynx, w3m or www-browser.

- **--np, --noprompt**

  Perform search and exit; do not prompt for further interactions.

- **-u, --upgrade**

  Perform in-place self-upgrade. By default, the latest stable version is used. However, the latest git master is used instead if **--include-git** is also supplied. This mechanism is not available on Windows (including Cygwin), and if you installed **googler** with a package manager, this mechanism may have been disabled by your packager at packaging or install time.

- **--include-git**

  See **--upgrade**.

- **-v, --version**

  Show version number and exit.

- **-d, --debug**

  Enable debugging.

## OMNIPROMPT KEYS

- **n, p**

  Fetch the next or previous set of search results.

- **index**

  Open the result corresponding to index in browser.

- **f**

  Jump to the first page.

- **o** *\[index\|range\|a ...\]*

  Open space-separated result indices, numeric ranges (sitelinks unsupported in ranges) or all indices, if 'a' is specified, in the browser. Open the current search in the browser, if no arguments.

- **O** *\[index\|range\|a ...\]*

  Works similar to key 'o', but tries to ignore text-based browsers (even if BROWSER is set) and open links in a GUI browser.

- **g** *keywords*

  Initiate a new Google search for *keywords* with original options. This key should be used to search omniprompt keys (including itself) and indices.

- **c index**

  Copy url to clipboard.

- **u**

  Toggle url expansion.

- **q, ^D, double Enter**

  Exit googler.

- **?**

  Show omniprompt help.

- **\***

  Any other string initiates a new search with original options.

## GOOGLER @T

**googler @t** is a convenient add-on to Google Site Search with unique keywords. While **googler** has an integrated option to search a site, it could be simplified further with aliases. The file *googler\_at* (https://github.com/jarun/googler/blob/master/auto-completion/googler\_at/googler\_at) contains a list of website search aliases. To source it, run:

-

  **source googler\_at**

or

-

  **. googler\_at**

With **googler @t**, the following command searches Wikipedia for *hexspeak*:

-

  **@w hexspeak**

Other **googler** options can be combined. The shell can be configured to be source the file at start-up for further convenience.

All the aliases start with the **@** symbol (hence the name **googler @t**) and there is minimum chance they will conflict with any shell commands. Users can add new aliases to the file.

## COLORS

**googler** allows you to customize the color scheme via a six-letter string, reminiscent of BSD **LSCOLORS**. The six letters represent the colors of

- \-

  indices

- \-

  titles

- \-

  URLs

- \-

  metadata/publishing info (Google News only)

- \-

  abstracts

- \-

  prompts

- respectively. The six-letter string is passed in either as the argument to the **--colors** option, or as the value of the environment variable **GOOGLER\_COLORS**.

  - We offer the following colors/styles:

  | | |
  | --- | --- |
  | Letter | Color/Style |
  |
  | b | red |
  | c | green |
  | d | yellow |
  | e | blue |
  | f | magenta |
  | g | cyan |
  | h | white |
  | i | bright black |
  | j | bright red |
  | k | bright green |
  | l | bright yellow |
  | m | bright blue |
  | n | bright magenta |
  | o | bright cyan |
  | p | bright white |
  | A-H | bold version of the lowercase-letter color |
  | I-P | bold version of the lowercase-letter bright color |
  | x | normal |
  | X | bold |
  | y | reverse video |
  | Y | bold reverse video |

-

  - The default colors string is *GKlgxy*, which stands for

  - \-

  bold bright cyan indices

- \-

  bold bright green titles

- \-

  bright yellow URLs

- \-

  cyan metadata/publishing info

- \-

  normal abstracts

- \-

  reverse video prompts

- Note that

  - \-

  Bright colors (implemented as \\x1b\[90m - \\x1b\[97m) may not be available in all color-capable terminal emulators;

- \-

  Some terminal emulators draw bold text in bright colors instead;

- \-

  Some terminal emulators only distinguish between bold and bright colors via a default-off switch.

- Please consult the manual of your terminal emulator as well as *https://en.wikipedia.org/wiki/ANSI\_escape\_code* for details.

  ## ENVIRONMENT

- **BROWSER**

  Overrides the default browser. Ref: *http://docs.python.org/library/webbrowser.html*

- **GOOGLER\_COLORS**

  Refer to the **COLORS** section.

- **DISABLE\_PROMPT\_COLOR**

  Force a plain omniprompt if you are facing issues with colors at the prompt.

- **https\_proxy**

  Refer to the **--proxy** option.

- **DISABLE\_URL\_EXPANSION**

  Show the domain names in search results instead of the expanded URL.

## EXAMPLES

- 1\.

  Google **hello world**:

```

```

-

  **googler hello world**

- 2\.

  Fetch **15 results** updated within the last **14 months**, starting from the **3rd result** for the keywords **jungle book** in **site** imdb.com:

```

```

-

  **googler -n 15 -s 3 -t m14 -w imdb.com jungle book**

- 3\.

  Read recent **news** on gadgets:

```

```

-

  **googler -N gadgets**

- 4\.

  Fetch results on IPL cricket from **Google India** server in **English**:

```

```

-

  **googler -c in -l en IPL cricket**

- 5\.

  Search **quoted text**:

```

```

-

  **googler it\\'s a \\"beautiful world\\" in spring**

- 6\.

  Search for a **specific file type**:

```

```

-

  **googler instrumental filetype:mp3**

- 7\.

  Disable **automatic spelling correction**, e.g. fetch results for *googler* instead of *google*:

```

```

-

  **googler -x googler**

- 8\.

  **I'm feeling lucky** search:

```

```

-

  **googler -j leather jackets**

- 9\.

  **Website specific** search:

```

```

-

  **googler -w amazon.com -w ebay.com digital camera**

-

  Site specific search continues at omniprompt.

- 10\.

  Alias to find **definitions of words**:

```

```

-

  **alias define='googler -n 2 define'**

- 11\.

  Look up **n**, **p**, **o**, **O**, **q**, **g keywords** or a result index at the **omniprompt**: as the omniprompt recognizes these keys or index strings as commands, you need to prefix them with **g**, e.g.,

```

```

-

  **g n**

-

  **g g keywords**

-

  **g 1**

- 12\.

  Input and output **redirection**:

```

```

-

  **googler -C hello world \< input \> output**

-

  Note that *-C* is required to avoid printing control characters (for colored output).

- 13\.

  **Pipe** output:

```

```

-

  **googler -C hello world \| tee output**

- 14\.

  Use a **custom color scheme**, e.g., one warm color scheme designed for Solarized Dark:

```

```

-

  **googler --colors bjdxxy google**

-

  **GOOGLER\_COLORS=bjdxxy googler google**

- 15\.

  Tunnel traffic through an **HTTPS proxy**, e.g., a local Privoxy instance listening on port 8118:

```

```

-

  **googler --proxy localhost:8118 google**

-

  By default the environment variable *https\_proxy* is used, if defined.

- 16\.

  Quote multiple search keywords to auto-complete (using completion script):

```

```

-

  **googler 'hello w\<TAB\>**

## AUTHORS

Henri Hakkinen\
 Arun Prakash Jana \<engineerarun@gmail.com\>\
 Zhiming Wang \<zmwangx@gmail.com\>

## HOME

*https://github.com/jarun/googler*

## REPORTING BUGS

*https://github.com/jarun/googler/issues*

## LICENSE

Copyright © 2008 Henri Hakkinen\
 Copyright © 2015-2021 Arun Prakash Jana \<engineerarun@gmail.com\>

License GPLv3+: GNU GPL version 3 or later \<http://gnu.org/licenses/gpl.html\>.\
 This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
