Spaces:
Running
Running
| # Antigravity SEO Scaler - API Documentation | |
| Base URL: `http://localhost:7860` (or your deployed URL) | |
| ## 1. Start a New Scan | |
| Initiates an asynchronous crawling and analysis job for a target domain. | |
| - **Endpoint**: `/api/scanstart` | |
| - **Method**: `POST` | |
| - **Headers**: `Content-Type: application/json` | |
| - **Body Parameters**: | |
| - `domain` (string, required): The URL of the website to scan (e.g., "https://example.com"). | |
| - `limit` (integer, optional): Maximum number of pages to crawl. Default is `25`. | |
| **Example Request (curl):** | |
| ```bash | |
| curl -X POST "http://localhost:7860/api/scanstart" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"domain": "https://example.com", "limit": 50}' | |
| ``` | |
| **Example Response:** | |
| ```json | |
| { | |
| "job_id": "8e8c40c5-77e0-4ad6-906a-53d038cd9fe7" | |
| } | |
| ``` | |
| --- | |
| ## 2. Check Scan Progress | |
| Retrieves the real-time status of a running job. You can use either a path parameter or a query parameter. | |
| ### Option A: Path Parameter | |
| - **Endpoint**: `/api/progress/{job_id}` | |
| - **Method**: `GET` | |
| ### Option B: Query Parameter | |
| - **Endpoint**: `/api/progress` | |
| - **Method**: `GET` | |
| - **Query Parameters**: | |
| - `job_id` (string, required): The ID returned by the start endpoint. | |
| **Example Request:** | |
| ```bash | |
| curl "http://localhost:7860/api/progress/8e8c40c5-77e0-4ad6-906a-53d038cd9fe7" | |
| # OR | |
| curl "http://localhost:7860/api/progress?job_id=8e8c40c5-77e0-4ad6-906a-53d038cd9fe7" | |
| ``` | |
| **Example Response:** | |
| ```json | |
| { | |
| "status": "running", | |
| "percent": 45, | |
| "pages_scanned": 12, | |
| "images_found": 86, | |
| "message": "Scanning: https://example.com/about", | |
| "elapsed_seconds": 15, | |
| "eta_seconds": 20, | |
| "error": null | |
| } | |
| ``` | |
| *Possible Statuses*: `pending`, `running`, `done`, `error` | |
| --- | |
| ## 3. Get Scan Results | |
| Retrieves the final detailed JSON report. This should be called when the progress status is `done`. | |
| ### Option A: Path Parameter | |
| - **Endpoint**: `/api/result/{job_id}` | |
| - **Method**: `GET` | |
| ### Option B: Query Parameter | |
| - **Endpoint**: `/api/result` | |
| - **Method**: `GET` | |
| - **Query Parameters**: | |
| - `job_id` (string, required): The ID of the completed job. | |
| **Example Request:** | |
| ```bash | |
| curl "http://localhost:7860/api/result/8e8c40c5-77e0-4ad6-906a-53d038cd9fe7" | |
| ``` | |
| **Example Response:** | |
| ```json | |
| { | |
| "summary": { | |
| "total_pages_scanned": 50, | |
| "total_images_found": 320, | |
| "total_images_missing_alt": 45, | |
| "blocked_reason": null, | |
| "crawl_blocked": false | |
| }, | |
| "details": [ | |
| { | |
| "page_url": "https://example.com", | |
| "images": [ ... ] | |
| } | |
| ] | |
| } | |
| ``` | |
| --- | |
| ## 4. System Status | |
| Checks the health and resource usage of the underlying server. | |
| - **Endpoint**: `/api/status` | |
| - **Method**: `GET` | |
| - **Query Parameters**: | |
| - `domain` (string, optional): A target URL to check reachability for. | |
| **Example Response:** | |
| ```json | |
| { | |
| "cpu_percent": 12.5, | |
| "memory_percent": 45.2, | |
| "disk_usage": 60.1, | |
| "target_reachable": true | |
| } | |
| ``` | |
| --- | |
| ## 5. Health Check | |
| Simple endpoint for load balancers or uptime monitors. | |
| - **Endpoint**: `/health` | |
| - **Method**: `GET` | |
| **Example Response:** | |
| ```json | |
| { "status": "alive" } | |
| ``` | |