A Flask-based API that scrapes job postings from Romega Solutions using JobSPY.
- 🔍 Scrape latest Romega Solutions jobs from LinkedIn
- 📊 Returns data in JSON format
- 🐳 Docker containerized
- ☁️ Ready for Easypanel deployment
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | API information |
/health |
GET | Health check |
/scrape |
GET | Trigger job scraping |
/jobs |
GET | Get cached job data |
pip install -r requirements.txt
python api.pydocker build -t romega-jobs-api .
docker run -p 5555:5555 romega-jobs-api- Push this repo to GitHub
- In Easypanel, create new App
- Connect your GitHub repository
- Set build settings:
- Build Method: Dockerfile
- Port: 5555
- Deploy!
| Variable | Default | Description |
|---|---|---|
PORT |
5555 | API port |
# Health check
curl http://your-domain/health
# Scrape jobs
curl http://your-domain/scrape
# Get cached jobs
curl http://your-domain/jobsMIT
### 8. **docker-compose.yml** (Optional - for local testing)
```yaml
version: '3.8'
services:
api:
build: .
ports:
- "5555:5555"
environment:
- PORT=5555
restart: unless-stopped
-
Create GitHub Repository:
git init git add . git commit -m "Initial commit: Romega Jobs API" git branch -M main git remote add origin https://github.com/YOUR_USERNAME/romega-jobs-api.git git push -u origin main
-
In Easypanel:
- Click "Create App"
- Select "GitHub" as source
- Choose your repository
- Set build configuration:
- Build Method: Dockerfile
- Port: 5555
- Click "Deploy"
-
Access your API:
- Easypanel will provide a URL
- Test:
https://your-app.easypanel.host/health
- The scraper runs on-demand when you hit
/scrape - Job data is cached in memory (container restart clears it)
- For persistent storage, add volume mounts in Easypanel
- Consider adding rate limiting for production use