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 limit
  • X-RateLimit-Remaining - Requests remaining
  • X-RateLimit-Reset - When the limit resets