{"id":21214066,"url":"https://github.com/dcrebbin/googlexity-api","last_synced_at":"2026-05-20T19:47:38.321Z","repository":{"id":251488898,"uuid":"837547997","full_name":"dcrebbin/googlexity-api","owner":"dcrebbin","description":"API to mimic Perplexity's AI search functionality using Google Search \u0026 Gemini, created with Rust Actix Web ","archived":false,"fork":false,"pushed_at":"2024-08-06T13:10:13.000Z","size":442,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T16:22:48.755Z","etag":null,"topics":["actix-web","gemini","google","perplexity","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcrebbin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2024-08-03T09:55:02.000Z","updated_at":"2024-12-09T21:02:39.000Z","dependencies_parsed_at":"2024-08-06T15:15:13.817Z","dependency_job_id":null,"html_url":"https://github.com/dcrebbin/googlexity-api","commit_stats":null,"previous_names":["dcrebbin/googlexity-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcrebbin%2Fgooglexity-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcrebbin%2Fgooglexity-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcrebbin%2Fgooglexity-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcrebbin%2Fgooglexity-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcrebbin","download_url":"https://codeload.github.com/dcrebbin/googlexity-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243663581,"owners_count":20327306,"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":["actix-web","gemini","google","perplexity","rust"],"created_at":"2024-11-20T21:25:56.442Z","updated_at":"2025-12-29T19:08:07.188Z","avatar_url":"https://github.com/dcrebbin.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Googlexity API\n\n![Googlexity](/public/googlexity.png)\n\n**Googlexity** is a Rust Actix Web API that attempts to mimic [Perplexity.ai](https://perplexity.ai)'s capabilities.\n\nIt does this by:\n\n- Optimizing search queries\n\n- Searching Google via Google's Custom Search JSON API\n\n- Scraping the text content of each search result item\n\n- Using that context to generate a response using a custom markdown template that has minimal hallucinations\n\n### Examples\n\n**What is the stock price of Meta from the last 14 days?**\n\n![Example 1](/public/example-1.png)\n\n**What is the closest capybara from Melbourne?**\n\n![Example 2](/public/example-2.png)\n\n## Pros\n\n- It's quite accurate\n\n## Issues\n\n- It's not very fast at the moment (But I have some ideas on how to speed it up)\n\n## Setup \n\n1) Install Rust\n\n2) Create a `.env` file based on `env.example`\n\n3)\n    - **local:** Run `cargo run`\n\n    - **docker:** Run `docker compose up --build`\n\n    - **deploy:** https://fly.io or https://console.cloud.google.com\n\n## Usage\n\n### Search\n\nEndpoint: `http://127.0.0.1:8080/api/search`\n\nType: `POST`\n\nHeaders:\n\n- `Content-Type: application/json`\n- `x-api-key: \u003cYOUR_API_KEY\u003e` (set in .env)\n\nBody:\n\n```json\n{\n    \"query\": \"\",\n     // (Required)\n     // The query to search for\n    \"custom_instructions\": \"\",\n     // (Optional: defaults to \"CUSTOM_FORMATTING_PROMPT\" from `constants/config.rs`)\n     // Custom formatting instructions for the last AI query\n    \"model\": \"\",\n     // (Optional: defaults to \"gemini-1.5-pro-latest\")\n     // The Google AI model to use, see config.rs or \n     // https://ai.google.dev/gemini-api/docs/models/gemini for options\n    \"max_results\": \"\", \n     // (Optional: defaults to infinite)\n     // The maximum number of search results to use in the\n     // context of the last AI query\n    \"optimize_query\": \"\", \n     // (Optional: defaults to true)\n     // Whether to optimize the query for search engines. \n    \"max_optimizations\": \"\", \n     // (Optional: defaults to infinite)\n     // The maximum number of optimized queries that will be used \n    \"depthfull_search\": \"\"\n     // (Optional: defaults to false)\n     // Whether to perform a depthful search. \n     // a depthful search will scrape each website link\n     // and then use the content in the context of the last AI query \n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcrebbin%2Fgooglexity-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcrebbin%2Fgooglexity-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcrebbin%2Fgooglexity-api/lists"}