Skip to main content

Authentication

Wryn uses API key authentication for all requests to our API.

API Keys

Get Early Access

To get started:

  1. Visit wryn.ai
  2. Fill out the early access request form
  3. You'll receive an invitation email when your access is approved
  4. Follow the setup instructions in your invitation
Coming Soon

Public signup will be available soon. Join our early access program to get started today!

API Key Format

wryn_live_1234567890abcdefghijklmnopqrstuvwxyz
  • wryn_ - Prefix for all Wryn keys
  • live_ or test_ - Environment identifier
  • 40-character alphanumeric string

Authentication Methods

Include your API key in the Authorization header:

curl -X POST https://api.wryn.io/v1/scrape \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'

Test vs Live Keys

Test Keys

  • Prefix: wryn_test_
  • Limited to test mode features
  • Separate quota from live keys
  • Use for development and testing

Live Keys

  • Prefix: wryn_live_
  • Production environment
  • Billed according to your plan
  • Use in production applications

Security Best Practices

Never Expose Keys

Don't:

  • Commit keys to version control
  • Share keys in public channels
  • Include keys in client-side code
  • Log keys in application logs

Do:

  • Store in environment variables
  • Use secret management services
  • Rotate keys regularly
  • Use separate keys per environment

Environment Variables

# .env file
WRYN_API_KEY=wryn_live_your_key_here

# .gitignore
.env
import os

api_key = os.environ['WRYN_API_KEY']

Error Responses

401 Unauthorized

Invalid or missing API key:

{
"error": {
"code": "unauthorized",
"message": "Invalid API key"
}
}

Solutions:

  • Check API key is correct
  • Verify key is not revoked
  • Ensure proper header format

403 Forbidden

IP not whitelisted or account suspended:

{
"error": {
"code": "forbidden",
"message": "IP address not whitelisted"
}
}

Solutions:

  • Add IP to whitelist
  • Contact support if account suspended

429 Too Many Requests

Rate limit exceeded:

{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Retry after 60 seconds"
}
}

Solutions:

  • Wait and retry
  • Implement exponential backoff
  • Upgrade plan for higher limits

Next Steps