API Documentation Preview

Get a glimpse of what our API can do. Full documentation available at launch.

Comprehensive Docs

Detailed guides for every endpoint

Code Examples

Ready-to-use snippets in multiple languages

Quick Start

Get up and running in under 5 minutes

Authentication

All API requests require an API key. Include your key in the Authorization header of each request.

Authorization Header
Authorization: Bearer YOUR_API_KEY

Installation

Install the official Dermalytics SDK for your preferred language to get started quickly.

JavaScript / TypeScript
npm install dermalytics

Or using yarn:

yarn add dermalytics

Or using pnpm:

pnpm add dermalytics
Python
pip install dermalytics

Or using pipenv:

pipenv install dermalytics

Or using conda:

conda install dermalytics

Get Ingredient Details

GET /v1/ingredients/:name

Retrieve comprehensive information about a specific ingredient including safety ratings, benefits, and scientific research.

JavaScript Example
import { Dermalytics } from 'dermalytics';

const client = new Dermalytics({
  apiKey: 'your_api_key_here'
});

const ingredient = await client.getIngredient('niacinamide');
console.log(ingredient);
{
  "name": "Niacinamide",
  "severity": "safe",
  "description": "A form of vitamin B3 that helps improve skin barrier function and reduce inflammation",
  "category": {
    "name": "Antioxidants",
    "slug": "antioxidants"
  },
  "condition_safeties": [
    {
      "condition": "pregnancy",
      "severity": "safe",
      "reason": "Generally considered safe during pregnancy"
    },
    {
      "condition": "sensitive_skin",
      "severity": "low_risk",
      "reason": "May cause mild irritation in very sensitive individuals"
    }
  ],
  "synonyms": ["Nicotinamide", "Vitamin B3", "Niacin"]
}

Try It Out

GET/v1/ingredients/niacinamide
*
Mode:Mock Data

Analyze Product

POST /v1/analyze

Analyze a complete product formulation and get safety status with ingredient details.

JavaScript Example
import { Dermalytics } from 'dermalytics';

const client = new Dermalytics({
  apiKey: 'your_api_key_here'
});

const analysis = await client.analyze([
  'Aqua',
  'Glycerin',
  'Niacinamide',
  'Salicylic Acid',
  'Hyaluronic Acid'
]);
console.log(analysis);
{
  "safety_status": "safe",
  "ingredients": [
    {
      "name": "Niacinamide",
      "severity": "safe",
      "category": "Antioxidants"
    },
    {
      "name": "Salicylic Acid",
      "severity": "low_risk",
      "category": "Exfoliants"
    },
    {
      "name": "Hyaluronic Acid",
      "severity": "safe",
      "category": "Humectants"
    }
  ],
  "warnings": [
    {
      "ingredient": "Salicylic Acid",
      "condition": "dry_skin",
      "severity": "low_risk",
      "reason": "May cause dryness if overused"
    }
  ]
}

Try It Out

POST/v1/analyze
*
Mode:Mock Data

AI IDE Integration

Configure your AI-powered IDE (Cursor, Claude, GitHub Copilot, etc.) with best practices for using the Dermalytics API. Copy configuration files to help AI assistants understand our API patterns and conventions.

AI IDE Configuration

Configuration files for AI-powered IDEs to help with Dermalytics API integration

.cursorrules

Cursor IDE rules for Dermalytics API integration

# Dermalytics API Integration Rules for Cursor

## API Client Usage
- Always use the official dermalytics SDK when available
- For JavaScript/TypeScript: `npm install dermalytics`
- For Python: `pip install dermalytics`
- Never hardcode API keys - use environment variables

## Error Handling
- Always wrap API calls in try-catch blocks
- Handle specific error types: AuthenticationError, NotFoundError, RateLimitError
- Implement retry logic with exponential backoff for rate limits
- Log errors appropriately for debugging

## Best Practices
- Use TypeScript types from the SDK for type safety
- Validate ingredient names before API calls
- Cache ingredient data when appropriate to reduce API calls
- Use async/await for all API operations
- Set appropriate timeouts (recommended: 10 seconds)

## Code Examples
```typescript
import { Dermalytics } from 'dermalytics';

const client = new Dermalytics({
  apiKey: process.env.DERMALYTICS_API_KEY
});

try {
  const ingredient = await client.getIngredient('niacinamide');
  console.log(ingredient);
} catch (error) {
  if (error instanceof NotFoundError) {
    console.error('Ingredient not found');
  }
}
```

Best Practices

Error Handling

  • • Always wrap API calls in try-catch blocks
  • • Handle specific error types: AuthenticationError, NotFoundError, RateLimitError
  • • Implement retry logic with exponential backoff for rate limits
  • • Log errors appropriately for debugging

Security

  • • Never hardcode API keys - use environment variables
  • • Use .env files for local development
  • • Rotate API keys regularly
  • • Monitor API usage and rate limits

Performance

  • • Cache ingredient data when appropriate to reduce API calls
  • • Set appropriate timeouts (recommended: 10 seconds)
  • • Use async/await for all API operations
  • • Validate ingredient names before API calls

Code Quality

  • • Use TypeScript types from the SDK for type safety
  • • Follow consistent error handling patterns
  • • Use the official SDKs when available
  • • Reference API documentation for latest updates

Want to See More?

Join our waitlist to get early access to the full API documentation, interactive playground, and exclusive launch pricing.

Disclaimer: Information provided is for educational purposes only and is not a substitute for professional medical or dermatological advice. Always consult a healthcare provider before using skincare products, especially if you have allergies or medical conditions. Learn more