Store anything. Search everything.
An API for object storage with built-in semantic search. Two endpoints.
Store
import { Regrep } from 'regrep';
const rg = new Regrep();
await rg.store('products', {
name: 'Trail Runners',
description: 'Lightweight shoes for mountain terrain',
price: 129,
image: trailRunnerBuffer
});
// → stored, embedded, and indexed automaticallySearch
const { data } = await rg.search('products', 'comfortable hiking shoes');
// data[0]:
// {
// name: 'Trail Runners',
// description: 'Lightweight shoes for mountain terrain',
// price: 129,
// _score: 0.94,
// _url: 'https://store.regrep.dev/products/...'
// }Hybrid BM25 + vector search. Auto-embedding. Zero config.
Drop-in components
Add search and file upload to any React app in under a minute.
Search UI
import { SearchBox } from '@regrep/react';
function App() {
return (
<SearchBox
collection="products"
onSelect={(doc) => navigate(`/product/${doc.id}`)}
/>
);
}Upload UI
import { UploadZone } from '@regrep/react';
function Dashboard() {
return (
<UploadZone
collection="documents"
accept={['pdf', 'md', 'txt']}
onComplete={(doc) => toast(`Indexed: ${doc.name}`)}
/>
);
}Components handle embedding, indexing, and storage. You handle the UI.
The complete API
POST/v1/collections
POST/v1/collections/:name/documents
GET/v1/collections/:name/search?q=
DELETE/v1/collections/:name/documents/:id
DELETE/v1/collections/:name
Elasticsearch: 400+ endpoints. Algolia: 80. Regrep: 5.
Built for agents
One environment variable. MCP server included.
Setup
npm install regrep
# That's it. One env var:
export REGREP_API_KEY=rg_live_...MCP Server
{
"mcpServers": {
"regrep": {
"command": "npx",
"args": ["@regrep/mcp"]
}
}
}Works with Cursor, Claude Code, Windsurf, and any MCP-compatible agent.
Pricing
Per document stored. Searches are always unlimited.
Free10K documents · 50K searches/mo · 1 project$0
Starter100K documents · unlimited searches$29/mo
Pro(recommended)1M documents · unlimited searches · analytics$99/mo
Scale10M documents · unlimited searches · SLA$299/mo