Skip to content

// docs

Magalu: Get shipping quotes

Extracts freight quotes from Magalu for a specific product by URL and CEP.

magazineluiza.com.br:quote · 1 credit per request

Standard credit cost. Your account pricing is shown in the sandbox.

Try this operation in the sandbox

HTTP request

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/",
  "target": "magazineluiza.com.br",
  "type": "quote",
  "zipCode": "01001-000"
}'

Keep your API key on your server. See the quickstart for authentication and response handling.

MCP request

The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.

POST /v1/mcp · Bearer or X-API-Key authentication

magazineluiza_com_br_quote · tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "magazineluiza_com_br_quote",
    "arguments": {
      "url": "https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/",
      "zipCode": "01001-000",
      "executionId": "exec_example_123"
    }
  }
}

Supported inputs

Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.

FieldTypeRequirementRuleDefaultExample
url
URL extraction target. For some PLPs it can be omitted when API assembles URL from other fields.
string (URL) Required URL publishes from the Magalu product page. The worker extracts productId from the pattern /p/<productId>/ and respects seller_id when present. - https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/
zipCode
CEP used in APIs with automatic geographic resolution. API accepts with or without a hyphen and normalizes to 8 digits.
string (CEP) Required Target CEP in the format 00000-000 or 8 digits. The backend normalizes to 8 digits before calling /v1/shipments/{zipCode}. - 01001-000
target
Target source for extraction.
enum Required Always mandatory in the payload and must be magazineluiza.com.br. magazineluiza.com.br magazineluiza.com.br
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always mandatory in the payload and must be quote. quote quote

Request examples

Shipping per product and CEP

Calculates delivery options for SKU and seller resolved from the product's public URL.

Shipping per product and CEP
{
  "url": "https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/",
  "target": "magazineluiza.com.br",
  "type": "quote",
  "zipCode": "01001-000"
}

Response schema

Leaf paths and expected types. Field names and enum values are part of the API contract.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "\"1.0.0\"",
  "data.url": "string",
  "data.requestUrl": "string",
  "data.extractedAt": "string (ISO 8601)",
  "data.sku": "string",
  "data.zipCode": "string",
  "data.responseZipCode": "string | null",
  "data.sellerId": "string",
  "data.sellerName": "string | null",
  "data.offerAvailable": "boolean | null",
  "data.offerPrice": "number | null",
  "data.offerRegularPrice": "number | null",
  "data.currency": "string",
  "data.shippingId": "string | null",
  "data.disclaimers": "string[]",
  "data.totalOptions": "integer",
  "data.options[].name": "string | null",
  "data.options[].id": "string | null",
  "data.options[].type": "string | null",
  "data.options[].priceText": "string | null",
  "data.options[].price": "number | null",
  "data.options[].currency": "string",
  "data.options[].deadlineText": "string | null",
  "data.options[].deadlineDays": "integer | null",
  "data.options[].deliveryDate": "string | null",
  "data.options[].available": "boolean | null",
  "data.options[].message": "string | null",
  "data.options[].iconUrl": "string | null",
  "data.options[].distributionCenter": "integer | null"
}

Example response

Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.

responseExample
{
  "requestId": "4c5e18d7-5b1d-41c0-9b9a-f9ab45d42c8b",
  "executionId": "a4360f20-c423-4c21-8fc8-8c9b72158498",
  "data": {
    "source": "magazineluiza.com.br",
    "type": "quote",
    "parser": "1.0.0",
    "url": "https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/",
    "requestUrl": "https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/",
    "extractedAt": "2026-06-03T00:00:00.000Z",
    "sku": "238034800",
    "zipCode": "01001000",
    "responseZipCode": "01001000",
    "sellerId": "magazineluiza",
    "sellerName": "Magalu",
    "offerAvailable": true,
    "offerPrice": 3999,
    "offerRegularPrice": 4599,
    "currency": "BRL",
    "shippingId": "ship-1",
    "disclaimers": [
      "Os prazos contam apos a confirmacao do pagamento."
    ],
    "totalOptions": 2,
    "options": [
      {
        "name": "Entrega padrao",
        "id": "conventional",
        "type": "conventional",
        "priceText": "0.00",
        "price": 0,
        "currency": "BRL",
        "deadlineText": "Receba ate segunda-feira",
        "deadlineDays": 3,
        "deliveryDate": "2026-06-08",
        "available": true,
        "message": "Para pagamentos confirmados hoje",
        "iconUrl": "https://a-static.mlcdn.com.br/icon.png",
        "distributionCenter": 1
      },
      {
        "name": "Retira Loja",
        "id": "store_pickup",
        "type": "store_pickup",
        "priceText": "0.00",
        "price": 0,
        "currency": "BRL",
        "deadlineText": "Retire a partir de hoje",
        "deadlineDays": 0,
        "deliveryDate": "2026-06-03",
        "available": true,
        "message": "Os prazos contam apos a confirmacao do pagamento.",
        "iconUrl": "https://a-static.mlcdn.com.br/pickup.png",
        "distributionCenter": 2
      }
    ]
  }
}

