Search API
API for searching providers, services, and filtering results
Overview
Search API is used for:
- Search providers by keyword
- Search services
- Filter by location, price, rating
- Get search suggestions
Endpoints
Search Providers
Search for providers
http
GET /api/rpc/search/providersParameters
| Name | Type | Description |
|---|---|---|
| q | string | Search query |
| category | string | Service category |
| location | string | Location |
| minPrice | number | Minimum price |
| maxPrice | number | Maximum price |
| minRating | number | Minimum rating |
| page | number | Page (default: 1) |
| limit | number | Items per page (default: 20) |
Response
json
{
"results": [
{
"id": "provider_123",
"name": "ABC Barbershop",
"category": "haircut",
"rating": 4.8,
"reviewCount": 120,
"priceRange": "200-500",
"location": "Bangkok"
}
],
"total": 50,
"page": 1,
"limit": 20
}Search Services
Search for services
http
GET /api/rpc/search/servicesSearch Suggestions
Get search suggestions
http
GET /api/rpc/search/suggestionsParameters
| Name | Type | Description |
|---|---|---|
| q | string | Search query (at least 2 characters) |
Response
json
[
"Men's Haircut",
"Women's Haircut",
"Hair Coloring",
"Manicure"
]Example Code
typescript
// Search providers
const results = await fetch(
'/api/rpc/search/providers?q=haircut&location=Bangkok&minRating=4',
{
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
},
);
// Get suggestions
const suggestions = await fetch(
'/api/rpc/search/suggestions?q=hai',
{
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
},
);