noon Marketplace
Sell on noon.com (UAE, Saudi Arabia, Egypt) from an AI agent through the noon Partner API: warehouses, catalog content, product groups and barcodes, offers, prices, stock, FBPI orders and shipments, purchase orders, return lookups and bulk exports. Service account login with a signed JWT; price, stock, product and order writes install switched off.
7-day free trial · No credit card · EU-hosted
Ask noon anything
Try a real prompt against noon Marketplace via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.
Install noon on CloudClaude is AI and can make mistakes. Please double-check responses.
Setup in 2 minutes
- 1Start a free trial on cloud.anythingmcp.com.
- 2Click noon Marketplace in the connector store. Paste credentials when prompted.
- 3Mint an MCP API key and point your AI client at the generated MCP URL.
Guides for noon
Step-by-step setup for the most popular AI clients.
Setting up noon Marketplace
From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.
noon Marketplace
This connector uses the noon Partner API on https://noon-api-gateway.noon.partners, the API noon offers sellers on noon.com in the UAE (ae), Saudi Arabia (sa) and Egypt (eg): warehouses, catalog content, offers, prices, stock, FBPI orders and shipments, purchase orders, returns and bulk exports.
Setup (about 5 minutes)
- Sign in to the noon Partner portal and open the Access App (or User & Access > User access), then API Users in the left sidebar.
- Click Add Service Account, enter a display name and username, and pick a role. Project Viewer is enough for the read tools; the write tools need a role that may change catalog, prices, stock or orders (Project Owner grants everything). You can restrict the key to IP addresses and give it an expiry; without them it works from any IP and never expires. Each partner can create one service account with up to five keys.
- When you click Add, a
.jsonkey file downloads. It is shown only once; if you lose it, create a new key. - Copy three fields of that file:
key_idintoNOON_KEY_ID,private_keyintoNOON_PRIVATE_KEY(the whole PEM; pasting it on one line with the\nsequences from the file is fine) andproject_codeintoNOON_PROJECT_CODE. - Install and run
noon_marketplace_whoami.
How login works. There is no static API key. For every login the connector signs a fresh RS256 JWT with the private key (sub = key id, iat = now in seconds, a random jti) and posts it, with the project code as default_project_code, to /identity/public/v1/api/login. noon answers with session cookies, which are sent on every call. A session lasts 30 days; the connector signs in again before it ends and whenever a call returns 401. noon rejects a token whose iat is more than five minutes off its clock, so a 401 on login with the right key usually means the server clock is wrong. Every request carries a User-Agent (noon may reject requests without one) and the X-Project header with the project code, which the content API requires.
Identifiers
partner_sku: your own SKU, unique across all your products. Prices, stock and offers are keyed by it.sku_parent(starts withZ): noon's id of a product with all its variants, returned bynoon_marketplace_upsert_product.noon_marketplace_get_contentand product groups use it.sku(noon SKU, the nsku, starts withN) andpsku_code(starts withP): noon's ids of one variant.warehouse_code: fromnoon_marketplace_list_warehouses. FBPI orders and shipments belong to an integration warehouse.country_code:ae,saoreg, lower case. Prices are per SKU and country, in AED, SAR or EGP.fbpi_order_nr,mp_item_nr(one item of an order) and your ownintegration_shipment_nridentify orders and shipments.merchant_codestarts withSTR.
Tools
- Account:
noon_marketplace_whoami,noon_marketplace_list_warehouses. - Catalog content:
noon_marketplace_list_categories(all category codes),noon_marketplace_list_category_attributes(what a category requires and how values are validated),noon_marketplace_get_content(completeness, QC status and why a product is not live),noon_marketplace_upsert_product,noon_marketplace_get_product_group,noon_marketplace_upsert_product_group,noon_marketplace_map_barcodes,noon_marketplace_create_barcode_import,noon_marketplace_get_import_status. - Offers, prices and stock:
noon_marketplace_get_product_offers(price, stock, live status and offer issues per country),noon_marketplace_get_prices,noon_marketplace_upsert_prices,noon_marketplace_get_stock,noon_marketplace_update_stock. - FBPI orders (fulfilled from your own warehouse):
noon_marketplace_list_orders,noon_marketplace_get_order,noon_marketplace_get_order_customer,noon_marketplace_mark_items_unavailable,noon_marketplace_generate_awbs,noon_marketplace_create_shipment,noon_marketplace_get_shipment,noon_marketplace_cancel_shipment. After a shipment is created, the manifest for noon's pickup is completed in Seller Lab. - Purchase orders and returns:
noon_marketplace_get_purchase_order,noon_marketplace_list_return_references. - Bulk exports:
noon_marketplace_list_export_categories, thennoon_marketplace_create_export, then pollnoon_marketplace_get_export_statusuntil it has adownload_url.
Several reads are POST requests with a JSON body (noon's API style); they change nothing.
Switched off at install. noon_marketplace_upsert_product, noon_marketplace_upsert_product_group, noon_marketplace_map_barcodes, noon_marketplace_create_barcode_import, noon_marketplace_upsert_prices, noon_marketplace_update_stock, noon_marketplace_mark_items_unavailable, noon_marketplace_create_shipment and noon_marketplace_cancel_shipment change what customers see and buy (live prices, sellable quantity, published content) or act on real orders, and some cannot be undone. Turn on the ones a workspace needs in the connector's tool settings. noon_marketplace_generate_awbs and noon_marketplace_create_export stay on: they change no data.
Batch results. Price, stock and product calls answer 200 even when some items failed. Check status.status_code (OK, status_id 0) on every returned item and resend only the failed ones. noon_marketplace_update_stock sets an absolute quantity, it does not add. In noon_marketplace_upsert_prices, a field left out or sent as null keeps its value. noon_marketplace_upsert_product returning status_id 3 means the product was stored with content problems: read them with noon_marketplace_get_content.
Barcodes. noon_marketplace_map_barcodes links barcodes to partner SKUs that already exist, so call it after noon_marketplace_upsert_product has created them; noon creates a barcode it does not know yet. It answers per item, like price and stock calls. For large lists, noon_marketplace_create_barcode_import takes up to 10,000 mappings inline, or a file URL, and runs in the background: poll noon_marketplace_get_import_status with the returned import_reference.
Paging. List tools return next_token; call again with it, and with the same filters, until it is empty.
Rate limits. Limits apply per project and endpoint, with a main window and a shorter burst window checked together. Most endpoints allow 1500 requests per 60 seconds; noon_marketplace_list_warehouses allows 30 per 60 seconds with a burst of 15 per 30 seconds. A 429 says to wait; the X-Ratelimit-Retry-After header gives the seconds. Prefer one batch call over many single-item calls.
Errors. Errors come as {"error": {"code", "message", "fields": [{"name", "descriptions"}]}}. PERMISSION_DENIED (403): the service account lacks a role for that call; add one under User Access > Manage Role in the Partner portal. INVALID_ARGUMENT (400): read fields for the field and the reason. NOT_FOUND on a price item: the SKU has no pricing record in that country yet, so set a price first. A 401 means the login or session failed (wrong or deactivated key, wrong clock).
Your AI is two clicks away from noon Marketplace.
Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.