Spaces:
Running
Running
| # 🚀 Deployment Guide (Free & Lifetime) | |
| This guide will show you how to deploy your Web Scraper API to **Render.com** for free. Render is an excellent cloud platform that supports Python and Playwright out of the box. | |
| ## ✅ Prerequisites | |
| 1. **GitHub Account**: You need a GitHub account to host your code. | |
| 2. **Git Installed**: You must have Git installed on your computer. | |
| --- | |
| ## Step 1: Push Code to GitHub | |
| First, we need to get your code onto GitHub. | |
| 1. **Log in to GitHub** and create a **New Repository**. | |
| * Name it something like `Alt-scraper-api`. | |
| * Make it **Public** or **Private** (Private is fine). | |
| * **Do not** initialize with a README (we have code locally). | |
| 2. **Open your terminal** in the project folder (`d:\webscreper`) and run these commands one by one: | |
| ```bash | |
| # Initialize git | |
| git init | |
| # Add all files | |
| git add . | |
| # Commit changes | |
| git commit -m "Initial commit for deployment" | |
| # Link to your new GitHub repo (Replace YOUR_USERNAME and REPO_NAME) | |
| git remote add origin https://github.com/YOUR_USERNAME/Alt-scraper-api.git | |
| # Push code | |
| git push -u origin main | |
| ``` | |
| --- | |
| ## Step 2: Create a Web Service on Render | |
| 1. Go to [dashboard.render.com](https://dashboard.render.com) and sign up/log in. | |
| 2. Click the **"New +"** button and select **"Web Service"**. | |
| 3. Connect your **GitHub** account. | |
| 4. Find your `Alt-scraper-api` repository and click **"Connect"**. | |
| --- | |
| ## Step 3: Configure the Service | |
| Fill in the details exactly as follows to ensure it works with Flask and Playwright: | |
| * **Name**: `Alt-scraper` (or whatever you like) | |
| * **Region**: Closest to you (e.g., Frankfurt or Oregon) | |
| * **Branch**: `master` | |
| * **Root Directory**: (Leave blank) | |
| * **Runtime**: **Python 3** | |
| * **Build Command**: | |
| ```bash | |
| ./build.sh | |
| ``` | |
| * **Start Command**: | |
| ```bash | |
| uvicorn api:app --host 0.0.0.0 --port $PORT --interface wsgi --workers 4 --timeout-keep-alive 600 | |
| ``` | |
| * **Instance Type**: Select **Free** | |
| ### ⚠️ crucial: Environment Variables | |
| Scroll down to "Advanced" or "Environment Variables" and make sure these settings are correct. We already set up the `build.sh` script to handle dependencies, so this part should be automatic. | |
| --- | |
| ## Step 4: Deploy | |
| 1. Click **"Create Web Service"**. | |
| 2. Render will start building your app. You can watch the logs. | |
| * It will install Python dependencies. | |
| * It will install Chromium (for Playwright). | |
| 3. Once finished, you will see a green checkmark **"Live"**. | |
| 4. Copy your URL (e.g., `https://Alt-scraper.onrender.com`). | |
| --- | |
| ## Step 5: Test Your API | |
| Now you can use this URL in Postman instead of `127.0.0.1:5050`. | |
| **New Request:** | |
| * **Method**: `GET` | |
| * **URL**: `https://YOUR-APP-NAME.onrender.com/api/seo-report?domain=https://example.com` | |
| --- | |
| ## ℹ️ Important Notes about "Free" Tier | |
| 1. **Spin Down**: The free instance "sleeps" after 15 minutes of inactivity. The first request after sleeping might take 30-50 seconds to wake it up. This is normal. | |
| 2. **Keep Alive (Optional)**: If you want it to stay awake, you can use a free "Uptime Monitor" (like UptimeRobot) to ping your API every 10 minutes. | |
| You now have a fully functional, free, lifetime deployment of your scraper! 🚀 | |