Quick Start
Last updated:
Get from zero to a working search API in under 5 minutes.
1. Create an Account
Sign up at app.lumosearch.com with email/password or Google/GitHub OAuth. You start on the free plan (500 searches/mo, 1 project, 1 collection).
2. Create a Project
A project groups related collections and API keys. Navigate to Projects and create one.
3. Create a Collection
A collection defines your search schema — which fields to index and their weights. For example, title:3, description:1 means the title field is 3x more important than description.
Optionally enable semantic reranking to improve results for conceptual queries.
4. Upload Documents
Upload a JSON array of documents. Each document should have the fields you defined in the schema. Indexing runs asynchronously — the collection status will change from "indexing" to "ready" in a few seconds.
[
{ "id": "1", "title": "Getting Started", "description": "Learn the basics" },
{ "id": "2", "title": "API Reference", "description": "Full endpoint docs" },
{ "id": "3", "title": "Search Guide", "description": "Advanced search tips" }
]5. Create an API Key
Create a public search key from the collection detail page. This key is scoped to that collection and can only perform search and autocomplete — safe to use in frontend code.
Email notifications: For large uploads (1,000+ documents) or collections with semantic search enabled, you'll receive an email at your account address when indexing completes or fails, with a direct link to the collection.
API keys are shown once at creation. Copy and store them securely.
6. Search
curl -X POST https://api.lumosearch.com/v1/search \
-H "Content-Type: application/json" \
-H "Authorization: Bearer pk_search_..." \
-d '{
"collection": "your-collection-slug",
"query": "getting started",
"limit": 5
}'Or use the SDK:
import { LumoCloud } from '@lumosearch/cloud'
const search = new LumoCloud({
publicKey: 'pk_search_...',
collection: 'your-collection-slug',
endpoint: 'https://api.lumosearch.com'
})
const { results } = await search.search('getting started')
console.log(results)Key Concepts
| Concept | Description |
|---|---|
| Project | Groups collections and admin keys. One per app or environment. |
| Collection | A searchable dataset with a schema. Like a table or index. |
| Admin Key | sk_admin_... — full project access. Use server-side only. |
| Search Key | pk_search_... — scoped to one collection. Safe for frontend. |
| Semantic | Optional. Adds Bedrock Titan embeddings for hybrid lexical + semantic search. |