Skip to main content

API Overview

The DevRadar Public API provides programmatic access to technology compatibility data, project scanning, and badge generation.

Base URL

https://devradar.dev/api/v1
All endpoints use the v1 API version. Future versions will be announced with backward compatibility considerations.

Authentication

Most endpoints are public and do not require authentication:
  • POST /check - Public, rate-limited
  • GET /badge - Public, rate-limited
  • POST /scan - Public, rate-limited
Rate limiting is based on IP address. See Rate Limits for details.

Response Format

All successful responses include a version field:
{
  "version": "1.0",
  "status": "compatible",
  "message": "Next.js works seamlessly with Prisma ORM."
}
Error responses follow a consistent format:
{
  "version": "1.0",
  "error": {
    "code": "INVALID_INPUT",
    "message": "Both techA and techB are required.",
    "details": "Optional additional context"
  }
}

Available Endpoints

EndpointMethodDescription
/checkPOSTVerify compatibility of two technologies
/scanPOSTAnalyze package.json for compatibility issues
/badgeGETGenerate SVG compatibility badge

Quick Start

Check Compatibility

curl -X POST https://devradar.dev/api/v1/check \
  -H "Content-Type: application/json" \
  -d '{"techA": "nextjs", "techB": "prisma"}'

Scan Project

curl -X POST https://devradar.dev/api/v1/scan \
  -H "Content-Type: application/json" \
  -d '{"dependencies": ["next", "prisma", "vercel"]}'

Get Badge

curl "https://devradar.dev/api/v1/badge?techA=nextjs&techB=prisma"

Rate Limiting

All endpoints are rate-limited to ensure fair usage:
EndpointLimitWindow
POST /check60 requests1 minute
POST /scan10 requests1 minute
GET /badge120 requests1 minute
Rate limit headers are included in every response:
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 2025-01-15T10:31:00Z
See Rate Limits for complete details.

CORS

The API supports CORS for browser-based requests:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: Content-Type

Status Codes

CodeMeaning
200Success
400Invalid input
429Rate limit exceeded
500Internal error

Error Codes

CodeDescription
INVALID_INPUTRequest validation failed
RATE_LIMIT_EXCEEDEDRate limit reached
INTERNAL_ERRORServer error occurred
NOT_FOUNDResource not found
See Errors for complete error handling documentation.

Technology Name Format

Use lowercase, simplified names:
PreferredAlso Recognized
nextjsnext.js, next-js
reactreactjs
prismaprisma-orm
postgresqlpostgres, pg

SDKs

Official SDKs are coming soon:
  • JavaScript/TypeScript
  • Python
  • Go
For now, use the REST API directly with HTTP clients.

What’s Next


Ready to integrate? Check Endpoint Reference