BigScale API
Real-time memory extraction for AI conversations at scale. Process millions of conversations, extract actionable signals, and serve highly personalized experiences—instantly.
Try Interactive Demo →Overview
BigScale enables you to ingest AI conversations, automatically extract user signals (interests, intent, preferences), store memories, and query rich user profiles—all in real-time at scale.
How it works
Three simple steps from raw conversations to actionable intelligence:
Ingest
Send messages as they happen. Single or batch.
Extract
AI extracts interests, intent, preferences, and memories.
Query
Get signals, profiles, or summaries at any token length.
Key Features
Real-time Signals
Extract interests, current intent, and preferences from every message as it happens. No batch processing needed.
Flexible Summaries
Request summaries at any token length—from 10-token taglines to 500k full context windows. One API, infinite flexibility.
Scoped Memory
Query by user, conversation, or last K turns. Control exactly what context you need for each use case.
Quick Start
Get started in two API calls: ingest a conversation, then query the user.
1. Ingest a conversation
2. Query user signals
Ingest Endpoints
Ingest a single conversation with one or more messages. Signals are extracted from user messages in real-time. Use this for streaming or real-time ingestion.
| Parameter | Type | Description |
|---|---|---|
| userId required | string | Your unique user identifier |
| conversationId required | string | Conversation/session identifier |
| messages required | array | Array of { role: "user"|"assistant", content: string } |
Bulk ingest hundreds or thousands of conversations at once. By default runs async and returns a job ID to poll for completion. Extracts signals, memories, and generates titles in parallel.
| Parameter | Type | Description |
|---|---|---|
| conversations required | array | Array of { userId, conversationId, messages[] } |
| sync | boolean | If true, waits for completion (default: false) |
Poll for batch ingest job status. Returns progress and results when complete.
| Parameter | Type | Description |
|---|---|---|
| jobId required | string | Job ID returned from batch ingest |
Query Endpoints
Get user signals and/or an AI-generated summary at any token length. The summary is generated on-demand based on the user's conversation history and memories. Use for personalization, ad targeting, or context injection.
| Parameter | Type | Description |
|---|---|---|
| maxTokens | number | Summary length (10 to 500,000). Default: 500 |
| scope | string | user | conversation:id | last_k_turns:N |
| signals | boolean | Include structured signals. Default: true |
| summary | boolean | Include text summary. Default: true |
Fast signals-only query. Returns cached structured signals without generating a summary. Use when you only need interests, intent, and preferences—much faster than the full query.
Batch query for multiple users—get signals and summaries for many users at once. Ideal for batch ad targeting or bulk personalization. Returns a job ID for async processing.
| Parameter | Type | Description |
|---|---|---|
| userIds required | string[] | Array of user IDs to query |
| maxTokens | number | Summary length for all users |
| scope | string | Scope to apply for all users |
Profile Endpoints
Get a clean user profile optimized for ad targeting. Returns structured interests, intent, preferences, and recent topics without generating a summary.
Get profiles for multiple users in one request. Synchronous and fast—limited to 100 users per request. Perfect for real-time batch lookups.
| Parameter | Type | Description |
|---|---|---|
| userIds required | string[] | Array of user IDs (max 100) |
Get a comprehensive rich profile derived from all memories and signals. Includes AI-generated bio, personality traits, goals, interests, memory highlights, and recent activity summary.
| Parameter | Type | Description |
|---|---|---|
| refresh | boolean | Force regeneration of profile (default: false) |
Memory Endpoints
Get all extracted memories for a user. Memories are discrete facts, preferences, or experiences extracted from conversations. Can filter by category.
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by memory category (e.g., "preference", "fact", "goal") |
Get memories extracted from a specific conversation. Useful for reviewing what was learned from a particular interaction.
Delete a specific memory. Use for user-requested data deletion or memory correction.
Configuration
Get the current memory scope configuration. The memory scope defines what information gets extracted as memories during conversation ingest.
Update the memory scope configuration. Customize the extraction prompt and categories to match your use case.
| Parameter | Type | Description |
|---|---|---|
| name | string | Scope name identifier |
| prompt required | string | The extraction prompt |
| categories | string[] | Memory categories to extract |
Reset memory scope to the default configuration.
Utility Endpoints
Get system statistics including total conversations, messages, and memories.
Get all conversations for a user. Returns conversation metadata including title, topic, mood, and message count.
Get a full conversation with all messages.
Check any batch job status (ingest or query batch jobs). Alias for /ingest/job/:jobId.
Get sample conversations for testing batch ingest. Returns pre-formatted data ready for the /ingest/batch endpoint.