Skip to main content
Magalu (Magazine Luiza) is one of Brazil’s largest retail and e-commerce platforms. The Magalu Seller API provides access to your marketplace seller data including orders (with their embedded deliveries), delivery invoices (NF-e), product catalog (SKUs), pricing, and inventory. This connector enables you to extract and analyze your Magalu Marketplace operations data.

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 the Magalu Authorization button and log in with your Magalu account. Grant the necessary permissions for the seller account you want to extract data from.
Make sure you’re logged in with a Magalu account that has seller access and appropriate permissions to view orders, deliveries, and product catalog data.
The following configurations are available:
  • Start Date: (Optional) Lower bound for the incremental Orders sync (updated_at__gte filter on the API). Deliveries invoices are fetched for the deliveries of the synced orders, so they follow the same bound indirectly (their own bookmark is issued_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.
Once you’re done, click Next.

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.
Once you are done configuring, click Next.

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.
Once you are ready, click Next to finalize the setup.

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.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from Magalu and their corresponding fields:
Product catalog stream containing all SKUs (Stock Keeping Units) from your Magalu seller portfolio.Key Fields:
Orders stream containing all marketplace orders with customer, payment, and delivery information.Key Fields:
Performance Impact: This stream calls the invoices endpoint once per delivery embedded in the synced Orders (deliveries[]). Large delivery volumes increase API traffic and extraction time. Enable it only when you need NF-e (Nota Fiscal eletrônica) keys or XML payloads.
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:
Performance Impact: This stream requires an additional API request for each SKU in your catalog. If you have a large number of SKUs, selecting this stream will significantly increase extraction time. Only enable this stream if you need real-time pricing data per channel.
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.
Pricing information for each SKU per sales channel. This is a child stream of SKUs.Key Fields:
Performance Impact: This stream requires an additional API request for each SKU in your catalog. If you have a large number of SKUs, selecting this stream will significantly increase extraction time. Only enable this stream if you need real-time stock levels per channel.
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.
Stock/inventory information for each SKU per sales channel. This is a child stream of SKUs.Key Fields:

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

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

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

Implementation Notes

Data normalization

Magalu uses a normalizer pattern for monetary values. To get the actual value, divide by the normalizer:
Common normalizers:
  • 100 for values stored as cents
  • 1 for values already in the base currency unit

Order status flow

Orders in Magalu typically follow this status flow:
  1. new - Order just placed
  2. approved - Payment confirmed
  3. invoiced - Invoice generated
  4. shipped - Order dispatched
  5. delivered - Order delivered to customer
  6. finished - Order completed
Orders can also be:
  • cancelled - Order was cancelled
  • returned - 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_at as the replication key. API requests are sorted by updated_at and filtered with updated_at__gte from 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 cancelled are skipped). The API’s standalone /deliveries endpoint is not used because of its pagination limits, so delivery data itself lives in the deliveries array of Orders.
Extraction time scales with SKU count (prices/stocks) and delivery count (in invoices). Prefer off-peak schedules for large catalogs, and enable child streams only when you need that granularity.

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 (or CROSS JOIN UNNEST in Athena) to flatten arrays
  • Access nested objects using dot notation (e.g., customer.name)
  • Handle NULL values in nested fields with COALESCE
Example for accessing delivery items from nested orders:

Skills for agents

Download Magalu skills file

Magalu connector documentation as plain markdown, for use in AI agent contexts.