Fully Typed
Complete TypeScript types for all API endpoints with IntelliSense support and compile-time safety.
Fully Typed
Complete TypeScript types for all API endpoints with IntelliSense support and compile-time safety.
Auto-Generated
SDK automatically generated from the official iRacing API documentation for always up-to-date methods.
Smart Caching
Opt-in response caching through pluggable stores, with automatic expiration from iRacing’s presigned URL expiry.
Error Handling
Comprehensive error handling with specific error types for maintenance mode, rate limiting, and authentication.
import { IRacingDataClient } from 'iracing-data-client';
// Initialize the Data Clientconst iracing = new IRacingDataClient({ auth: { type: 'password-limited', clientId: process.env.IRACING_CLIENT_ID, clientSecret: process.env.IRACING_CLIENT_SECRET, username: process.env.IRACING_USERNAME, password: process.env.IRACING_PASSWORD, },});
// Get all tracksconst tracks = await iracing.track.get();console.log(`Found ${tracks.length} tracks`);
// Get member dataconst member = await iracing.member.get({ custIds: [123456] });The SDK provides access to all iRacing Data API endpoints through organized service classes:
Installation
Learn how to install and configure the Data Client in your project. Get Started →
Authentication
Set up authentication with your iRacing credentials. Learn More →
API Reference
Explore the complete API documentation for all services. Browse API →
Examples
See real-world examples of using the Data Client. View Examples →