A full-stack web application that allows users to enter a website URL and automatically extracts public contact information like emails, phone numbers, social media links, and logos from the page.
Built with Next.js, Tailwind CSS, Cheerio, and deployed on Vercel.
Soon
- ✅ Input any website URL
- 📨 Automatically extract email addresses
- ☎️ Grab phone numbers using regex
- 🌐 Detect social links (Facebook, LinkedIn, Twitter, etc.)
- 🖼️ Pull logo or main image using meta tags
- 📋 Copy or export contact info
- 🧪 Validates and sanitizes user input
- 💡 Fully responsive, mobile-friendly UI
| Layer | Tech |
|---|---|
| Frontend | Next.js (App Router), React, Tailwind CSS |
| Backend | Next.js API Routes |
| Scraping | Cheerio, Axios, Regex |
| Deployment | Vercel |
/app /page.tsx # Main UI page /api/scrape/route.ts # API handler for scraping logic /components URLForm.tsx # Input form ResultCard.tsx # Result display component /lib scraper.ts # Scraping and parsing logic
---
## 🚀 Getting Started
```bash
# Clone the repo
git clone https://github.com/narakcode/bubu-scraper.git
# Install dependencies
cd contact-scraper
npm install
# Run locally
npm run dev
Environment variables are not required for basic scraping, but you can set custom proxy or user agents if needed.
- 🧠 Use Puppeteer for dynamic JavaScript scraping
- 📸 Generate screenshots or previews of the target site
- 🗃️ Add database to track scrape history per user
- 🧾 CSV/JSON export support
- 🔐 Add GitHub OAuth login
- ✅ Full-stack web app development with React/Next.js
- ✅ Web scraping and DOM parsing
- ✅ Regex for data extraction (emails, phones)
- ✅ Async APIs and error handling
- ✅ Responsive frontend with Tailwind CSS
- ✅ Clean code structure and component reusability
- ✅ CI/CD and deployment via Vercel
MIT — NarakCODE
Feel free to open issues or PRs. You can also reach me at channarakluy@gmail.com
---
### ✅ What to do next:
- Replace demo link with your actual **Vercel deployment URL**
- Update `yourusername`, contact info, and license
- Push it to GitHub!
Let me know if you'd like a **GitHub repo name suggestion** or the initial code scaffolding next!