A full-stack web application that helps generate leads from Google Maps by scraping business information based on search queries. The application provides a clean interface to search for businesses and export the results to CSV format.
- 🔍 Search businesses on Google Maps
- 📊 View results in a clean, sortable table
- 📥 Export results to CSV
- 📱 Responsive design
- ⚡ Real-time scraping
- 💼 Comprehensive business information including:
- Business name
- Address
- Rating and reviews
- Business type
- Contact information
- Website links
- Google Maps links
- React + Vite
- Tailwind CSS for styling
- Heroicons for icons
- Axios for API requests
- Node.js
- Express.js
- Puppeteer for web scraping
- CSV Writer for file exports
- CORS for cross-origin requests
-
Clone the repository
-
Install dependencies
# Install root dependencies
npm install
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd backend
npm install
- Start the backend server
cd backend
npm run dev
- Start the frontend development server
cd frontend
npm run dev
The application will be available at http://localhost:5173
(or another port if 5173 is in use).
- Enter a search query in the search box (e.g., "restaurants in New York")
- Click the Search button to initiate the scraping process
- View the results in the table
- Click the "Download CSV" button to export the results
- Accepts a search query and returns scraped business data
- Request body:
{ "searchQuery": "your search query" }
- Downloads the latest search results as a CSV file
- Backend runs on port 5000
- Frontend development server runs on port 5173 (default Vite port)
- The backend uses nodemon for automatic server restarts during development
- The scraping process may take some time depending on the search query and number of results
- Rate limiting may apply based on Google Maps' policies
- Ensure you have a stable internet connection for reliable scraping
ISC