Skip to main content

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:

  1. Register on Barikoi Developer Dashboard
  2. Verify with your phone number
  3. 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 install 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",
});