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

  1. Sign up - Create an account at /signup
  2. Generate an API key - Go to your dashboard settings to create an API key
  3. Make requests - Include your API key in the X-API-Key header

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.

GET /api/v1/scans/sse
Scan Progress (SSE) API Reference - Detailed API specification

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.

Webhooks Documentation - Full configuration guide

Scan Management

Manage your existing scans - view details, download PDFs, cancel running scans, or delete scans you no longer need.

GET /api/v1/scan/:id- Get scan details
GET /api/v1/scan/:id/pdf- Download PDF
POST /api/v1/scan/:id/cancel- Cancel scan
DELETE /api/v1/scan/:id- Delete scan

Next Steps

Ready to start? Check out our Quick Start guide to make your first API call.