MemoryKit

Limits & Quotas

Plan limits, rate limits, and file size constraints for the MemoryKit API.

MemoryKit enforces limits at three levels: plan quotas (monthly/total), rate limits (per-minute), and request constraints (per-request).

Plan quotas

FreeStarterProEnterprise
Monthly queries1005,00050,000Unlimited
Total documents105005,000Unlimited
Storage50 MB500 MB5 GBUnlimited
Price$0Custom

Query quota resets on the 1st of each month (UTC). Document quota is a hard count across all memories in your project.

Check your usage

const status = await mk.status();
console.log(`Plan: ${status.plan}`);
console.log(`Queries: ${status.usage.queries_this_month}/${status.usage.queries_limit}`);
console.log(`Documents: ${status.usage.memories_total}/${status.usage.memories_limit}`);
console.log(`Storage: ${status.usage.storage_mb}/${status.usage.storage_limit_mb} MB`);

What happens when you hit a quota

  • Query quota exceeded: Query and chat message endpoints return 429 with a message. Search still works.
  • Document quota exceeded: Ingest, upload, and batch endpoints return 429. Existing memories remain searchable.
  • Storage exceeded: Upload and ingest return 429. Delete old memories to free space.

Rate limits

Per API key, per endpoint, 60-second sliding window.

EndpointRequests/min
POST /v1/memories/query30
GET /v1/memories/search60
POST /v1/memories100
POST /v1/memories/upload100
POST /v1/memories/batch100
POST /v1/chats60
POST /v1/chats/:id/messages30
POST /v1/chats/:id/messages/stream30
POST /v1/users/:id/events100
All GET endpoints300
All DELETE endpoints100
All PUT endpoints100

Rate limit headers

Every response includes rate limit headers:

HeaderDescription
X-RateLimit-LimitMax requests per window
X-RateLimit-RemainingRemaining requests in current window
X-RateLimit-ResetUnix timestamp when limit resets
Retry-AfterSeconds to wait (only on 429 responses)

The SDKs automatically retry on 429 with exponential backoff. You don't need to implement retry logic yourself.

Request constraints

File uploads

ConstraintLimit
Max file size100 MB
Supported formatsPDF, DOCX, XLSX, PPTX, TXT, CSV, Markdown, HTML, JSON

Batch ingest

ConstraintLimit
Max items per batch100

Pagination

ConstraintLimit
Max limit per page100 (memories, chats, users, events)
Max limit for chat messages200
Default limit20 (50 for chat messages)

Content limits

ConstraintLimit
Max content length (text ingest)No hard limit (processed in chunks)
Max tags per memory50
Max metadata size10 KB (JSON)

Webhook limits

ConstraintLimit
Delivery timeout10 seconds
Max retry attempts3
Max webhooks per project10

Need higher limits?

Enterprise plans include custom limits, dedicated support, and SLAs. Contact us to discuss your requirements.

Edit on GitHub

On this page