Pricing & Limits
Understand Knowhere API's pricing, usage limits, and rate limiting.
Pricing
$1.50 per 1,000 pages — that's it. No complex tiers, no hidden fees.
How It Works
| What You Pay | What You Get |
|---|---|
| $1.50 | 1,000 pages parsed |
Examples:
- 100-page PDF → $0.15
- 500-page document → $0.75
- 10,000 pages → $15.00
Pay-as-you-go
Purchase page credits anytime at $1.50 per 1,000 pages. No minimum, no commitment.
Rate Limits
To ensure fair usage and service stability, API requests are rate-limited.
Default Limits
| Limit Type | Value |
|---|---|
| Requests per minute (RPM) | 60 |
| Concurrent jobs | 10 |
| Max file size | 100 MB |
Rate Limit Headers
Every API response includes rate limit information:
RateLimit-Limit: 60
RateLimit-Remaining: 45
RateLimit-Reset: 1672531260
| Header | Description |
|---|---|
RateLimit-Limit | Maximum requests per window |
RateLimit-Remaining | Requests remaining in current window |
RateLimit-Reset | Unix 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.
- Python
- Node.js
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
let response = await fetch(url, { headers });
if (response.status === 429) {
const retryAfter = parseInt(response.headers.get('Retry-After') || '60');
await new Promise(r => setTimeout(r, retryAfter * 1000));
response = await fetch(url, { headers }); // Retry
}
File Size Limits
| File Type | Max Size |
|---|---|
| 100 MB | |
| DOCX | 50 MB |
| XLSX | 50 MB |
| PPTX | 100 MB |
Contact team@knowhereto.ai for enterprise pricing with custom limits.
Usage Monitoring
Dashboard
View your usage in the Knowhere Dashboard:
- Current page balance
- Usage history and trends
- Billing history
- Invoice downloads
Low Balance Alerts
Set up alerts to be notified when your page credits are running low:
- Go to Dashboard > Settings > Notifications
- Enable "Low Balance Alert"
- Set your threshold (e.g., 1,000 pages)
Billing FAQ
When am I charged?
Page credits are deducted when a job completes successfully. Failed jobs do not consume credits.
Do unused pages roll over?
Page credits expire 3 months after purchase.
Can I get a refund?
Contact team@knowhereto.ai for refund requests within 14 days of purchase.
How do I buy more credits?
- Sign in to the Knowhere Dashboard
- Go to Usage (Usage & Billing)
- Click your Credits badge in the top-right
- In the Buy Knowhere API Credit dialog, choose an amount (or Custom)
- Click Continue to Payment and complete checkout in Stripe
Purchased credits expire 3 months after purchase.
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.