Skip to main content

Billing & Limits

Understand Knowhere API's pricing model, usage limits, and rate limiting.

Pricing Model

Knowhere API uses a credits-based pricing model. You purchase credits and consume them based on your usage.

Credit Consumption

OperationCredit Cost
Parse 1 page (base model)1 credit
Parse 1 page (advanced model)3 credits
OCR processing (per page)+1 credit

Example: A 50-page PDF with the base model costs 50 credits. With OCR enabled, it costs 100 credits.

Subscription Tiers

PlanMonthly PriceIncluded CreditsPer-Credit RateRate Limit
Free$0100-60 RPM
Pro$495,000$0.0098120 RPM
Ultra$19925,000$0.008300 RPM

Free Tier

  • 100 free credits per month
  • Automatically refreshes on the 1st of each month
  • Perfect for testing and prototyping
  • No credit card required

Pay-as-you-go

Purchase additional credit packs anytime:

PackPriceCreditsPer-Credit RateSavings
Starter$101,000$0.010-
Growth$505,500$0.00910%
Scale$20025,000$0.00820%

Rate Limits

To ensure fair usage and service stability, API requests are rate-limited.

Default Limits

Limit TypeValue
Requests per minute (RPM)60
Concurrent jobs10
Max file size100 MB

Rate Limit Headers

Every API response includes rate limit information:

RateLimit-Limit: 60
RateLimit-Remaining: 45
RateLimit-Reset: 1672531260
HeaderDescription
RateLimit-LimitMaximum requests per window
RateLimit-RemainingRequests remaining in current window
RateLimit-ResetUnix timestamp when the window resets

Handling Rate Limits

When you exceed the limit, you'll receive a 429 Too Many Requests response:

{
"success": false,
"error": {
"code": "RESOURCE_EXHAUSTED",
"message": "Rate limit exceeded. Please retry after 15 seconds.",
"request_id": "req_abc123",
"details": {
"retry_after": 15
}
}
}

Best practice: Check the Retry-After header and wait before retrying.

import time
import requests

response = requests.get(url, headers=headers)

if response.status_code == 429:
retry_after = int(response.headers.get("Retry-After", 60))
time.sleep(retry_after)
response = requests.get(url, headers=headers) # Retry

File Size Limits

File TypeMax Size
PDF100 MB
DOCX50 MB
XLSX50 MB
PPTX100 MB
Need higher limits?

Contact team@knowhereto.ai for enterprise pricing with custom limits.

Usage Monitoring

Dashboard

View your usage in the Knowhere Dashboard:

  • Current credit balance
  • Usage history and trends
  • Billing history
  • Invoice downloads

Low Balance Alerts

Set up alerts to be notified when your credits are running low:

  1. Go to Dashboard > Settings > Notifications
  2. Enable "Low Balance Alert"
  3. Set your threshold (e.g., 100 credits)

Billing FAQ

When are credits deducted?

Credits are deducted when a job completes successfully. Failed jobs do not consume credits.

Do unused credits roll over?

  • Free tier credits: Do not roll over
  • Paid credits: Never expire

Can I get a refund?

Contact team@knowhereto.ai for refund requests within 14 days of purchase.

How do I upgrade my plan?

  1. Go to Dashboard > Billing
  2. Click "Upgrade Plan"
  3. Select your new plan
  4. Complete payment through Stripe

What payment methods are accepted?

We accept all major credit cards through Stripe:

  • Visa
  • Mastercard
  • American Express
  • And more

Enterprise

Need custom limits, SLAs, or dedicated support?

Enterprise features include:

  • Custom rate limits
  • Priority processing
  • Dedicated support channel
  • Custom SLA agreements
  • Volume discounts
  • Invoice billing

Contact team@knowhereto.ai to discuss your needs.