API Documentation
Everything you need to integrate InterviewBible API
Authentication
All API requests require authentication using your API key. You can find your API key in the dashboard.
Include your API key in the request header:
X-API-Key: your_api_key_here
Or use Bearer token authentication:
Authorization: Bearer your_api_key_here
Base URL
https://api.interviewbible.com/api/v1
Categories
GET
/categories
List all available categories (tech stacks).
Response
{
"categories": [
{
"id": 1,
"name": "Ruby on Rails",
"slug": "ruby-on-rails",
"description": "Ruby on Rails framework interview questions",
"icon": "ð",
"questions_count": 150
}
]
}
Available Categories
ðïļ
alpinejs
ð
aurelia
ðĶī
backbonejs
ðĶ
denojs
ðđ
emberjs
âĄ
expressjs
ðĨ
knockoutjs
âïļ
meteorjs
âïļ
mithril
ðĶ
npm
ð·
polymer
ðŊ
riotjs
ðĨ
svelte
ð
ruby-on-rails
ð
python
ðĻ
javascript
âïļ
reactjs
ðĪ
ai-ml
ð
data-analysis
ð
°ïļ
angular
ð
vuejs
ðĒ
nodejs
ðïļ
sql-databases
ð§
devops
ðïļ
system-design
ð
php
â
java
ð·
aspnet
ðĩ
typescript
ðģ
docker-kubernetes
âïļ
aws
ð
git
ðĢïļ
soft-skills
Questions
GET
/questions/random
Get a random set of interview questions.
Parameters
| Parameter | Type | Description |
|---|---|---|
category |
string | Filter by category slug (e.g., "ruby-on-rails") |
difficulty |
string | Filter by difficulty: easy, medium, hard, expert |
count |
integer | Number of questions (max depends on your plan) |
Example Request
curl -X GET "https://api.interviewbible.com/api/v1/questions/random?category=ruby-on-rails&difficulty=medium&count=10" \
-H "X-API-Key: your_api_key"
Response
{
"questions": [
{
"id": 42,
"title": "What is the N+1 query problem?",
"content": "Explain the N+1 query problem in Rails...",
"answer": "The N+1 query problem occurs when...",
"difficulty": "medium",
"difficulty_label": "Medium",
"category": {
"id": 1,
"name": "Ruby on Rails",
"slug": "ruby-on-rails"
},
"tags": ["performance", "active record", "queries"]
}
],
"meta": {
"count": 10,
"requested_count": 10,
"category": "ruby-on-rails",
"difficulty": "medium"
}
}
Error Handling
The API uses standard HTTP status codes to indicate success or failure.
| Status Code | Description |
|---|---|
200 |
Success |
401 |
Unauthorized - Invalid or missing API key |
402 |
Payment Required - No active subscription |
404 |
Not Found - Resource doesn't exist |
429 |
Too Many Requests - Rate limit exceeded |
Rate Limits
Rate limits depend on your subscription plan:
| Plan | Requests/Month | Questions/Request |
|---|---|---|
| Free Trial | 10 | 10 |
| Starter | 300 | 25 |
| Pro | 1,000 | 50 |
| Enterprise | 10,000 | 100 |
Rate limit headers are included in every response:
X-RateLimit-Limit- Your plan's limitX-RateLimit-Remaining- Requests remainingX-RateLimit-Reset- When the limit resets