Introduction
Welcome to the Repo Cat API documentation. This guide will help you quick start with analyzing GitHub repositories.
Authentication
The Repo Cat API uses API keys to authenticate your requests. This helps track your usage and apply rate limits.
Quick Overview
- Basic scans: No API key required - just make the request
- Standard/Deep scans: API key required - add it to your request header
How to Get Started
- Sign up - Create an account at /signup
- Generate an API key - Go to your dashboard settings to create an API key
- Make requests - Include your API key in the
X-API-Keyheader
Including Your API Key
cURL
curl "http://repo-cat.futoro.co.uk/api/v1/scan?repo=facebook/react&level=basic" \ -H "X-API-Key: your-api-key-here"
JavaScript
fetch("http://repo-cat.futoro.co.uk/api/v1/scan?repo=facebook/react&level=basic", {
headers: { "X-API-Key": "your-api-key-here" }
});Scan Levels
Repo Cat offers three scan levels to meet different needs. Each level provides different depths of analysis.
Basic
Free tier scan that provides basic metadata and heuristics without requiring an API key.
- Repository metadata
- Commit density analysis
- Package bloat detection
Standard
Enhanced scan with static code quality assessment. No AI required.
- Everything in Basic
- Static code analysis
- Security issue detection
Deep
Comprehensive analysis with AI-powered insights and recommendations.
- Everything in Standard
- AI-powered code analysis
- Detailed recommendations
Rate Limiting
The API implements two types of rate limiting to ensure fair usage:
Scan Quota Limits
Your API key tier determines how many scans you can perform per day and month. These limits are based on your subscription plan and can be viewed in your dashboard.
API Request Rate Limiting
To prevent abuse, the API server implements request-based rate limiting (requests per minute). This limit applies equally to all users regardless of tier and helps ensure service availability. If you exceed this limit, you will receive a 429 (Too Many Requests) response.
Real-Time Updates
Monitor scan progress in real-time using Server-Sent Events (SSE). This is useful for long-running deep scans where you want to track progress as it happens.
Scan Progress via SSE
Connect to the SSE endpoint to receive real-time updates about scan status and progress. The stream sends events for status changes, progress updates, and completion notifications.
User Settings
Manage your account preferences including default scan levels, notifications, and webhooks.
Settings API
Retrieve and update your user settings. Settings include default scan level, email notifications, and webhook configurations.
- • GET /api/v1/settings - Retrieve current settings
- • PUT /api/v1/settings - Update settings
Email Notifications
Receive email notifications when your scans complete. Configure your notification preferences in your user settings.
Notification Events
Email notifications are sent for the following scan events:
- • Scan completed successfully
- • Scan failed with an error
- • Scan was cancelled
Webhooks
Configure webhooks to receive HTTP POST requests when scan events occur. This enables real-time integration with external systems.
Scan Management
Manage your existing scans - view details, download PDFs, cancel running scans, or delete scans you no longer need.
Next Steps
Ready to start? Check out our Quick Start guide to make your first API call.