1.0.3 • Published 8 months ago
@searcly/sdk v1.0.3
Searcly SDK
The official JavaScript SDK for Searcly's Visual Search API. This SDK provides a simple and intuitive way to integrate visual search capabilities into your applications.
Installation
npm install @searcly/sdk
# or
yarn add @searcly/sdkQuick Start
import SearclyClient from '@searcly/sdk';
// Initialize the client
const client = new SearclyClient({
apiKey: 'your_api_key_here'
});
// Search by image URL
const searchByUrl = async () => {
try {
const results = await client.searchByImage('https://example.com/image.jpg', {
limit: 10
});
console.log(results);
} catch (error) {
console.error('Search failed:', error);
}
};
// Search by image upload
const searchByUpload = async (imageFile) => {
try {
const results = await client.searchByImageUpload(imageFile, {
limit: 10
});
console.log(results);
} catch (error) {
console.error('Search failed:', error);
}
};
// Search similar products by ID
const searchSimilar = async () => {
try {
const results = await client.searchById('product_id_123', {
limit: 10
});
console.log(results);
} catch (error) {
console.error('Search failed:', error);
}
};Features
- Search by image URL
- Search by image upload (supports various image formats)
- Find similar products by ID
- Customizable search options (filters, limits, etc.)
- TypeScript support
- Comprehensive error handling
API Reference
Configuration
interface SearclyConfig {
apiKey: string;
baseUrl?: string; // Optional, defaults to https://api.searcly.com/v1
}Search Options
interface SearchOptions {
limit?: number; // Number of results to return
offset?: number; // Pagination offset
filters?: Record<string, any>; // Additional search filters
}Methods
searchByImage(imageUrl: string, options?: SearchOptions)
Search for similar products using an image URL.
searchByImageUpload(imageFile: Buffer | Blob, options?: SearchOptions)
Search for similar products by uploading an image file.
searchById(productId: string, options?: SearchOptions)
Find products similar to a given product ID.
Error Handling
The SDK throws descriptive errors that you can catch and handle in your application:
try {
const results = await client.searchByImage(imageUrl);
} catch (error) {
if (error.response) {
// API error response
console.error('API Error:', error.response.data);
} else if (error.request) {
// Network error
console.error('Network Error:', error.message);
} else {
// Other errors
console.error('Error:', error.message);
}
}Development
To contribute to the SDK:
- Clone the repository
- Install dependencies:
npm install - Make your changes
- Run tests:
npm test - Submit a pull request
License
MIT License - see LICENSE file for details.
Support
For support, email support@searcly.com or visit our documentation.