A REST API wrapper for the GitHub Profile Viewer tool. Simulate profile views on GitHub through API endpoints.
- π FastAPI-based REST API
- π API Key Authentication via
X-API-Keyheader - π§΅ Multi-threaded view execution
- π‘οΈ Anti-detection features with headless Chrome
- π Swagger UI documentation at
/docs
- Python 3.8+
- Google Chrome browser installed
git clone https://github.com/dewhush/Github-Profile-View-API.git
cd Github-Profile-View-APIpython -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/Macpip install -r requirements.txtcopy .env.example .envEdit .env and set your API key:
APP_NAME=Github-Profile-View-API
APP_ENV=development
API_KEY=your-secure-api-key-hererun_api.batuvicorn api:app --host 0.0.0.0 --port 8000 --reloadAPI will be available at: http://localhost:8000
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Health check endpoint.
Response:
{
"status": "healthy",
"timestamp": "2024-01-17T00:00:00.000000"
}Get API status information.
Response:
{
"app_name": "Github-Profile-View-API",
"environment": "development",
"version": "1.0.0",
"status": "running",
"timestamp": "2024-01-17T00:00:00.000000"
}Execute profile views on a GitHub profile.
Headers:
| Header | Required | Description |
|---|---|---|
X-API-Key |
Yes | Your API key |
Content-Type |
Yes | application/json |
Request Body:
{
"username": "dewhush",
"view_count": 10,
"max_workers": 5
}| Field | Type | Required | Description |
|---|---|---|---|
username |
string | Yes | Target GitHub username |
view_count |
integer | Yes | Number of views (1-100) |
max_workers |
integer | No | Concurrent threads (1-20, default: 5) |
Response:
{
"username": "dewhush",
"total_count": 10,
"success_count": 10,
"failed_count": 0,
"status": "completed",
"message": "Completed 10/10 views successfully"
}curl -X POST http://localhost:8000/v1/view \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{"username": "dewhush", "view_count": 5}'import requests
response = requests.post(
"http://localhost:8000/v1/view",
headers={
"Content-Type": "application/json",
"X-API-Key": "your-api-key"
},
json={
"username": "dewhush",
"view_count": 5,
"max_workers": 3
}
)
print(response.json())| Status Code | Description |
|---|---|
| 401 | Invalid or missing API key |
| 422 | Validation error (invalid input) |
| 500 | Internal server error |
This tool is for educational purposes only. Using automated scripts to artificially inflate metrics may violate GitHub's Terms of Service. Use at your own risk.
MIT License
Created by dewhush