Package Exports
- @jacob-sdk/simulate-data
- @jacob-sdk/simulate-data/package.json
Readme
@jacob-sdk/simulate-data
TypeScript SDK for Jacob Data API - Generate mock/fake data using Faker.js for users, products, orders, and 80+ data types.
Installation
npm install @jacob-sdk/simulate-data
# or
pnpm add @jacob-sdk/simulate-data
# or
yarn add @jacob-sdk/simulate-dataStep 1: Create an API Key
Before using the SDK, create an API key:
curl -X POST https://jacob-data.onrender.com/api-keys \
-H "Content-Type: application/json" \
-d '{"description": "My API key"}'Response:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "sk_live_a3f2d9c8e1b4567890abcdef12345678",
"description": "My API key",
"createdAt": "2024-01-15T10:30:00.000Z"
}Step 2: Quick Start
import { JacobDataApiClient } from "@jacob-sdk/simulate-data";
const client = new JacobDataApiClient({
headers: {
"x-api-key": "sk_live_a3f2d9c8e1b4567890abcdef12345678"
}
});
// Generate custom fake data
const response = await client.fakeData.fakeControllerGenerate({
count: 5,
keys: ["id:uuid", "name:string", "email:email", "price:number"]
});
// Generate fake users
await client.fakeData.fakeControllerGenerateUsers({
count: 10,
keys: ["id:uuid", "firstName:firstName", "lastName:lastName", "email:email"]
});
// Generate fake products
await client.fakeData.fakeControllerGenerateProducts({
count: 20,
keys: ["id:uuid", "name:productName", "price:price", "description:paragraph"]
});Configuration
const client = new JacobDataApiClient({
// Custom base URL (optional)
baseUrl: "https://jacob-data.onrender.com",
// Request timeout in seconds (default: 60)
timeoutInSeconds: 30,
// Max retries on failure (default: 2)
maxRetries: 3,
// API Key (required)
headers: {
"x-api-key": process.env.JACOB_DATA_API_KEY
}
});Available Data Types
The SDK supports 80+ data generation methods via client.fakeData:
E-commerce
fakeControllerGenerateUsers()- User profilesfakeControllerGenerateProducts()- Product catalogfakeControllerGenerateOrders()- Order recordsfakeControllerGenerateCategories()- Product categoriesfakeControllerGenerateReviews()- Product reviewsfakeControllerGenerateCarts()- Shopping cartsfakeControllerGeneratePayments()- Payment transactionsfakeControllerGenerateCustomers()- Customer datafakeControllerGenerateInvoices()- Invoice records
Content & Social
fakeControllerGeneratePosts()- Blog/social postsfakeControllerGenerateComments()- CommentsfakeControllerGenerateArticles()- ArticlesfakeControllerGenerateTags()- Content tagsfakeControllerGenerateProfiles()- User profilesfakeControllerGenerateFollowers()- Follower relationshipsfakeControllerGenerateMessages()- MessagesfakeControllerGenerateNotifications()- Notifications
Education
fakeControllerGenerateCourses()- CoursesfakeControllerGenerateStudents()- StudentsfakeControllerGenerateTeachers()- TeachersfakeControllerGenerateEnrollments()- EnrollmentsfakeControllerGenerateLessons()- Lessons
Healthcare
fakeControllerGeneratePatients()- Patient recordsfakeControllerGenerateDoctors()- Doctor profilesfakeControllerGenerateAppointments()- AppointmentsfakeControllerGeneratePrescriptions()- Prescriptions
Real Estate
fakeControllerGenerateProperties()- PropertiesfakeControllerGenerateAgents()- Real estate agentsfakeControllerGenerateListings()- Property listings
HR & Business
fakeControllerGenerateEmployees()- EmployeesfakeControllerGenerateCompanies()- CompaniesfakeControllerGenerateJobs()- Job postingsfakeControllerGenerateCandidates()- Job candidatesfakeControllerGenerateInterviews()- InterviewsfakeControllerGenerateSalaries()- Salary datafakeControllerGenerateDepartments()- Departments
Finance
fakeControllerGenerateTransactions()- TransactionsfakeControllerGenerateAccounts()- Bank accountsfakeControllerGenerateWallets()- Digital walletsfakeControllerGenerateTransfers()- Money transfers
Travel & Events
fakeControllerGenerateBookings()- BookingsfakeControllerGenerateEvents()- EventsfakeControllerGenerateTickets()- TicketsfakeControllerGenerateVenues()- VenuesfakeControllerGenerateReservations()- ReservationsfakeControllerGenerateFlights()- FlightsfakeControllerGenerateHotels()- HotelsfakeControllerGenerateDestinations()- DestinationsfakeControllerGenerateTours()- ToursfakeControllerGenerateTravelers()- Travelers
Gaming
fakeControllerGenerateGames()- GamesfakeControllerGenerateGamers()- GamersfakeControllerGenerateScores()- Game scoresfakeControllerGenerateAchievements()- AchievementsfakeControllerGenerateLeaderboards()- Leaderboards
Sports
fakeControllerGenerateTeams()- Sports teamsfakeControllerGenerateMatches()- MatchesfakeControllerGenerateAthletes()- AthletesfakeControllerGenerateLeagues()- LeaguesfakeControllerGenerateStadiums()- Stadiums
Logistics
fakeControllerGenerateShipments()- ShipmentsfakeControllerGenerateWarehouses()- WarehousesfakeControllerGenerateDrivers()- DriversfakeControllerGenerateRoutes()- Delivery routes
Restaurant
fakeControllerGenerateMenus()- MenusfakeControllerGenerateDishes()- DishesfakeControllerGenerateRestaurants()- RestaurantsfakeControllerGenerateTables()- Table reservations
IoT & Sensors
fakeControllerGenerateDevices()- IoT devicesfakeControllerGenerateSensors()- SensorsfakeControllerGenerateReadings()- Sensor readingsfakeControllerGenerateAlerts()- AlertsfakeControllerGenerateGeolocations()- Geolocation data
Media & Publishing
fakeControllerGenerateNews()- News articlesfakeControllerGenerateAuthors()- AuthorsfakeControllerGeneratePublishers()- PublishersfakeControllerGenerateSubscriptions()- Subscriptions
Inventory
fakeControllerGenerateItems()- Inventory itemsfakeControllerGenerateStocks()- Stock levelsfakeControllerGenerateSuppliers()- SuppliersfakeControllerGeneratePurchases()- Purchase orders
Support
fakeControllerGenerateSupportTickets()- Support ticketsfakeControllerGenerateSupportAgents()- Support agentsfakeControllerGenerateResponses()- Ticket responsesfakeControllerGeneratePriorities()- Priority levels
Schema Keys Format
Define your data schema using fieldName:type format:
keys: [
"id:uuid", // UUID
"name:firstName", // First name
"email:email", // Email address
"age:number", // Random number
"bio:paragraph", // Paragraph text
"avatar:imageUrl", // Image URL
"createdAt:date" // Date
]Error Handling
import { JacobDataApiClient, BadRequestError } from "@jacob-sdk/simulate-data";
try {
await client.fakeData.fakeControllerGenerate({
count: 5,
keys: ["id:uuid"]
});
} catch (error) {
if (error instanceof BadRequestError) {
console.error("Invalid request:", error.message);
}
}Managing API Keys
// Create API key
const newKey = await client.apiKeys.apiKeysControllerCreate({
description: "My new key"
});
// List all API keys
const keys = await client.apiKeys.apiKeysControllerFindAll();
// Revoke an API key
await client.apiKeys.apiKeysControllerRevoke({ id: "key-id-here" });Health Check
// Check API health status
const health = await client.health.healthControllerCheck();Requirements
- Node.js >= 18.0.0
API Documentation
Full API documentation: https://jacob-data.onrender.com/api-docs
License
MIT