
Configuring Magalu as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Magalu option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to authorize Nekt to access your Magalu Seller data. Click on theMagalu Authorization button and log in with your Magalu account. Grant the necessary permissions for the seller account you want to extract data from.
The following configurations are available:
- Start Date: (Optional) Lower bound for the incremental Orders sync (
updated_at__gtefilter on the API). Deliveries invoices are fetched for the deliveries of the synced orders, so they follow the same bound indirectly (their own bookmark isissued_at). If omitted, orders are synced from the full history available in the API. SKUs, Prices and Stocks are full-table extractions and ignore this setting.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Magalu and their corresponding fields:SKUs
SKUs
Product catalog stream containing all SKUs (Stock Keeping Units) from your Magalu seller portfolio.Key Fields:
Orders
Orders
Orders stream containing all marketplace orders with customer, payment, and delivery information.Key Fields:
Deliveries invoices
Deliveries invoices
Brazilian electronic invoice (NF-e) metadata and XML for each delivery. Child stream of Orders: one request is made per delivery listed in each order, except deliveries with status
cancelled, which never carry an invoice and are skipped. Deliveries for which the API answers 403 or 404 (no invoice available) are skipped with a warning instead of failing the run.Key Fields:Prices
Prices
SKUs that have no pricing document in Magalu (the API answers
404 Document not found) are skipped with a warning instead of failing the sync.Stocks
Stocks
SKUs that have no inventory document in Magalu (the API answers
404 Document not found) are skipped with a warning instead of failing the sync.Data Model
The following diagram illustrates the relationships between the core data streams in Magalu. The arrows indicate the join keys that link the different entities, providing a clear overview of the data structure.Use Cases for Data Analysis
This guide outlines valuable business intelligence use cases when consolidating Magalu Marketplace data, along with ready-to-use SQL queries that you can run on Explorer.1. Order Status Overview
Track the distribution of order statuses to understand your sales pipeline and identify potential bottlenecks. Business Value:- Monitor order fulfillment rates
- Identify issues with specific order statuses
- Track cancellation rates and reasons
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
2. Top Selling Products
Identify your best-performing products based on sales volume and revenue. Business Value:- Understand which products drive the most revenue
- Optimize inventory for high-demand items
- Inform marketing and promotional strategies
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
3. Delivery Performance Analysis
Monitor delivery times and shipping provider performance to optimize logistics, using the deliveries embedded in each order. Business Value:- Track delivery success rates
- Identify slow shipping providers
- Optimize fulfillment processes
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
Implementation Notes
Data normalization
Magalu uses a normalizer pattern for monetary values. To get the actual value, divide by the normalizer:100for values stored as cents1for values already in the base currency unit
Order status flow
Orders in Magalu typically follow this status flow:new- Order just placedapproved- Payment confirmedinvoiced- Invoice generatedshipped- Order dispatcheddelivered- Order delivered to customerfinished- Order completed
cancelled- Order was cancelledreturned- Customer returned the order
Brazilian context
This connector is designed for the Brazilian marketplace:- Currency: Values are in BRL (Brazilian Real)
- Documents: Customer documents are CPF (individuals) or CNPJ (companies)
- Addresses: Brazilian address format with CEP (postal code), state abbreviations
- Shipping: Includes Brazilian carriers like Correios, Jadlog, and Magalu’s own logistics
Incremental sync and replication keys
- Orders: Incremental when configured, using
updated_atas the replication key. API requests are sorted byupdated_atand filtered withupdated_at__gtefrom the bookmark or Start Date. - Deliveries invoices: Incremental bookmark on
issued_at. The invoices endpoint itself is not date-filtered; the set of deliveries to query comes from the orders returned by the incremental Orders sync. - SKUs, Prices, Stocks: Full table sync in the tap (no replication key on those streams). Start Date does not apply to them.
Child streams and API volume
- Prices and Stocks are children of SKUs: one extra API request per SKU per stream when enabled.
- Deliveries invoices is a child of Orders: one extra API request per delivery listed in each synced order (deliveries with status
cancelledare skipped). The API’s standalone/deliveriesendpoint is not used because of its pagination limits, so delivery data itself lives in thedeliveriesarray of Orders.
Missing documents in child streams
- Prices and Stocks: if a SKU listed in your catalog has no pricing or stock document on the seller side, Magalu answers
404 Document not found. The connector skips that SKU (a warning is logged once per stream, naming the first affected SKU) and continues the extraction normally. - Deliveries invoices: a 403 or 404 for a delivery means no invoice is available for it; the delivery is skipped with a warning and the run continues.
Catalog size limits and pagination
The Magalu API enforces a strict offset limit of 20,000 records on the SKUs listing. To ensure complete extraction of large catalogs, the connector automatically escalates through multiple pagination strategies (cursor-based, keyset re-anchoring, and bidirectional per-status sweeps) to bypass this limit. If your catalog has an extremely high volume of SKUs sharing the exact same status (over ~40,000 items), the API’s hard limits might still truncate the extraction for that specific status. In this rare scenario, the connector logs a warning indicating how many SKUs were synced and skips the unreachable ones. Note that any SKUs truncated this way will also be missing from the child Prices and Stocks streams.Nested data structures
Magalu payloads are deeply nested. When querying:- Use
UNNEST(orCROSS JOIN UNNESTin Athena) to flatten arrays - Access nested objects using dot notation (e.g.,
customer.name) - Handle NULL values in nested fields with
COALESCE
Skills for agents
Download Magalu skills file
Magalu connector documentation as plain markdown, for use in AI agent contexts.