Nuvemshop / Tiendanube

Nuvemshop (Tiendanube in Spanish-speaking markets) is the leading Latin American e-commerce platform, powering online stores for merchants across Brazil, Argentina, Mexico, Chile, and Colombia. Its public REST Admin API lets apps and integrations manage products, variants, images, categories, orders, customers, coupons, scripts, webhooks, and store settings on a per-store basis. Apps authenticate with OAuth 2 (authorization code grant) and pass a non-expiring access token in a non-standard `Authentication` header (lowercase bearer prefix) along with a required `User-Agent`. The API is store-scoped - every path is prefixed with the store id - and is rate limited with a per-store leaky bucket.

Nuvemshop / Tiendanube publishes 10 APIs on the APIs.io network, including Nuvemshop Products API, Nuvemshop Product Variants API, Nuvemshop Product Images API, and 7 more. Tagged areas include E-commerce, Online Store, Latin America, Brazil, and Argentina.

Nuvemshop / Tiendanube’s developer surface includes authentication, documentation, and 8 more developer resources.

36.0/100 thin ▬ flat Agent 48/100 agent ready Full breakdown ↓
scored 2026-07-20 · rubric v0.4
10 APIs 0 Features
E-commerceOnline StoreLatin AmericaBrazilArgentinaStorefrontProductsOrdersMerchantsWebhooksSaaS

API Rating

API Evangelist API Evangelist Rating How this is scored →
scored 2026-07-20 · rubric v0.4
Composite quality — 36.0/100 · thin
Contract Quality 12.6 / 25
Developer Ergonomics 3.9 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 4.8 / 13
Governance 0.0 / 12
Discoverability 6.8 / 10
Agent readiness — 48/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/nuvemshop: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs

Nuvemshop Products API

Create, list, retrieve, update, and delete products - the items for sale in a store. Includes lookup by variant SKU and a bulk stock/price update endpoint.

Nuvemshop Product Variants API

Manage the variants (size, color, and other option combinations) owned by a product, including per-variant pricing and stock, bulk collection replacement, and a dedicated stock-...

Nuvemshop Product Images API

Create, list, retrieve, update, and delete the images attached to a product, uploaded by URL or as base64-encoded attachments.

Nuvemshop Categories API

Create, list, retrieve, update, and delete the hierarchical categories used to organize a store's catalog.

Nuvemshop Orders API

Create, list, retrieve, and update orders, read value/edition history and subscriptions, and drive lifecycle actions - close, re-open, and cancel an order.

Nuvemshop Customers API

Create, list, retrieve, update, and delete the customer accounts registered in a store.

Nuvemshop Coupons API

Create, list, retrieve, update, and delete discount coupons that a store offers to its shoppers.

Nuvemshop Webhooks API

Register and manage webhook subscriptions that POST event notifications (order/created, product/updated, customer/created, and many more) to your application. Server-to-endpoint...

Nuvemshop Scripts API

Create, list, retrieve, update, and delete script-store associations that inject custom JavaScript into a merchant's storefront.

Nuvemshop Store API

Retrieve the authenticated store's general settings and metadata - name, domain, country, currency, language, and contact details.

Collections

Pricing Plans

Nuvemshop Plans Pricing

6 plans

PLANS

Rate Limits

Nuvemshop Rate Limits

4 limits

RATE LIMITS

FinOps

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: Nuvemshop / Tiendanube Admin API
  version: 2025-03
  description: 'Store-scoped REST Admin API for the Nuvemshop (Tiendanube) e-commerce platform. Base: https://api.tiendanube.com/2025-03/{store_id}
    (api.nuvemshop.com.br for Brazil). NON-STANDARD auth: send the OAuth 2 access token as the header ''Authentication: bearer
    ACCESS_TOKEN'' (header name Authentication, lowercase bearer). A descriptive User-Agent header is required on every request.
    Grounded representative subset.'
request:
  headers:
  - name: Authentication
    value: bearer {{accessToken}}
  - name: User-Agent
    value: '{{userAgent}}'
items:
- info:
    name: Products
    type: folder
  items:
  - info:
      name: List products
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/products?page=1&per_page=30
      params:
      - name: store_id
        value: ''
        type: path
        description: The numeric store id.
      - name: page
        value: '1'
        type: query
      - name: per_page
        value: '30'
        type: query
    docs: Receive a paginated list of all products.
  - info:
      name: Get a product
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/products/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Receive a single product by its id.
  - info:
      name: Get a product by SKU
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/products/sku/:sku
      params:
      - name: store_id
        value: ''
        type: path
      - name: sku
        value: ''
        type: path
    docs: Receive the product that owns the variant with the given SKU.
  - info:
      name: Create a product
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/products
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: "{\n  \"name\": { \"es\": \"Producto nuevo\", \"pt\": \"Novo produto\" },\n  \"variants\": [ { \"price\": \"\
          100.00\", \"stock\": 10 } ]\n}"
    docs: Create a new product.
  - info:
      name: Update a product
      type: http
    http:
      method: PUT
      url: https://api.tiendanube.com/2025-03/:store_id/products/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{ "published": true }'
    docs: Modify an existing product.
  - info:
      name: Delete a product
      type: http
    http:
      method: DELETE
      url: https://api.tiendanube.com/2025-03/:store_id/products/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Remove a product.
  - info:
      name: Bulk update stock and price
      type: http
    http:
      method: PATCH
      url: https://api.tiendanube.com/2025-03/:store_id/products/stock-price
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: '[ { "id": 1, "variants": [ { "id": 10, "price": "99.90", "stock": 5 } ] } ]'
    docs: Update stock and/or price for multiple products and variants.
