Getting Started
Get up and running with the dr.eamer.dev API in minutes. Reach 12 LLM providers and 17 data sources through a single unified interface.
Quick Start
Get Your API Key
Request an API key on the Request Access page or by emailing luke@lukesteuber.com. Keys are issued for legitimate use cases within 24 hours.
Make Your First Request
Use your API key in the header, as a Bearer token, or as a query parameter:
# Header authentication (recommended)
curl -X POST "https://api.dr.eamer.dev/v1/llm/chat" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "xai",
"model": "grok-3-mini-fast",
"messages": [{"role": "user", "content": "Hello!"}]
}'
Explore the API
Try different endpoints: chat with language models, search academic papers, analyze images, and more. See the full documentation for all available endpoints.
Authentication
All API requests require authentication. You can authenticate using any of these methods:
Header (Recommended)
curl -H "X-API-Key: YOUR_API_KEY" https://api.dr.eamer.dev/v1/...
Bearer Token
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.dr.eamer.dev/v1/...
Query Parameter
curl "https://api.dr.eamer.dev/v1/...?api_key=YOUR_API_KEY"
Security Note
Never expose your API key in client-side code or public repositories. Use environment variables and server-side requests to keep your key secure.
Rate Limits
To ensure fair usage and service stability, the API enforces rate limits per API key.
| Limit Type | Value | Reset |
|---|---|---|
| Daily Requests | 10,000 |
Midnight UTC |
| Requests per Minute | 100 |
Rolling window |
| Concurrent Requests | 10 |
n/a |
Response Headers
Rate limit information is included in response headers:
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9847
X-RateLimit-Reset: 1705363200
Need Higher Limits?
Contact luke@lukesteuber.com to discuss increased rate limits for high-volume use cases.
Common Examples
POSTChat with Claude
curl -X POST "https://api.dr.eamer.dev/v1/llm/chat" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "anthropic",
"model": "claude-opus-4-7",
"messages": [
{"role": "user", "content": "Explain quantum computing in simple terms"}
],
"max_tokens": 500
}'
GETSearch arXiv Papers
curl "https://api.dr.eamer.dev/v1/data/arxiv/search?query=machine+learning&max_results=5" \
-H "X-API-Key: YOUR_API_KEY"
POSTAnalyze an Image
curl -X POST "https://api.dr.eamer.dev/v1/llm/vision" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "xai",
"model": "grok-2-vision",
"image_url": "https://example.com/image.jpg",
"prompt": "Describe this image in detail"
}'
GETSearch English Corpus
curl "https://api.dr.eamer.dev/v1/corpus/search?query=serendipity&corpus=coca&limit=10" \
-H "X-API-Key: YOUR_API_KEY"
Error Handling
The API uses standard HTTP status codes and returns detailed error messages:
| Status Code | Meaning |
|---|---|
200 | Success |
400 | Bad Request: invalid parameters |
401 | Unauthorized: invalid or missing API key |
403 | Forbidden: key does not have access to this resource |
429 | Too Many Requests: rate limit exceeded |
500 | Internal Server Error |
Error Response Format
{
"error": {
"code": "rate_limit_exceeded",
"message": "Daily rate limit exceeded. Resets at midnight UTC.",
"retry_after": 3600
}
}
Clients & Libraries
You can use the API directly with any HTTP client. These resources can help you get started:
Python
Use the requests library, or the shared geepers-kernel package for direct integration.
View on PyPIRequest an API Key
API keys are provided free for personal projects, research, and educational use. Commercial applications may require a discussion.
API Key Request Form
This form will open your email client. Alternatively, email luke@lukesteuber.com directly with your request.
Support & Resources
Need Help?
For API support, bug reports, or feature requests, contact luke@lukesteuber.com, reach out on Bluesky (@lukesteuber.com), or open an issue on GitHub.
Useful Links
- Full API Reference: documentation
- Interactive Reference: try it live
- Code Snippets: 100+ examples
- GitHub: repositories
- PyPI Package: geepers-kernel