{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Cook Search APIs\n",
    "- This notebook is used to cook search APIs like Tavily and Serper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import http.client\n",
    "import json\n",
    "import os\n",
    "\n",
    "from dotenv import load_dotenv\n",
    "\n",
    "load_dotenv(override=True)\n",
    "\n",
    "# https://docs.spaceserp.com/serp-api\n",
    "conn = http.client.HTTPSConnection(\"google.serper.dev\")\n",
    "payload = json.dumps({\"q\": \"apple inc\"})\n",
    "headers = {\n",
    "    \"X-API-KEY\": os.getenv(\"SERPER_API_KEY\"),\n",
    "    \"Content-Type\": \"application/json\",\n",
    "}\n",
    "conn.request(\"POST\", \"/search\", payload, headers)\n",
    "res = conn.getresponse()\n",
    "data = res.read()\n",
    "print(data.decode(\"utf-8\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "from dotenv import load_dotenv\n",
    "from tavily import TavilyClient\n",
    "\n",
    "load_dotenv(override=True)\n",
    "\n",
    "tavily_client = TavilyClient(api_key=os.getenv(\"TAVILY_API_KEY\"))\n",
    "# https://docs.tavily.com/documentation/api-reference/endpoint/search\n",
    "response = tavily_client.search(\n",
    "    query=\"Who is Leo Messi?\",\n",
    "    search_depth=\"basic\",\n",
    "    topic=\"general\",\n",
    "    max_results=2,\n",
    "    include_answer=True,\n",
    "    include_raw_content=False,\n",
    "    include_images=False,\n",
    ")\n",
    "\n",
    "print(response)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "deepsearch-py311-2",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.11.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}