aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_brave.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/search_brave.sh')
-rwxr-xr-xtools/search_brave.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/search_brave.sh b/tools/search_brave.sh
new file mode 100755
index 0000000..553bfc7
--- /dev/null
+++ b/tools/search_brave.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+set -e
+
+# @describe Perform a web search using Brave Search API to get up-to-date information or additional context.
+# Use this when you need current information or feel a search could provide a better answer.
+
+# @env BRAVE_API_KEY! The api key
+# @env BRAVE_MAX_RESULTS=5 The max results to return.
+# @option --query! The query to search for.
+
+main() {
+ encoded_query="$(jq -nr --arg q "$argc_query" '$q|@uri')"
+ url="https://api.search.brave.com/res/v1/web/search?q=$encoded_query&count=$BRAVE_MAX_RESULTS"
+ curl -fsSL "$url" \
+ -H "Accept: application/json" \
+ -H "X-Subscription-Token: $BRAVE_API_KEY" | \
+ jq '[.web.results[] | {title: .title, url: .url, description: .description}]'
+}
+
+eval "$(argc --argc-eval "$0" "$@")"
+