{"id":18886636,"url":"https://github.com/kevin-rs/duckduckgo","last_synced_at":"2025-07-25T13:32:17.563Z","repository":{"id":214226689,"uuid":"736020499","full_name":"kevin-rs/duckduckgo","owner":"kevin-rs","description":"🦆 A CLI and library for instant DuckDuckGo searches. (WIP)","archived":false,"fork":false,"pushed_at":"2024-06-24T01:03:04.000Z","size":31,"stargazers_count":1,"open_issues_count":3,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-06T17:48:18.973Z","etag":null,"topics":["api","clap","cli","dorks","duckduckgo","duckduckgo-api","rust"],"latest_commit_sha":null,"homepage":"https://docs.rs/duckduckgo","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevin-rs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-12-26T18:51:10.000Z","updated_at":"2024-04-18T12:08:53.000Z","dependencies_parsed_at":"2023-12-26T19:03:11.471Z","dependency_job_id":"20843b59-b9c1-4217-b9a2-e1f4740612f6","html_url":"https://github.com/kevin-rs/duckduckgo","commit_stats":null,"previous_names":["wiseaidev/duckduckgo","kevin-rs/duckduckgo"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-rs%2Fduckduckgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-rs%2Fduckduckgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-rs%2Fduckduckgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-rs%2Fduckduckgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevin-rs","download_url":"https://codeload.github.com/kevin-rs/duckduckgo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223647580,"owners_count":17179287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","clap","cli","dorks","duckduckgo","duckduckgo-api","rust"],"created_at":"2024-11-08T07:29:23.832Z","updated_at":"2025-07-25T13:32:17.546Z","avatar_url":"https://github.com/kevin-rs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🦆 DuckDuckGo\n\n[![Crates.io](https://img.shields.io/crates/v/duckduckgo.svg)](https://crates.io/crates/duckduckgo)\n[![docs](https://docs.rs/duckduckgo/badge.svg)](https://docs.rs/duckduckgo/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n```sh\n██████╗ ██████╗  ██████╗\n██╔══██╗██╔══██╗██╔════╝\n██║  ██║██║  ██║██║  ███╗\n██║  ██║██║  ██║██║   ██║\n██████╔╝██████╔╝╚██████╔╝\n╚═════╝ ╚═════╝  ╚═════╝\n\nSearch and advanced search in DuckDuckGo\n========================================\n```\n\n## 📖 Table of Contents\n\n- [Installation](#-installation)\n- [Features](#-features)\n- [Usage](#-usage)\n- [Options](#-options)\n- [Contributing](#-contributing)\n- [License](#-license)\n\n## 🚀 Installation\n\nTo install `duckduckgo` cli, use the following Cargo command:\n\n```bash\ncargo install --locked duckduckgo --all-features\n```\n\n## ✨ Features\n\n- 🔍 **Simple and advanced search**: Perform DuckDuckGo searches using basic queries or advanced search operators.\n- ⚙️ **Search operators**: Refine results using DuckDuckGo-compatible filters (e.g. site, filetype, intitle).\n- 🛡️ **Safe search toggle**: Enable or disable family-friendly search filtering.\n- 🖨️ **Output formatting**: Choose between list or detailed formats for displaying results.\n- 🧮 **Result limiting**: Limit the number of results returned (default is 10).\n- 🧭 **Backend selection**: Use `--backend` to choose the search backend (`Auto`, `HTML`, or `API`).\n- 🌐 **Custom user agent**: Spoof or specify a user agent string for requests.\n- 🧩 **Cookie control**: Enable or disable cookie handling for requests.\n- 🕵️ **Proxy support**: Route requests through a custom HTTP or SOCKS proxy.\n- 🐛 **Verbose mode**: Print debug information for troubleshooting.\n- 🎨 **ANSI-colored output**: Enjoy beautiful, readable output right in your terminal.\n\n## 🚗 Usage\n\nLearn how to use the duckduckgo and explore its features with the following examples:\n\n### Perform a basic search:\n\n```bash\nddg --query \"rust lang\"\n```\n\n### Use search operators:\n\n```bash\nddg --query \"rust lang\" --operators \"+tutorial\"\n```\n\n### Enable safe search:\n\n```bash\nddg --query \"rust lang\" --safe\n```\n\n### Set the output format to detailed:\n\n```bash\nddg --query \"rust lang\" --format\n```\n\n### Limit the number of results to 3:\n\n```bash\nddg --query \"rust lang\" --limit 3\n```\n\n### Set user agent:\n\n```bash\nddg --query \"rust lang\" --user-agent \"chrome\"\n```\n\n### Set Different Backends:\n\n```bash\n# news\nddg --query \"rust lang\" --backend news\n\n# images\nddg --query \"rust lang\" --backend images\n\n# lite\nddg --query \"rust lang\" --backend lite\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eAvailable Browsers/Agents\u003c/code\u003e\u003c/summary\u003e\n\n| Browser/Agent          |\n| ---------------------- |\n| abrowse                |\n| acoo browser           |\n| america online browser |\n| amigavoyager           |\n| aol                    |\n| arora                  |\n| avant browser          |\n| beonex                 |\n| bonecho                |\n| browzar                |\n| camino                 |\n| charon                 |\n| cheshire               |\n| chimera                |\n| chrome                 |\n| chromeplus             |\n| classilla              |\n| cometbird              |\n| comodo_dragon          |\n| conkeror               |\n| crazy browser          |\n| cyberdog               |\n| deepnet explorer       |\n| deskbrowse             |\n| dillo                  |\n| dooble                 |\n| edge                   |\n| element browser        |\n| elinks                 |\n| enigma browser         |\n| enigmafox              |\n| epiphany               |\n| escape                 |\n| firebird               |\n| firefox                |\n| fireweb navigator      |\n| flock                  |\n| fluid                  |\n| galaxy                 |\n| galeon                 |\n| granparadiso           |\n| greenbrowser           |\n| hana                   |\n| hotjava                |\n| ibm webexplorer        |\n| ibrowse                |\n| icab                   |\n| iceape                 |\n| icecat                 |\n| iceweasel              |\n| inet browser           |\n| internet explorer      |\n| irider                 |\n| iron                   |\n| k-meleon               |\n| k-ninja                |\n| kapiko                 |\n| kazehakase             |\n| kindle browser         |\n| kkman                  |\n| kmlite                 |\n| konqueror              |\n| leechcraft             |\n| links                  |\n| lobo                   |\n| lolifox                |\n| lorentz                |\n| lunascape              |\n| lynx                   |\n| madfox                 |\n| maxthon                |\n| midori                 |\n| minefield              |\n| mozilla                |\n| myibrow                |\n| myie2                  |\n| namoroka               |\n| navscape               |\n| ncsa_mosaic            |\n| netnewswire            |\n| netpositive            |\n| netscape               |\n| netsurf                |\n| omniweb                |\n| opera                  |\n| orca                   |\n| oregano                |\n| osb-browser            |\n| palemoon               |\n| phoenix                |\n| pogo                   |\n| prism                  |\n| qtweb internet browser |\n| rekonq                 |\n| retawq                 |\n| rockmelt               |\n| safari                 |\n| seamonkey              |\n| shiira                 |\n| shiretoko              |\n| sleipnir               |\n| slimbrowser            |\n| stainless              |\n| sundance               |\n| sunrise                |\n| surf                   |\n| sylera                 |\n| tencent traveler       |\n| tenfourfox             |\n| theworld browser       |\n| uzbl                   |\n| vimprobable            |\n| vonkeror               |\n| w3m                    |\n| weltweitimnetzbrowser  |\n| worldwideweb           |\n| wyzo                   |\n\n\u003c/details\u003e\n\n### Set cookie for subsequent requests:\n\n```bash\nddg --query \"rust lang\" --cookie\n```\n\n### Set proxy:\n\n```bash\nddg --query \"rust lang\" --proxy \"socks5://192.168.1.1:9000\"\n```\n\n## 🎨 Options\n\n| Option               | Default Value | Description                                                   |\n| -------------------- | ------------- | ------------------------------------------------------------- |\n| `--query`, `-q`      | _(required)_  | Set the search query.                                         |\n| `--operators`, `-o`  | `\"\"`          | Set search operators (e.g., `+site:rust-lang.org`).           |\n| `--safe`, `-s`       | `false`       | Enable safe search (family-friendly results).                 |\n| `--format`, `-f`     | `false`       | Output format: `false` = list, `true` = detailed.             |\n| `--limit`, `-l`      | `10`          | Limit the number of search results.                           |\n| `--user-agent`, `-u` | `firefox`     | Set a custom user agent for HTTP requests.                    |\n| `--cookie`, `-c`     | `true`        | Enable cookie handling for the HTTP client.                   |\n| `--proxy`, `-p`      | `\"\"`          | Set a proxy for requests (e.g., `socks5://192.168.1.1:9000`). |\n| `--backend`, `-b`    | `Auto`        | Choose backend: `Auto`, `HTML`, or `API`.                     |\n| `--verbose`, `-v`    | `false`       | Enable verbose (debug) mode.                                  |\n\n## 🤝 Contributing\n\nContributions and feedback are welcome! If you'd like to contribute, report an issue, or suggest an enhancement, please engage with the project on [GitHub](https://github.com/kevin-rs/duckduckgo).\nYour contributions help improve this CLI for the community.\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin-rs%2Fduckduckgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevin-rs%2Fduckduckgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin-rs%2Fduckduckgo/lists"}