SearchJetEngine
FeaturesIntegrationsPricingDocsVector Demo ✨Log InSign Up Free
FeaturesIntegrationsPricingDocsVector Demo ✨
Log InSign Up Free
Docs

API Reference

WebhooksRate Limits & QuotasSearch API Deep DiveSearchJet API DocumentationAPI Endpoints ReferenceError HandlingSDK ReferenceAPI Key Setup

Advanced Features

Index Management APIHow it Works: Laravel Search
  1. Home
  2. Docs
  3. API Reference
  4. SDK Reference

SDK Reference

SDK Reference

Official client libraries for integrating SearchJet Engine into your application. Each SDK handles authentication, request signing, error handling, and retries automatically.


JavaScript / TypeScript SDK

Installation

npm install searchjet-connect

Initialization

import SearchJet from 'searchjet-connect';

const client = new SearchJet({
  apiKey: 'sj_prv_xxxxxxxxxxxxxxxx'
});

Configuration Options

Option Type Required Description
apiKey string Yes Your SearchJet API key
baseUrl string No Custom base URL (default: https://app.searchjetengine.com)
timeout number No Request timeout in ms (default: 10000)
retries number No Auto-retry count on failure (default: 3)

Search

const results = await client.search('react tutorial', {
  limit: 20,
  sort: 'relevance'
});

console.log(results.results.hits);  // Array of matching documents
console.log(results.results.estimatedTotalHits);  // Total number of matches

Indexing

// Bulk index multiple documents
await client.indexBulk([
  { id: 'doc_001', title: 'Getting Started', content: '...', url: '/blog/start' },
  { id: 'doc_002', title: 'Advanced Topics', content: '...', url: '/blog/advanced' }
]);

// Delete a document
await client.indexDestroy('doc_001');

Client Info

const info = await client.getClientInfo();
console.log(info.meilisearch_host);
console.log(info.plan);

Error Handling

try {
  const results = await client.search('test');
} catch (error) {
  console.error(error.code);     // 'validation_failed'
  console.error(error.message);  // 'The q parameter is required.'
  console.error(error.status);   // 400
}

Python SDK

Installation

pip install searchjet-python

Client Setup

from searchjet import SearchJetClient

client = SearchJetClient(
    api_key="sj_prv_xxxxxxxxxxxxxxxx"
)

Configuration Options

Parameter Type Required Default Description
api_key str Yes — Your API key
base_url str No https://app.searchjetengine.com API base URL
timeout float No 10.0 Request timeout in seconds
max_retries int No 3 Retry attempts on failure

Search

results = client.search(
    query="react tutorial",
    limit=20
)

print(results["results"]["hits"])  # List of matching documents
print(results["results"]["estimatedTotalHits"])  # Total matches

Indexing

# Bulk index
client.index_bulk([
    {"id": "doc_001", "title": "Getting Started", "content": "...", "url": "/blog/start"},
    {"id": "doc_002", "title": "Advanced Topics", "content": "...", "url": "/blog/advanced"}
])

# Delete a document
client.index_destroy("doc_001")

Client Info

info = client.get_client_info()
print(info["meilisearch_host"])
print(info["plan"])

Error Handling

from searchjet.exceptions import (
    SearchJetError,
    ValidationError,
    UnauthorizedError,
    RateLimitedError
)

try:
    results = client.search("test")
except ValidationError as e:
    print(f"Invalid request: {e.message}")
except UnauthorizedError:
    print("Check your API key")
except RateLimitedError as e:
    print(f"Rate limited, retry after {e.retry_after}s")
except SearchJetError as e:
    print(f"SearchJet error: {e}")

Using with httpx Directly

import httpx

# The SDK uses httpx internally, but you can also make raw requests
response = httpx.get(
    "https://app.searchjetengine.com/v1/search",
    params={"q": "react", "limit": 10},
    headers={"Authorization": "Bearer sj_prv_xxxxxxxxxxxxxxxx"}
)
data = response.json()

PHP / Laravel SDK

Installation

composer require searchjet/laravel

Service Provider (Auto-registered)

The package auto-discovers the service provider. Publish the config:

php artisan vendor:publish --provider="SearchJet\SearchJetServiceProvider" --tag="config"

Configuration

// config/searchjet.php
return [
    'api_key' => env('SEARCHJET_API_KEY'),
    'base_url' => env('SEARCHJET_BASE_URL', 'https://app.searchjetengine.com'),
    'timeout' => env('SEARCHJET_TIMEOUT', 10),
];

Set in .env:

SEARCHJET_API_KEY=sj_prv_xxxxxxxxxxxxxxxx

Facade Usage

use SearchJet\Facades\SearchJet;

// Search
$results = SearchJet::search('react tutorial', [
    'limit' => 20
]);

// Bulk index
SearchJet::indexBulk([
    ['id' => 'doc_001', 'title' => 'Getting Started', 'content' => '...', 'url' => '/blog/start'],
    ['id' => 'doc_002', 'title' => 'Advanced Topics', 'content' => '...', 'url' => '/blog/advanced']
]);

// Delete a document
SearchJet::indexDestroy('doc_001');

Error Handling

use SearchJet\Facades\SearchJet;
use SearchJet\Exceptions\SearchJetException;
use SearchJet\Exceptions\ValidationException;
use SearchJet\Exceptions\RateLimitedException;

try {
    $results = SearchJet::search('test');
} catch (ValidationException $e) {
    Log::warning('SearchJet validation: ' . $e->getMessage());
} catch (RateLimitedException $e) {
    $retryAfter = $e->getRetryAfter();
    Log::info("Rate limited, retry after {$retryAfter}s");
} catch (SearchJetException $e) {
    Log::error('SearchJet error: ' . $e->getMessage());
}

HTTP Client (Guzzle)

The Laravel SDK uses Guzzle under the hood. You can also use it directly:

use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://app.searchjetengine.com',
    'headers' => [
        'Authorization' => 'Bearer ' . config('searchjet.api_key'),
        'Accept' => 'application/json'
    ]
]);

