Installation and Setting Up
Barikoi APIs - TypeScript/JavaScript SDK
Barikoi APIs is the official TypeScript/JavaScript SDK for Barikoi Location Services. Built on auto-generated code from the official OpenAPI specification, it provides a modern, type-safe interface for accessing a wide range of location-based services including search, geocoding, reverse geocoding, routing, and more.
Features
- Auto-generated with @hey-api/openapi-ts - Always synchronized with OpenAPI specification
- 100% TypeScript Inference - Zero type imports required, full IntelliSense everywhere
- Built-in Validation - Automatic Zod schema validation with clear error messages
- Runtime API Key Management - Update API keys dynamically without reinitializing the client
- Modern Async/await - Promise-based API with configurable timeouts
- Custom Error Classes - ValidationError, BarikoiError, TimeoutError
- Multiple Build Formats - ESM, CJS, and TypeScript declarations
Get Barikoi API Key
To access Barikoi's API services, you need to:
- Register on Barikoi Developer Dashboard
- Verify with your phone number
- Claim your API key
Once registered, you'll be able to access the full suite of Barikoi API services.
Installation
Choose the installation method that best fits your project:
- npm
- yarn
- pnpm
- bun
npm install barikoiapis
yarn add barikoiapis
pnpm add barikoiapis
bun add barikoiapis
CDN (For vanilla JavaScript or quick prototyping)
Add the following script tags to your HTML file:
Using unpkg:
<script src="https://unpkg.com/barikoiapis@latest/dist/index.js"></script>
Using jsDelivr:
<script src="https://cdn.jsdelivr.net/npm/barikoiapis@latest/dist/index.min.js"></script>
Quick Start
import { createBarikoiClient } from "barikoiapis";
const barikoi = createBarikoiClient({
apiKey: "YOUR_BARIKOI_API_KEY",
});
// Full TypeScript inference - no type imports needed
const result = await barikoi.autocomplete({ q: "Dhaka" });
const places = result.data?.places || [];
Configuration Options
API Key Management
// Set during initialization
const barikoi = createBarikoiClient({
apiKey: "YOUR_BARIKOI_API_KEY",
});
// Update API key at runtime
barikoi.setApiKey("new-api-key");
// Get current API key
const currentKey = barikoi.getApiKey();
Timeout Configuration
// Set timeout during initialization (in milliseconds)(default: 30000)
const barikoi = createBarikoiClient({
apiKey: "YOUR_KEY",
timeout: 60000, // 60 seconds
});
Custom Base URL
const barikoi = createBarikoiClient({
apiKey: "YOUR_KEY",
baseUrl: "https://custom-endpoint.barikoi.xyz",
});