API Documentation

Complete reference for the Inferaweb API. Base URL: https://api.inferaweb.com

Authentication

POST/auth/signup

Create a new account.

Auth: None

Parameters

NameTypeRequiredDescription
emailstringRequiredUser email address
passwordstringRequiredPassword (min 8 chars)
namestringRequiredDisplay name

Example Request

curl -X POST "https://api.inferaweb.com/auth/signup" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "password": "securepass", "name": "John"}'

Example Response

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer",
  "user": {
    "id": "usr_abc123",
    "email": "user@example.com",
    "name": "John",
    "is_verified": false,
    "created_at": "2025-01-01T00:00:00Z"
  }
}
POST/auth/login

Sign in to an existing account.

Auth: None

Parameters

NameTypeRequiredDescription
emailstringRequiredUser email address
passwordstringRequiredAccount password

Example Request

curl -X POST "https://api.inferaweb.com/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "password": "securepass"}'

Example Response

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer",
  "user": {
    "id": "usr_abc123",
    "email": "user@example.com",
    "name": "John",
    "is_verified": true,
    "created_at": "2025-01-01T00:00:00Z"
  }
}
GET/auth/me

Get the current authenticated user.

Auth: Bearer Token

Example Request

curl "https://api.inferaweb.com/auth/me" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "id": "usr_abc123",
  "email": "user@example.com",
  "name": "John",
  "is_verified": true,
  "created_at": "2025-01-01T00:00:00Z"
}

API Keys

GET/auth/api-keys

List all API keys for the authenticated user.

Auth: Bearer Token

Example Request

curl "https://api.inferaweb.com/auth/api-keys" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "api_keys": [
    {
      "id": "key_abc123",
      "name": "Production",
      "created_at": "2025-01-01T00:00:00Z"
    }
  ]
}
POST/auth/api-keys

Create a new API key. The key value is only returned once.

Auth: Bearer Token

Parameters

NameTypeRequiredDescription
namestringRequiredA name for the API key

Example Request

curl -X POST "https://api.inferaweb.com/auth/api-keys" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"name": "Production"}'

Example Response

{
  "id": "key_abc123",
  "name": "Production",
  "key": "iw_live_abc123...",
  "created_at": "2025-01-01T00:00:00Z"
}
DELETE/auth/api-keys/{key_id}

Delete an API key.

Auth: Bearer Token

Example Request

curl -X DELETE "https://api.inferaweb.com/auth/api-keys/key_abc123" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "message": "API key deleted successfully"
}

Extract

POST/v1/extract

Extract clean, structured content from one or more URLs.

Auth: Bearer Token or X-API-Key

Parameters

NameTypeRequiredDescription
urlsstring[]RequiredList of URLs to extract content from
include_imagesbooleanOptionalInclude images in extraction (default: false)

Example Request

curl -X POST "https://api.inferaweb.com/v1/extract" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"urls": ["https://example.com/article"]}'

Example Response

{
  "results": [
    {
      "url": "https://example.com/article",
      "title": "Article Title",
      "content": "Full extracted content...",
      "metadata": {
        "author": "John Doe",
        "published_date": "2025-01-01"
      }
    }
  ]
}

Crawl

POST/v1/crawl

Crawl a website starting from a URL with configurable depth and page limits.

Auth: Bearer Token or X-API-Key

Parameters

NameTypeRequiredDescription
urlstringRequiredStarting URL to crawl
max_depthintegerOptionalMax crawl depth (1-10, default: 3)
max_pagesintegerOptionalMax pages to crawl (1-500, default: 50)

Example Request

curl -X POST "https://api.inferaweb.com/v1/crawl" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"url": "https://example.com", "max_depth": 2, "max_pages": 20}'

Example Response

{
  "pages": [
    {
      "url": "https://example.com",
      "title": "Example Site",
      "content": "Page content...",
      "links": ["https://example.com/about", "https://example.com/blog"]
    }
  ],
  "total_pages": 15
}

Research

POST/v1/research

Deep research on any topic. Searches the web for your query, extracts content from all found URLs, and returns comprehensive results with full page content.

Auth: Bearer Token or X-API-Key

Parameters

NameTypeRequiredDescription
querystringRequiredThe research query to search for
max_resultsintegerOptionalMax search results to extract (1-20, default: 5)
include_imagesbooleanOptionalInclude images in extraction (default: false)

Example Request

curl -X POST "https://api.inferaweb.com/v1/research" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"query": "latest advances in quantum computing", "max_results": 5}'

Example Response

{
  "query": "latest advances in quantum computing",
  "results": [
    {
      "url": "https://example.com/quantum-article",
      "title": "Quantum Computing Breakthroughs in 2025",
      "content": "Full extracted page content...",
      "metadata": {
        "author": "Jane Smith",
        "published_date": "2025-06-15"
      }
    },
    {
      "url": "https://example.com/another-article",
      "title": "The State of Quantum Computing",
      "content": "Full extracted page content...",
      "metadata": {}
    }
  ],
  "total_results": 5
}

Rate Limits

GET/auth/stats/usage

Get your current usage statistics and limits.

Auth: Bearer Token

Example Request

curl "https://api.inferaweb.com/auth/stats/usage" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "search_count": 150,
  "search_limit": 1000,
  "tool_count": 500,
  "tool_limit": 5000,
  "period": "monthly"
}