TypeScript Client
Official TypeScript SDK for Carapis API with modern ES6+ features and full type safety.
📦 Download​
📦 Download TypeScript Client
Extract the archive and include the generated client files in your TypeScript/JavaScript project.
Quick Start​
import { createClient } from './encar_public/client';
import { dataEncarApiVehiclesWebList, dataEncarApiVehiclesWebRetrieve } from './encar_public';
// Create API client
const api = createClient({
baseUrl: 'https://api2.carapis.com',
headers: {
'X-API-Key': 'your-api-key',
'Content-Type': 'application/json',
},
});
// List vehicles
const list = await dataEncarApiVehiclesWebList({ client: api, query: { page: 1, page_size: 10 } });
// Get vehicle details
const detail = await dataEncarApiVehiclesWebRetrieve({ client: api, path: { listing_id: '12345' } });
console.log(list.data.results);
console.log(detail.data);
API Examples​
List Vehicles​
import { createClient } from './encar_public/client';
import { dataEncarApiVehiclesWebList } from './encar_public';
const apiKey = process.env.CARAPIS_API_KEY || 'your-api-key';
const api = createClient({
baseUrl: 'https://api2.carapis.com',
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json',
},
});
const response = await dataEncarApiVehiclesWebList({
client: api,
query: {
page_size: 10,
page: 1,
ordering: '-created_at',
},
});
console.log('Total vehicles:', response.data.count);
response.data.results.forEach((v) => {
console.log(`${v.brand?.name} ${v.vehicle_model?.name} (${v.year})`);
});
Get Single Vehicle​
import { createClient } from './encar_public/client';
import { dataEncarApiVehiclesWebRetrieve } from './encar_public';
const apiKey = process.env.CARAPIS_API_KEY || 'your-api-key';
const api = createClient({
baseUrl: 'https://api2.carapis.com',
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json',
},
});
const vehicle = await dataEncarApiVehiclesWebRetrieve({
client: api,
path: { listing_id: '12345' },
});
console.log(vehicle.data);
Error Handling​
import { createClient } from './encar_public/client';
import { dataEncarApiVehiclesWebList } from './encar_public';
const apiKey = process.env.CARAPIS_API_KEY || 'your-api-key';
const api = createClient({
baseUrl: 'https://api2.carapis.com',
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json',
},
});
try {
const response = await dataEncarApiVehiclesWebList({
client: api,
query: { page_size: 5 },
});
console.log(response.data.results);
} catch (error) {
console.error('API error:', error);
}
React Integration​
Basic React Hook​
import { useEffect, useState } from 'react';
import { createClient } from './encar_public/client';
import { dataEncarApiVehiclesWebList } from './encar_public';
const apiKey = process.env.CARAPIS_API_KEY || 'your-api-key';
const api = createClient({
baseUrl: 'https://api2.carapis.com',
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json',
},
});
function VehicleList() {
const [vehicles, setVehicles] = useState([]);
const [loading, setLoading] = useState(true);
useEffect(() => {
dataEncarApiVehiclesWebList({
client: api,
query: { page_size: 10, page: 1 },
})
.then((response) => setVehicles(response.data.results))
.catch(console.error)
.finally(() => setLoading(false));
}, []);
if (loading) return <div>Loading...</div>;
return (
<ul>
{vehicles.map((v) => (
<li key={v.listing_id}>
{v.brand?.name} {v.vehicle_model?.name} ({v.year})
</li>
))}
</ul>
);
}
Features​
- ✅ Full TypeScript support
- ✅ Browser & Node.js compatible
- ✅ Modern ES6+ syntax
- ✅ Auto-generated from OpenAPI
- ✅ Zero-dependency design
- ✅ Type-safe API calls
Environment Variables​
# .env.local
CARAPIS_API_KEY=your-api-key-here
import { createClient } from './encar_public/client';
const apiKey = process.env.CARAPIS_API_KEY;
if (!apiKey) {
throw new Error('CARAPIS_API_KEY is required');
}
const api = createClient({
baseUrl: 'https://api2.carapis.com',
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json',
},
});
Support​
- Documentation: API Reference
- GitHub: carapis-typescript-client
- Issues: GitHub Issues
License​
Part of the Carapis ecosystem. See LICENSE for details.