"A simple rank tracking application leveraging a 3rd party API with advanced data features."
This SEO Rank Tracker is a web application that allows users to track search engine rankings for specified keywords across different projects. It utilizes multiple 3rd party APIs to fetch SERP data, such as SpaceSERP (lifetime deal on AppSumo), and search volume information, providing advanced features for data analysis and visualization.
- Project-based keyword tracking
- SERP data fetching and storage
- Rank tracking over time
- Search volume tracking with 30-day update intervals (via Grepwords)
- Advanced data filtering and visualization
- Keyword tagging system
- Historical data viewing and exporting
- User-friendly interface built with Vue.js
- Frontend: Vue.js 3 with Vite
- Backend: Python with FastAPI
- Database: SQLite
- API Integrations:
- SpaceSERP for SERP data (lifetime deal on AppSumo)
- Grepwords for search volume data
-
Clone the repository:
git clone https://github.com/your-username/seo-rank-tracker.git cd seo-rank-tracker
-
Set up the backend:
cd backend python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install -r requirements.txt
-
Set up the frontend:
cd ../frontend/rankenberry-frontent npm install
-
Install additional JavaScript libraries:
npm install axios pinia v-calendar plotly.js-dist-min
-
Create a
.env
file in the backend directory and add your API keys:SPACESERP_API_KEY=your_spaceserp_api_key_here GREPWORDS_API_KEY=your_grepwords_api_key_here
- axios: Promise-based HTTP client for making API requests.
- pinia: State management library for Vue.js applications.
- v-calendar: Calendar and date picker component for Vue.js.
- plotly.js-dist-min: JavaScript graphing library for creating interactive charts.
These libraries are essential for the functionality of the frontend application. They handle API communication, state management, date selection, and data visualization respectively.
- Node.js (v14 or later)
- Python (v3.8 or later)
- pip (Python package manager)
-
Start the backend server:
cd backend uvicorn app:app --reload
-
In a new terminal, start the frontend development server:
cd frontend/rankenberry-frontent npm run dev
-
Open your browser and navigate to
http://localhost:5173
to use the application.
- Add a new project with a domain
- Add keywords to track for each project
- Fetch SERP data for your keywords
- View and analyze ranking data over time
- Use the tagging system to organize and filter keywords
- View historical data for individual keywords
- Export keyword history data as needed
- Search volume tracking: The application now fetches and stores search volume data for keywords, updating every 30 days.
- Keyword tagging: Users can now add tags to keywords for better organization and filtering.
- Historical data viewing: A new modal allows users to view and export historical data for individual keywords.
- Improved data visualization: The rank table now includes more detailed metrics and allows for advanced filtering.
Contributions are welcome! Please feel free to submit a Pull Request.
- Thanks to SpaceSERP for providing the SERP data API
- Thanks to Grepwords for providing the search volume data API
- Vue.js and FastAPI communities for their excellent documentation and tools
For a list of planned features and improvements, please see our TODO list.
Note: The SpaceSERP link is an affiliate link, which means I may receive commission if you sign up from those links.