Deep Populate is a REST API feature from API Maker that allows you to retrieve nested, related data from Oracle Database with a single API request. Instead of managing multiple calls or writing complex SQL JOINs, you receive all related records together as a hierarchical JSON response. This streamlines development, reduces network overhead, and simplifies data access.
API Maker’s Deep Populate lets you fetch complex, related Oracle data—such as customers, orders, order items, and products—in a single, optimized API call without writing lengthy SQL joins or multiple queries. You simply define relationships in a JSON format, and Deep Populate returns all the connected data in one secure, performance‑tuned response.
This approach dramatically reduces code complexity, boosts performance, and simplifies maintenance while working perfectly with Oracle’s advanced database features that are most relevant to API Maker integrations:
Enterprise‑grade reliability with ACID compliance
Oracle ensures all transactions are atomic, consistent, isolated, and durable—Deep Populate can safely operate within these guarantees, keeping your returned data accurate and consistent.
Learn more
Native JSON support for hierarchical data
Oracle natively stores and queries JSON documents, which fits perfectly with Deep Populate’s nested data model and allows clean integration of structured and semi‑structured data in one API call.
Discover JSON capabilities
Advanced indexing and query optimization
By leveraging Oracle’s indexing and optimizer features, Deep Populate queries can remain fast even when returning large, multi‑level relationships.
Optimize your queries
Connection pooling for efficient resource usage
Connection pooling reduces overhead and improves scalability when serving multiple Deep Populate requests simultaneously.
Read the guide
With API Maker, you can also combine Oracle data with MySQL, SQL Server, PostgreSQL, MongoDB, and other databases in one request, giving you faster development cycles, optimized app performance, and consistent security enforcement—all while minimizing manual SQL work.
Request:
{
"find": { "status": "active" },
"skip": 0,
"limit": 10,
"sort": "order_date",
"select": "order_id,order_date,total_amount,status",
"deep": [
{
"s_key": "customer_id",
"t_col": "customers",
"t_key": "customer_id",
"select": "customer_id,name,email,phone"
}
]
}
Response Sample:
{
"data": [
{
"order_id": 101,
"order_date": "2025-08-01",
"total_amount": 250.00,
"status": "shipped",
"customers": [
{
"customer_id": 10,
"name": "Alice Johnson",
"email": "alice@example.com",
"phone": "+1-555-0123"
}
]
}
]
}
Request:
{
"find": { "status": "active" },
"select": "customer_id,name,email",
"deep": [
{
"s_key": "customer_id",
"t_col": "orders",
"t_key": "customer_id",
"select": "order_id,order_date,total_amount",
"deep": [
{
"s_key": "order_id",
"t_col": "order_items",
"t_key": "order_id",
"select": "item_id,product_name,quantity,unit_price"
}
]
}
]
}
Response Sample:
{
"data": [
{
"customer_id": 10,
"name": "Alice Johnson",
"email": "alice@example.com",
"orders": [
{
"order_id": 101,
"order_date": "2025-08-01",
"total_amount": 250.00,
"order_items": [
{
"item_id": 1001,
"product_name": "Wireless Headphones",
"quantity": 1,
"unit_price": 199.99
}
]
}
]
}
]
}
Request:
{
"find": { "created_date": { "$gte": "2025-01-01" } },
"select": "customer_id,name,email",
"deep": [
{
"s_key": "customer_id",
"t_col": "orders",
"t_key": "customer_id",
"select": "order_id,total_amount"
},
{
"s_key": "customer_id",
"t_col": "payments",
"t_key": "customer_id",
"select": "payment_id,amount,method,status",
"database": "mysql_instance"
}
]
}
API Maker supports multiple database systems, enabling nested queries across them in one API call:
Cross-database joins simplify data aggregation from these heterogeneous sources.
Oracle 11g and later, including Oracle Autonomous Database and Oracle Database Cloud Services.
The recommended maximum depth is 8-9 to ensure good performance.
Missing records appear as null or are omitted gracefully.
Yes, filters and sorting can be applied at all nested levels.
Yes, it respects Oracle's security mechanisms and API Maker's access control.
Feature | API Maker | Appwrite | Supabase | Firebase |
---|---|---|---|---|
Auto-generated APIs | ~30 APIs per Oracle table | Limited | Auto REST/GraphQL | Limited REST |
Multi-level nesting | Unlimited, deep joins | Manual relations | Limited nesting depth | Limited join capability |
Cross-database queries | Yes, native support | No | No (PostgreSQL only) | No (Firestore) |
Oracle Database support | Full support | No | No | No |
Development speed | Minutes | Hours | Hours | Hours |
Self-hosted option | Full control | Limited | Limited | Cloud only |
Performance | 700+ req/sec per CPU | Moderate | Good | Variable |
For hands-on experience, visit the API Maker homepage or consult the detailed API Maker documentation.