Integrate professional AI-powered skin analysis directly into your clinic portal, booking system, or patient management software. The API accepts images and returns a structured JSON report including skin age, condition scores, personalised routines, and 3-month projections.
Base URLhttps://skinnai-worker.london800800.workers.dev
Overview
Introduction
The SKINN AI API is a REST API powered by Anthropic Claude Vision. It accepts facial images and returns detailed skin analysis data including condition detection, scoring, personalised skincare routines, product recommendations, and a 3-month improvement projection.
All responses are JSON. All requests must be authenticated with an API key. The API is available to clinic licensees on the Professional and Enterprise plans.
API Access
API keys are issued to clinic licensees. To obtain an API key, subscribe to a Professional or Enterprise plan at skinnai.co.uk/clinics.
Configuration
Base URL
All API endpoints are served from the Cloudflare Worker. Use HTTPS only — HTTP requests will be redirected.
# Productionhttps://skinnai-worker.london800800.workers.dev# API versioning is in the pathhttps://skinnai-worker.london800800.workers.dev/api/v1/...
Security
Authentication
All endpoints except GET /api/v1/status require authentication. Pass your API key using either of the following methods:
Method 1 — Authorization header (recommended)
Authorization: Bearer sk_live_your_api_key_here
Method 2 — X-API-Key header
X-API-Key: sk_live_your_api_key_here
Keep your API key secret
Never expose your API key in client-side JavaScript, mobile app binaries, or public repositories. Always make API calls from your server.
If your key is missing or invalid, the API returns 401 Unauthorized:
{
"error": "Unauthorized",
"message": "Provide a valid API key via X-API-Key header or Authorization: Bearer <key>",
"docs": "https://skinnai.co.uk/api-docs#authentication"
}
Limits
Rate Limits
Rate limits are applied per API key. Each key is permitted 60 requests per hour. Rate limit headers are included in every response:
Header
Description
X-RateLimit-Remaining
Requests remaining in the current window
X-RateLimit-Reset
Unix timestamp (ms) when the window resets
When the limit is exceeded, the API returns 429 Too Many Requests:
{
"error": "Rate limit exceeded",
"message": "60 requests/hour per API key",
"reset_at": "2026-06-05T14:00:00.000Z"
}
Endpoint
GET /api/v1/status
GET/api/v1/statusNo authentication required
Returns the current API status, version, and available endpoints. This endpoint does not require an API key and can be used for health checks.
Analyse a skin image by URL. The worker fetches the image, runs Claude Vision analysis, and returns a structured JSON report. Suitable for images already hosted on a publicly accessible URL.
Query Parameters
Parameter
Type
Required
Description
image_url
string
Required
Publicly accessible URL of a JPG or PNG facial image. Max 8MB.
language
string
Optional
Response language code. Default: en. Supported: en tr ar fr de es it el
Analyse a skin image sent as base64. Optionally provide a patient email to receive a branded HTML report by email. Returns the full analysis plus generated report HTML — ready for PDF rendering or embedding in your EHR.
Request Body (JSON)
Field
Type
Required
Description
image_base64
string
Required
Base64-encoded image data (JPG or PNG). Max decoded size: 8MB.
mime_type
string
Optional
MIME type of the image. Default: image/jpeg. Accepted: image/jpeg, image/png
email
string
Optional
Patient email. If provided, a branded HTML report is emailed to this address.
language
string
Optional
Report language. Default: en. Supported: en tr ar fr de es it el
patient_ref
string
Optional
Your internal patient reference ID. Echoed back in the response for record-linking.
Next Steps
Obtain your API key by subscribing to the Professional or Enterprise plan at skinnai.co.uk/clinics. Keys are issued within 24 hours of plan activation. Set CLINIC_API_KEYS in your Cloudflare Worker environment with the issued key(s).