Complete field reference

PathTypeDescriptionExample
data.currency string Standardized currency code. BRL
data.disclaimers string[] General notices returned by shipping quote. ["Os prazos contam apos a confirmacao do pagamento."]
data.extractedAt string (ISO 8601) Timestamp ISO at which the extraction was completed. 2026-06-03T00:00:00.000Z
data.offerAvailable boolean | null Availability of the variation used to assemble the quote. true
data.offerPrice number | null Price used in the value field of the shipments replay. 3999
data.offerRegularPrice number | null List price returned by the helper, when present. 4599
data.options[].available boolean | null Modality availability when returned. true
data.options[].currency string Standardized currency code. BRL
data.options[].deadlineDays integer | null Deadline in days when the source exposes a numeric field. 3
data.options[].deadlineText string | null Textual term returned by the source. Receba ate segunda-feira
data.options[].deliveryDate string | null Expected delivery date when returned. 2026-06-08
data.options[].distributionCenter integer | null Distribution center returned by origin when present. 1
data.options[].iconUrl string | null Icon of the modality when returned by the source. https://a-static.mlcdn.com.br/icon.png
data.options[].id string | null Modality identifier when returned. conventional
data.options[].message string | null Additional modality message or general disclaimer. Para pagamentos confirmados hoje
data.options[].name string | null Name of the delivery method. Entrega padrao
data.options[].price number | null Numerical shipping price in BRL. 0
data.options[].priceText string | null Textual shipping price before normalization. 0.00
data.options[].type string | null Technical type of mode, such as conventional or store_pickup. conventional
data.parser "1.0.0" Stable version of the API response format. 1.0.0
data.requestUrl string Same value as `data.url`; never exposes the queried internal endpoint. https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/
data.responseZipCode string | null CEP returned by the shipments endpoint when present. 01001000
data.sellerId string Seller used in the freight quote, resolved using the PDP helper from Magalu. magazineluiza
data.sellerName string | null Name of seller resolved when the helper exposes this field. Magalu
data.shippingId string | null Identifier returned by the shipping object when present. ship-1
data.sku string SKU of the product used in the freight quote. 238034800
data.source string Normalized extraction source. magazineluiza.com.br
data.totalOptions integer Number of standard delivery options. 2
data.type string Type of operation executed. quote
data.url string URL publishes product sent in request. https://www.magazineluiza.com.br/apple-iphone-15-128gb-azul-61-48mp-ios-5g/p/238034800/te/ip15/
data.zipCode string CEP normalized to 8 digits. 01001000
executionId string (uuid) Unique identifier of the worker execution for traceability. a4360f20-c423-4c21-8fc8-8c9b72158498
requestId string (uuid) Unique identifier of the request HTTP in GeckoAPI. 4c5e18d7-5b1d-41c0-9b9a-f9ab45d42c8b

Errors and missing data

When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.

HTTP statusError codeMeaning
400INVALID_PAYLOADInvalid JSON or a request that violates the documented validation rules.
401UNAUTHORIZEDMissing authorization or an invalid API key or token.
402INSUFFICIENT_CREDITSThe account has insufficient credits for this operation.
403FORBIDDENThe account does not have access, or the API is temporarily disabled.
409EXECUTION_CONFLICTThe execution identifier conflicts with an incompatible execution state.
429RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTSA rate limit or simultaneous request limit was exceeded.
5xxUPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERRORAn upstream, worker or gateway failure. Failed requests follow the platform refund policy.

Other Magalu operations