Encar is the official TypeScript client parser for the Carapis Encar API, providing seamless programmatic access to real-time Korean used car data from Encar.com. With the encar
library parser, you can easily query, filter, and analyze vehicle listings, manufacturers, models, and more using TypeScript or JavaScript – all powered by the robust Encar API provided by Carapis.com.
This client parser includes type definitions for better developer experience and safety.
Explore a live catalog powered by this Carapis Encar API: Carapis Catalog
- Easy access and parsing of real-time Encar.com vehicle data via the Carapis Encar API client parser.
- Type-safe interaction with the Encar API using the parser
- List, filter, and retrieve detailed car listings using the Carapis Encar API parser features.
- Fetch manufacturer, model, and vehicle details programmatically (using slugs for catalog items)
- Supports advanced search queries for the Encar API using
axios
- Free tier available for testing the Encar API (up to 1,000 vehicles)
-
API Key (Optional): For full access to the Carapis Encar API, an API key is recommended. Get yours at Carapis.com Pricing.
If an API key is not provided, the client parser will operate in Free Tier mode, limited to accessing the latest 1,000 vehicles. Retrieve your API key from a secure location, such as environment variables, if you use one.
Initialize the client parser and make Encar API calls using async/await
.
import { CarapisClient, CarapisClientError } from 'encar';
// --- Option 1: Initialize with API Key (Recommended for full access) ---
const API_KEY = process.env.CARAPIS_API_KEY; // Or get from a secure source
const clientWithKey = new CarapisClient(API_KEY);
// --- Option 2: Initialize without API Key (Free Tier - Limited Access) ---
const clientFreeTier = new CarapisClient(); // No API key provided
// --- Proceed with Encar API calls using either client parser ---
// Example API call using the free tier client (needs to be in an async context):
// async function runFreeTier() {
// const vehicles = await clientFreeTier.listVehicles({ limit: 3 });
// // Process vehicles.results (limited to latest 1000)
// }
// runFreeTier();
Below are examples for querying the Encar API using this TypeScript client parser.
(Note: All client parser methods are async
and return Promises. Use await
inside an async
function or .then()
chaining.)
Retrieve a list of vehicles with filtering. Uses slugs for manufacturer/model group/model.
// Assuming 'client' is an initialized CarapisClient instance
const vehiclesResponse = await client.listVehicles({
limit: 5,
min_year: 2021,
fuel_type: 'gasoline',
manufacturer_slug: 'hyundai', // Filter by manufacturer slug
model_group_slug: 'sonata', // Filter by model group slug
max_mileage: 50000,
ordering: '-created_at'
});
// Process vehiclesResponse.results (array of vehicles)
// vehiclesResponse also contains count, page, pages, limit
Retrieve details for a specific vehicle by its vehicle_id
.
// Assuming 'client' is an initialized CarapisClient instance
const vehicleId = 38481829; // Replace with a valid ID
const vehicleDetails = await client.getVehicles({ vehicle_id: vehicleId });
// Process vehicleDetails (object with vehicle data)
Retrieve a list of vehicle manufacturers.
// Assuming 'client' is an initialized CarapisClient instance
const manufacturersResponse = await client.listCatalogManufacturers({ country: 'KR', limit: 10 });
// Process manufacturersResponse.results (array of manufacturers)
// manufacturersResponse also contains count, page, pages, limit
Retrieve details for a specific manufacturer by its slug
.
// Assuming 'client' is an initialized CarapisClient instance
const manufacturerSlug = 'hyundai'; // Example slug
const manufacturerInfo = await client.getCatalogManufacturers({ slug: manufacturerSlug });
// Process manufacturerInfo (object with manufacturer data)
Retrieve overall statistics about manufacturers.
// Assuming 'client' is an initialized CarapisClient instance
const mfrStats = await client.getCatalogManufacturersStats({});
// Process mfrStats (object with statistics)
Retrieve a list of model groups, filtered by manufacturer's slug
.
// Assuming 'client' is an initialized CarapisClient instance
const manufacturerSlugForGroups = 'hyundai'; // Example slug
const modelGroupsResponse = await client.listCatalogModelGroups({ manufacturer__slug: manufacturerSlugForGroups, search: 'Sonata', limit: 5 });
// Process modelGroupsResponse.results (array of model groups)
// modelGroupsResponse also contains count, page, pages, limit
Retrieve details for a specific model group by its slug
.
// Assuming 'client' is an initialized CarapisClient instance
const modelGroupSlug = 'sonata'; // Example slug
const modelGroupInfo = await client.getCatalogModelGroups({ slug: modelGroupSlug });
// Process modelGroupInfo (object with model group data)
Retrieve a list of specific vehicle models, filtered by model group's slug
.
// Assuming 'client' is an initialized CarapisClient instance
const modelGroupSlugForModels = 'sonata'; // Example slug
const modelsResponse = await client.listCatalogModels({ model_group__slug: modelGroupSlugForModels, search: 'DN8', limit: 5 });
// Process modelsResponse.results (array of models)
// modelsResponse also contains count, page, pages, limit
Retrieve details for a specific vehicle model by its slug
.
// Assuming 'client' is an initialized CarapisClient instance
const modelSlug = 'sonata-dn8'; // Example slug
const modelInfo = await client.getCatalogModels({ slug: modelSlug });
// Process modelInfo (object with model data)
Retrieve a list of dealers.
// Assuming 'client' is an initialized CarapisClient instance
const dealersResponse = await client.listBusinessDealers({ limit: 5, ordering: 'name' });
// Process dealersResponse.results (array of dealers)
// dealersResponse also contains count, page, pages, limit
Retrieve details for a specific dealer by their user_id
.
// Assuming 'client' is an initialized CarapisClient instance
const dealerUserId = 'A0123j'; // Replace with a valid dealer ID
const dealerInfo = await client.getBusinessDealers({ user_id: dealerUserId });
// Process dealerInfo (object with dealer data)
Retrieve a list of diagnosis centers.
// Assuming 'client' is an initialized CarapisClient instance
const centersResponse = await client.listBusinessDiagnosisCenters({ limit: 5 });
// Process centersResponse.results (array of centers)
// centersResponse also contains count, page, pages, limit
Retrieve details for a specific diagnosis center by its code
.
// Assuming 'client' is an initialized CarapisClient instance
const centerCode = 'dA17201'; // Replace with a valid center code
const centerInfo = await client.getBusinessDiagnosisCenters({ code: centerCode });
// Process centerInfo (object with center data)
Retrieve available enumeration values (like body types, colors, etc.).
// Assuming 'client' is an initialized CarapisClient instance
const vehicleEnums = await client.getVehiclesEnums({});
// Process vehicleEnums (object containing arrays of enum values, e.g., vehicleEnums.fuel_types)
Retrieve overall statistics about the vehicle listings.
// Assuming 'client' is an initialized CarapisClient instance
const vehicleStats = await client.getVehiclesStats({});
// Process vehicleStats (object with statistics)
Interact with the Carapis Encar API directly using curl
or other HTTP clients. This API acts as a powerful data source, parsed effectively by the TypeScript client parser.
Full Carapis Encar API Documentation: https://carapis.com/docs
Example curl
Requests for Carapis Encar API:
-
With API Key (Full Carapis Encar API Access):
# Query Carapis Encar API for vehicles curl -X 'GET' \ 'https://carapis.com/apix/encar/v2/vehicles/?limit=5&min_year=2021&manufacturer_slug=hyundai' \ -H 'accept: application/json' \ -H 'Authorization: ApiKey YOUR_API_KEY_UUID'
-
Without API Key (Free Tier Carapis Encar API Access - 1,000 Record Limit):
# Limited query to Carapis Encar API curl -X 'GET' \ 'https://carapis.com/apix/encar/v2/vehicles/?limit=5' \ -H 'accept: application/json'
See Carapis Pricing Plans for Carapis Encar API access tiers.
- Carapis.com - The provider of this Carapis Encar API.
- Encar.com - The primary source of the vehicle data.
- Website: https://carapis.com
- Telegram: t.me/markinmatrix
This project is licensed under the MIT License - see the LICENSE file for details.