$response = $client->get('/v1/search', [
    'query' => ['q' => 'react', 'limit' => 10]
]);

$data = json_decode($response->getBody(), true);

WordPress Plugin

Installation

  1. Download the SearchJet plugin from the WordPress plugin directory
  2. Upload via Plugins > Add New > Upload Plugin
  3. Activate the plugin
  4. Navigate to Settings > SearchJet and enter your API key

Configuration

Setting Description
API Key Your SearchJet API key (public key for client-side search)
Search Page Page containing the search shortcode
Results Per Page Default results per page
Enable Autocomplete Show suggestions as users type

Using the Shortcode

// Basic search box
[searchjet_search]

// With placeholder text
[searchjet_search placeholder="Search articles..."]

// Search results page
[searchjet_results]

Using in Theme


     'Search...',
        'theme' => 'dark'
    ]); ?>


Quick Start Comparison

Platform Install Initialize Search
JavaScript npm i searchjet-connect new SearchJet({...}) client.search('query')
Python pip install searchjet-python SearchJetClient(...) client.search("query")
PHP/Laravel composer require searchjet/laravel config('searchjet.php') SearchJet::search('query')
WordPress Plugin upload Settings page [searchjet_search]

See Also

  • API Documentation — Full API reference
  • API Key Setup — Platform-specific authentication
  • Error Handling — Error codes and handling
PreviousError Handling
NextAPI Key Setup

On this page

JavaScript / TypeScript SDKPython SDKPHP / Laravel SDKWordPress PluginQuick Start ComparisonSee AlsoInstallationInitializationConfiguration OptionsSearchIndexingClient InfoError HandlingClient SetupUsing with httpx DirectlyService Provider (Auto-registered)ConfigurationFacade UsageHTTP Client (Guzzle)Using the ShortcodeUsing in Theme
SearchJet Engine

AI-powered search solution for WordPress, WooCommerce, and any platform. Boost your site search by 300% with instant results and advanced analytics.

Follow Us

Quick Links

  • Home
  • Features
  • Pricing
  • About Us
  • Blog
  • FAQ
  • WordPress AI Search
  • WooCommerce AI Search
  • Shopify AI Search
  • Laravel Integration
  • Multi-Store & Payments
  • Shifts
  • Loyalty

Legal & Privacy

  • Privacy Policy
  • Terms of Service
  • Cookie Settings
  • Service Level Agreement
  • Your Privacy Rights

Get in Touch

support@searchjetengine.com
Chat on WhatsApp
Contact

© 2026 SearchJet Engine. All rights reserved. | A Product of Dynamic Web Lab FZE LLC (4426361)

GDPR & CCPA Compliant