More in-depth written article and vision behind -> https://alejogb1.vercel.app/blog/search-tool-g2-alternative
Search-Tool (created by me): a market-intelligence tool that connects the Google Ads API + LLMs ... meant to be a Semrush.com or Ahrefs alternative.
● it’s something new, and it replaces heavy, complex infrastructure orchestrations like the kind you see at ahrefs’ big-data systems: https://ahrefs.com/big-data (read more about the computers of Ahrefs)
● designed based on the experience i gained working for a year at top.legal, analyzing Google Search data from our potential market, with the goal of “getting closer to the market” (go-to-market)
UI: https://search-tool2.vercel.app/ Backend API: https://search-tool-vwmv.onrender.com Repo: https://github.com/Alejogb1/search-tool RUN Api: uvicorn api.main:app --host 0.0.0.0 --port 8000 --reload
The project is organized into the following main directories:
api/: Contains the FastAPI application that exposes the analysis endpoints.core/: Houses the core business logic of the application, including services for analysis orchestration, keyword clustering, and enrichment.data_access/: Manages all data-related operations, including database models and repository classes for interacting with the database.integrations/: Includes modules for connecting to external services like Google Ads, BigQuery, and Large Language Models (LLMs).alembic/: Contains database migration scripts managed by Alembic.
-
Clone the repository:
git clone https://github.com/Alejogb1/search-tool.git cd search-tool -
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate -
Install the dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile in the root directory and add the necessary configuration for database connections and external APIs. Refer to the existingintegrationsanddata_accessmodules to see what is required. -
Run database migrations:
alembic upgrade head
To run the application, use the following command:
uvicorn api.main:app --reloadThe API documentation will be available at http://127.0.0.1:8000/docs.
The main API endpoint is located at /api/v1/analysis/. You can send a POST request with the required parameters to trigger a new market analysis.
Contributions are welcome! Please feel free to submit a pull request.
This project is licensed under the MIT License.