- info:
    name: Product Variants
    type: folder
  items:
  - info:
      name: List variants
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/variants
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
    docs: Receive a list of all variants for a given product.
  - info:
      name: Create a variant
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/variants
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "price": "120.00", "stock": 8, "values": [ { "es": "Rojo", "pt": "Vermelho" } ] }'
    docs: Create a new variant for a product.
  - info:
      name: Update a variant
      type: http
    http:
      method: PUT
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/variants/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{ "price": "110.00" }'
    docs: Modify an existing variant.
  - info:
      name: Delete a variant
      type: http
    http:
      method: DELETE
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/variants/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Remove a variant from a product.
  - info:
      name: Update variant stock
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/variants/stock
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "action": "variation", "value": 5 }'
    docs: Update the stock for one or all variants of a product.
- info:
    name: Product Images
    type: folder
  items:
  - info:
      name: List images
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/images
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
    docs: Receive a list of all images for a given product.
  - info:
      name: Create an image
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/images
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "src": "https://example.com/image.jpg" }'
    docs: Attach a new image to a product by URL or base64 attachment.
  - info:
      name: Delete an image
      type: http
    http:
      method: DELETE
      url: https://api.tiendanube.com/2025-03/:store_id/products/:product_id/images/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Remove an image from a product.
- info:
    name: Categories
    type: folder
  items:
  - info:
      name: List categories
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/categories
      params:
      - name: store_id
        value: ''
        type: path
    docs: Receive a list of all categories.
  - info:
      name: Create a category
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/categories
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "name": { "es": "Zapatos", "pt": "Sapatos" } }'
    docs: Create a new category.
  - info:
      name: Delete a category
      type: http
    http:
      method: DELETE
      url: https://api.tiendanube.com/2025-03/:store_id/categories/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Remove a category.
- info:
    name: Orders
    type: folder
  items:
  - info:
      name: List orders
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/orders?page=1&per_page=30
      params:
      - name: store_id
        value: ''
        type: path
      - name: page
        value: '1'
        type: query
      - name: per_page
        value: '30'
        type: query
    docs: Receive a paginated list of all orders.
  - info:
      name: Get an order
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/orders/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Receive a single order by its id.
  - info:
      name: Create an order
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/orders
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "products": [ { "variant_id": 10, "quantity": 1 } ] }'
    docs: Create a new order.
  - info:
      name: Update an order
      type: http
    http:
      method: PUT
      url: https://api.tiendanube.com/2025-03/:store_id/orders/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{ "owner_note": "Priority shipping" }'
    docs: Change order attributes and/or update status.
  - info:
      name: Close an order
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/orders/:id/close
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Close an order.
  - info:
      name: Re-open an order
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/orders/:id/open
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Re-open a previously closed order.
  - info:
      name: Cancel an order
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/orders/:id/cancel
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Cancel an order.
- info:
    name: Customers
    type: folder
  items:
  - info:
      name: List customers
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/customers
      params:
      - name: store_id
        value: ''
        type: path
    docs: Receive a list of all customers.
  - info:
      name: Create a customer
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/customers
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "name": "Ada Lovelace", "email": "ada@example.com" }'
    docs: Create a new customer.
  - info:
      name: Delete a customer
      type: http
    http:
      method: DELETE
      url: https://api.tiendanube.com/2025-03/:store_id/customers/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Delete a customer.
- info:
    name: Coupons
    type: folder
  items:
  - info:
      name: List coupons
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/coupons
      params:
      - name: store_id
        value: ''
        type: path
    docs: Retrieve the list of all coupons.
  - info:
      name: Create a coupon
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/coupons
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "code": "WELCOME10", "type": "percentage", "value": "10" }'
    docs: Create a new coupon.
  - info:
      name: Delete a coupon
      type: http
    http:
      method: DELETE
      url: https://api.tiendanube.com/2025-03/:store_id/coupons/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Delete an existing coupon.
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: List webhooks
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/webhooks
      params:
      - name: store_id
        value: ''
        type: path
    docs: Receive a list of all webhook subscriptions.
  - info:
      name: Create a webhook
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/webhooks
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "event": "order/created", "url": "https://myapp.com/webhooks/nuvemshop" }'
    docs: Subscribe to an event (e.g. order/created, product/updated, customer/created).
  - info:
      name: Delete a webhook
      type: http
    http:
      method: DELETE
      url: https://api.tiendanube.com/2025-03/:store_id/webhooks/:id
      params:
      - name: store_id
        value: ''
        type: path
      - name: id
        value: ''
        type: path
    docs: Delete a webhook subscription.
- info:
    name: Scripts
    type: folder
  items:
  - info:
      name: List scripts
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/scripts
      params:
      - name: store_id
        value: ''
        type: path
    docs: Retrieve a list of script-store associations.
  - info:
      name: Create a script
      type: http
    http:
      method: POST
      url: https://api.tiendanube.com/2025-03/:store_id/scripts
      params:
      - name: store_id
        value: ''
        type: path
      body:
        type: json
        data: '{ "src": "https://myapp.com/script.js", "event": "onload", "where": "store" }'
    docs: Create a script-store association.
- info:
    name: Store
    type: folder
  items:
  - info:
      name: Get the store
      type: http
    http:
      method: GET
      url: https://api.tiendanube.com/2025-03/:store_id/store
      params:
      - name: store_id
        value: ''
        type: path
    docs: Receive the authenticated store's settings and metadata.
bundled: true