API Documentation
Everything you need to integrate CRX Miner into your apps
1 Quick Start
Authentication
All API requests require an API key. Include it in the Authorization header:
Authorization: Bearer crx_your_api_key_here Base URL
https://crx.michaelhaag.org/api/v1 2 Endpoints
GET
/v1/extensions/{extension_id} Get detailed security analysis for a specific Chrome extension.
Example Request
curl -H "Authorization: Bearer YOUR_KEY" \ "https://crx.michaelhaag.org/api/v1/extensions/cjpalhdlnbpafiamejdnhcphjbkeiagm"
Response
{
"extension_id": "cjpalhdlnbpafiamejdnhcphjbkeiagm",
"name": "uBlock Origin",
"version": "1.68.0",
"risk_score": 25,
"risk_level": "low",
"permissions": ["storage", "webNavigation"],
"ai_summary": "Low risk ad blocker..."
} GET
/v1/extensions List analyzed extensions with filtering and pagination.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| risk_level | string | critical, high, medium, low, minimal |
| search | string | Search by name or extension ID |
| limit | integer | Results per page (max 100) |
| offset | integer | Pagination offset |
Example
curl -H "Authorization: Bearer YOUR_KEY" \ "https://crx.michaelhaag.org/api/v1/extensions?risk_level=high&limit=10"
GET
/api/stats Get overall statistics (no auth required).
{
"total_extensions": 10523,
"critical_count": 42,
"high_count": 521,
"medium_count": 2341,
"scans_24h": 156
} POST
/v1/queue NEW Add extension(s) to the priority scan queue. Queued items are processed every 5 minutes.
Single Extension
curl -X POST -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"extension_id": "abcdefghijklmnopabcdefghijklmnop"}' \ "https://crx.michaelhaag.org/api/v1/queue"
Bulk (up to 50)
curl -X POST -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"extension_ids": ["id1...", "id2...", "id3..."]}' \ "https://crx.michaelhaag.org/api/v1/queue"
Response
{
"status": "queued",
"queued": 3,
"already_queued": 0,
"message": "3 extension(s) added to priority scan queue",
"queued_ids": ["id1...", "id2...", "id3..."]
} GET
/v1/queue NEW Check the current priority scan queue status.
curl -H "Authorization: Bearer YOUR_KEY" \ "https://crx.michaelhaag.org/api/v1/queue"
{
"queue_size": 5,
"items": [
{"extension_id": "abc...", "is_yours": true}
]
} 3 Rate Limits
API requests are rate limited per user. Check the response headers:
| Header | Description |
|---|---|
| X-RateLimit-Limit | Your daily request limit |
| X-RateLimit-Remaining | Requests remaining today |
| X-RateLimit-Reset | When your limit resets (midnight UTC) |
Free tier: 50 requests per day. Need more? Request increased access from your dashboard settings.
4 Error Codes
| Code | Description |
|---|---|
| 401 | Invalid or missing API key |
| 404 | Extension not found in database |
| 429 | Rate limit exceeded |
| 500 | Internal server error |