API Comparison Guide: TypeSense vs Supafolio
Overview Comparison
| Feature |
TypeSense |
Supafolio |
| Type |
Open-source search engine |
Proprietary book metadata service |
| Cost Model |
Infrastructure costs only |
Per-record/usage pricing |
| Hosting |
Self-hosted required |
Fully managed service |
| Data Format |
JSON/JSONL |
ONIX + JSON |
| Performance |
Millisecond responses |
Variable response times |
| Scalability |
RAM-limited |
Cloud-based scaling |
| Setup Complexity |
High (devops required) |
Low (plug-and-play) |
| Privacy |
Full data control |
Vendor-managed data |
| Updates |
Manual version upgrades |
Automatic service updates |
Feature-by-Feature Comparison
Search & Discovery
| Feature |
TypeSense |
Supafolio |
| Text Search |
Configurable typo tolerance |
Industry-optimized ranking |
| Faceted Search |
Real-time faceting |
Pre-configured filters |
| Autocomplete |
Prefix/infix search |
Predictive search API |
| Bulk Operations |
Document import/export |
Multi-ISBN lookup |
| Vector Search |
Built-in semantic search |
Not available |
| Geo Search |
Location-based queries |
Geographic search |
Data Management
| Feature |
TypeSense |
Supafolio |
| Schema Control |
Custom field definitions |
ONIX-based structure |
| Data Import |
JSONL, CSV, JSON import |
ONIX file upload |
| Real-time Updates |
Manual reindexing |
Automatic daily sync |
| Validation |
Schema validation |
ONIX compliance |
| Data Enrichment |
Manual enrichment |
Built-in metadata features |
Publishing Industry
| Feature |
TypeSense |
Supafolio |
| Industry Focus |
General-purpose |
Book publishing specialized |
| Standards Support |
None |
ONIX 2.1/3.0 native |
| Business Rules |
Custom implementation |
Built-in pricing/rules |
| Retailer Integration |
Manual setup |
Pre-configured retailers |
| Multi-currency |
Custom implementation |
Built-in currency support |
| SEO Features |
Manual optimization |
Built-in SEO overrides |
Use Case Recommendations
Choose TypeSense When:
✅ Large Datasets (>100,000 books)
✅ High Search Volume (>1,000 queries/day)
✅ Custom Ranking Required
✅ Real-time Search Needed (<100ms response)
✅ Data Privacy Concerns
✅ Cost Predictability Important
✅ Technical Team Available
✅ Custom Schema Requirements
Choose Supafolio When:
✅ Small Publishers (<10,000 books)
✅ Limited Technical Resources
✅ Industry-Specific Features Needed
✅ Quick Setup Required
✅ Managed Service Preference
✅ ONIX Data Integration Required
✅ SEO/WCMS Integration Priority
✅ Minimal DevOps Overhead
Implementation Comparison
Setup Complexity
TypeSense Setup
# 1. Install TypeSense
curl -O- https://dl.typesense.org/gpu-server/linux-amd64.tar.gz
# 2. Extract and start server
tar -xvf typesense-server-linux-amd64.tar.gz
cd typesense-server-linux-amd64
./typesense-server --data-dir /path/to/data --api-key=your-key --listen-port=8108
# 3. Import book data
./typesense-server import-books.jsonl
# 4. Configure plugin (WordPress)
define('TYPESENSE_API', true);
// Set typesense_api_key, typesense_host, typesense_catalog in WordPress admin
Supafolio Setup
# 1. Install plugin (WordPress)
wp plugin install supapress
# 2. Configure API key (WordPress admin)
# Settings → Supapress → API Key: your-credential-here
# 3. Plugin is ready
Migration Considerations
Data Structure Mapping
| TypeSense Field |
Supafolio Field |
Notes |
title |
title |
Direct mapping |
authors[].contributor.name |
contributors[].contributor.name |
Array to array |
publicationDate |
date.date |
Timestamp to date object |
prices.USD.amount |
prices[].amount where locale=USD |
Object to array |
categories |
categories[].category.name |
Array to array mapping |
isbn13 |
isbn13 |
Direct mapping |
Response Format Transformation
TypeSense → Supafolio Mapping
function supapress_map_search_ts_data($results) {
$result = [];
foreach ($results["hits"] as $item) {
if (!isset($item['document'])) {
continue;
}
$result[] = (object) $item['document'];
}
return (object) [
"search" => $result
];
}
Performance Comparison
Response Time Analysis
| Operation |
TypeSense |
Supafolio |
| Simple Search |
5-50ms |
200-2000ms |
| Complex Filter |
10-100ms |
500-3000ms |
| Faceted Search |
20-150ms |
800-1500ms |
| Bulk Lookup |
50-200ms |
1000-5000ms |
| Autocomplete |
2-20ms |
100-500ms |
Throughput Analysis
| Metric |
TypeSense |
Supafolio |
| Concurrent Users |
10,000+ |
100-1,000+ |
| Queries/Second |
1,000+ |
100-500+ |
| Document Size |
1-2MB RAM per book |
N/A |
| Storage Efficiency |
RAM-based compression |
Cloud-based optimization |
Cost Analysis
TypeSense Cost Breakdown
Infrastructure:
- Server: $50-200/month (depends on specs)
- RAM: 64GB @ $800 = $51,200
- Bandwidth: 100GB @ $50 = $6,000
- DevOps: 0.25 FTE @ $80,000 = $20,000
Total Monthly: ~$77,200
Scaling:
- Additional nodes: $50-200 each
- Load balancer: $20-50/month
Total at 1M docs: ~$100,000/month initial + ~$20,000/month scaling
Supafolio Cost Structure
Per-Record Pricing:
- <10,000 books: Custom pricing
- 10,000-50,000: Standard tier pricing
- 50,000-100,000: Enterprise tier pricing
- 100,000+: Custom enterprise pricing
Estimated Monthly:
- 25,000 books: ~$2,000-5,000/month
- 100,000 books: ~$8,000-15,000/month
Decision Matrix
Quick Selection Guide
| Factor |
Weight |
Questions to Ask |
| Dataset Size |
30% |
How many books in catalog? |
| Search Volume |
25% |
What's your daily query load? |
| Response Time Requirement |
20% |
What's your acceptable search speed? |
| Technical Team |
15% |
Who will maintain the system? |
| Budget |
20% |
What's your monthly budget? |
| Privacy Needs |
10% |
Any data compliance requirements? |
Scoring Guide:
- 0-25 points: Supafolio recommended
- 26-50 points: Hybrid approach considered
- 51-75 points: TypeSense recommended
- 76-100 points: TypeSense strongly recommended
Generated: 2026-01-24
TypeSense Version: v29.0
Supafolio Version: v2.26.2