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​