Skip to content

Instantly share code, notes, and snippets.

@CloCkWeRX
Last active January 1, 2026 04:02
Show Gist options
  • Select an option

  • Save CloCkWeRX/8b6922918ad691ddcce36a307bbdd02f to your computer and use it in GitHub Desktop.

Select an option

Save CloCkWeRX/8b6922918ad691ddcce36a307bbdd02f to your computer and use it in GitHub Desktop.
Example Woolworths v3 UI API calls

Tracking cookies etc removed, but required.

curl 'https://www.woolworths.com.au/apis/ui/Search/products' \
  -H 'accept: application/json, text/plain, */*' \
  -H 'accept-language: en-US,en-AU;q=0.9,en;q=0.8' \
  -H 'content-type: application/json' \
  -H 'dnt: 1' \
  -H 'origin: https://www.woolworths.com.au' \
  -H 'priority: u=1, i' \
  -H 'referer: https://www.woolworths.com.au/shop/search/products?searchTerm=Tomato' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36' \
  --data-raw '{"Filters":[],"IsSpecial":false,"Location":"/shop/search/products?searchTerm=Tomato","PageNumber":1,"PageSize":24,"SearchTerm":"Tomato","SortType":"TraderRelevance","IsHideEverydayMarketProducts":false,"IsRegisteredRewardCardPromotion":null,"ExcludeSearchTypes":["UntraceableVendors"],"GpBoost":0,"GroupEdmVariants":false,"EnableAdReRanking":false}'

Supports keyword or barcode search.

Sample response:

  {
      "Products": [{
          "Products": [{
              "TileID": 1,
              "Stockcode": 134034,
              "Barcode": "0263151000002",
              "GtinFormat": 13,
              "CupPrice": 0.76,
              "InstoreCupPrice": 0.76,
              "CupMeasure": "1EA",
              "CupString": "$0.76 / 1EA",
              "InstoreCupString": "$0.76 / 1EA",
              "HasCupPrice": true,
              "InstoreHasCupPrice": true,
              "Price": 0.76,
              "IncrementalPrice": null,
              "IncrementalWasPrice": null,
              "IncrementalMinimumQuantity": null,
              "IncrementalMinimumQuantityUnit": "g",
              "PricePerKGLabel": "Price per Kg charged",
              "MinWeightPrice": null,
              "MaxWeightPrice": null,
              "InstorePrice": 0.76,
              "Name": "Gourmet Tomato",
              "DisplayName": "Gourmet Tomato each",
              "UrlFriendlyName": "gourmet-tomato",
              "Description": "  Gourmet Tomato  each",
              "SmallImageFile": "https://cdn0.woolworths.media/content/wowproductimages/small/134034.jpg",
              "MediumImageFile": "https://cdn0.woolworths.media/content/wowproductimages/medium/134034.jpg",
              "LargeImageFile": "https://cdn0.woolworths.media/content/wowproductimages/large/134034.jpg",
              "IsNew": false,
              "IsHalfPrice": false,
              "IsOnlineOnly": false,
              "IsOnSpecial": false,
              "InstoreIsOnSpecial": false,
              "IsEdrSpecial": false,
              "SavingsAmount": 0.00,
              "InstoreSavingsAmount": 0.00,
              "WasPrice": 0.76,
              "InstoreWasPrice": 0.76,
              "QuantityInTrolley": 1,
              "Unit": "Each",
              "MinimumQuantity": 1,
              "HasBeenBoughtBefore": false,
              "IsInTrolley": true,
              "Source": "SearchServiceSearchProducts",
              "SupplyLimit": 36,
              "ProductLimit": 36,
              "MaxSupplyLimitMessage": "36 item limit",
              "IsRanged": true,
              "IsInStock": true,
              "PackageSize": "each",
              "IsPmDelivery": false,
              "IsForCollection": true,
              "IsForDelivery": true,
              "IsForExpress": true,
              "ProductRestrictionMessage": null,
              "ProductWarningMessage": null,
              "CentreTag": {
                  "TagContent": null,
                  "TagLink": null,
                  "FallbackText": null,
                  "TagType": "None",
                  "MultibuyData": null,
                  "MemberPriceData": null,
                  "FFPVMemberPriceData": null,
                  "TagContentText": null,
                  "DualImageTagContent": null,
                  "PromotionType": "NOT_SET",
                  "IsRegisteredRewardCardPromotion": false
              },
              "IsCentreTag": false,
              "ImageTag": {
                  "TagContent": "/content/promotiontags/australian-grown-roundel-200x200.png",
                  "TagLink": null,
                  "FallbackText": "Australian Grown",
                  "TagType": "Image",
                  "MultibuyData": null,
                  "MemberPriceData": null,
                  "FFPVMemberPriceData": null,
                  "TagContentText": null,
                  "DualImageTagContent": null,
                  "PromotionType": "NOT_SET",
                  "IsRegisteredRewardCardPromotion": false
              },
              "HeaderTag": null,
              "HasHeaderTag": false,
              "UnitWeightInGrams": 0,
              "SupplyLimitMessage": "'Gourmet Tomato' has a supply limit of 36. The quantity in your cart has been reduced accordingly. To purchase a larger quantity, please contact us on 1800 000 610. Please note we do not supply trade orders.",
              "SmallFormatDescription": " Gourmet Tomato ",
              "FullDescription": " Gourmet Tomato ",
              "IsAvailable": true,
              "InstoreIsAvailable": true,
              "IsPurchasable": true,
              "InstoreIsPurchasable": true,
              "AgeRestricted": false,
              "DisplayQuantity": 1,
              "RichDescription": null,
              "HideWasSavedPrice": false,
              "SapCategories": null,
              "Brand": null,
              "IsRestrictedByDeliveryMethod": false,
              "FooterTag": {
                  "TagContent": null,
                  "TagLink": null,
                  "FallbackText": null,
                  "TagType": "None",
                  "MultibuyData": null,
                  "MemberPriceData": null,
                  "FFPVMemberPriceData": null,
                  "TagContentText": null,
                  "DualImageTagContent": null,
                  "PromotionType": "NOT_SET",
                  "IsRegisteredRewardCardPromotion": false
              },
              "IsFooterEnabled": false,
              "Diagnostics": "0",
              "IsBundle": false,
              "IsInFamily": false,
              "ChildProducts": null,
              "UrlOverride": null,
              "AdditionalAttributes": {
                  "boxedcontents": null,
                  "addedvitaminsandminerals": "False",
                  "sapdepartmentname": "FRUIT AND VEG",
                  "spf": null,
                  "haircolour": null,
                  "lifestyleanddietarystatement": null,
                  "sapcategoryname": "VEG / FRESHCUTS / HARD PRODUCE",
                  "skintype": null,
                  "importantinformation": null,
                  "allergystatement": null,
                  "productdepthmm": null,
                  "skincondition": null,
                  "ophthalmologistapproved": null,
                  "healthstarrating": "5",
                  "hairtype": null,
                  "fragrance-free": null,
                  "sapsegmentname": "TOMATO FIELD LOOSE",
                  "suitablefor": null,
                  "PiesProductDepartmentsjson": "[{\"Id\":\"1-E5BEE36E\",\"Description\":\"Fruit & Veg\"}]",
                  "piessubcategorynamesjson": "[\"Tomatoes\",\"Salad Vegetables\"]",
                  "sapsegmentno": "3",
                  "productwidthmm": null,
                  "contains": null,
                  "sapsubcategoryname": "TOMATO",
                  "dermatologisttested": null,
                  "wool_productpackaging": null,
                  "dermatologicallyapproved": null,
                  "specialsgroupid": null,
                  "productimages": "134034.jpg",
                  "productheightmm": null,
                  "r&r_hidereviews": null,
                  "microwavesafe": "False",
                  "paba-free": null,
                  "lifestyleclaim": null,
                  "alcoholfree": null,
                  "tgawarning": null,
                  "activeconstituents": null,
                  "microwaveable": "False",
                  "soap-free": null,
                  "countryoforigin": null,
                  "isexcludedfromsubstitution": "False",
                  "productimagecount": "1",
                  "r&r_loggedinreviews": null,
                  "anti-dandruff": null,
                  "servingsize-total-nip": null,
                  "tgahealthwarninglink": null,
                  "allergenmaybepresent": null,
                  "PiesProductDepartmentNodeId": "1-E5BEE36E",
                  "parabenfree": "False",
                  "vendorarticleid": null,
                  "containsgluten": "False",
                  "containsnuts": "False",
                  "ingredients": null,
                  "colour": null,
                  "manufacturer": null,
                  "sapcategoryno": "63",
                  "storageinstructions": "Stockroom Storage & Ambient Display",
                  "tgawarnings": null,
                  "piesdepartmentnamesjson": "[\"Fruit & Veg\"]",
                  "brand": null,
                  "oilfree": null,
                  "fragrance": null,
                  "antibacterial": "False",
                  "non-comedogenic": null,
                  "antiseptic": "False",
                  "bpafree": "False",
                  "vendorcostprice": null,
                  "description": null,
                  "sweatresistant": null,
                  "sapsubcategoryno": "797",
                  "antioxidant": "False",
                  "claims": null,
                  "phbalanced": null,
                  "wool_dietaryclaim": null,
                  "ophthalmologisttested": null,
                  "sulfatefree": "False",
                  "piescategorynamesjson": "[\"Vegetables\",\"Salad\"]",
                  "servingsperpack-total-nip": null,
                  "nutritionalinformation": null,
                  "ovencook": "False",
                  "vegetarian": "False",
                  "hypo-allergenic": null,
                  "timer": null,
                  "dermatologistrecommended": null,
                  "sapdepartmentno": "30",
                  "allergencontains": null,
                  "waterresistant": null,
                  "friendlydisclaimer": null,
                  "recyclableinformation": null,
                  "usageinstructions": null,
                  "freezable": "False"
              },
              "DetailsImagePaths": [
                  "https://cdn0.woolworths.media/content/wowproductimages/large/134034.jpg"
              ],
              "Variety": null,
              "Rating": {
                  "ReviewCount": 0,
                  "RatingCount": 0,
                  "RatingSum": 0,
                  "OneStarCount": 0,
                  "TwoStarCount": 0,
                  "ThreeStarCount": 0,
                  "FourStarCount": 0,
                  "FiveStarCount": 0,
                  "Average": 0,
                  "OneStarPercentage": 0,
                  "TwoStarPercentage": 0,
                  "ThreeStarPercentage": 0,
                  "FourStarPercentage": 0,
                  "FiveStarPercentage": 0
              },
              "HasProductSubs": false,
              "IsSponsoredAd": false,
              "AdID": null,
              "AdIndex": null,
              "AdStatus": null,
              "IsMarketProduct": false,
              "IsGiftable": false,
              "Vendor": null,
              "Untraceable": false,
              "ThirdPartyProductInfo": null,
              "MarketFeatures": null,
              "MarketSpecifications": null,
              "SupplyLimitSource": "ProductLimit",
              "Tags": [{
                  "Content": {
                      "Type": "Roundel",
                      "Position": "Top",
                      "Attributes": {
                          "ImagePath": "/content/promotiontags/australian-grown-roundel-200x200.png",
                          "FallbackText": "Australian Grown"
                      },
                      "FFPVAttributes": null
                  },
                  "TemplateId": null,
                  "Metadata": null
              }],
              "IsPersonalisedByPurchaseHistory": false,
              "IsFromFacetedSearch": false,
              "NextAvailabilityDate": "2026-01-02T00:00:00.0000000Z",
              "NumberOfSubstitutes": 0,
              "IsPrimaryVariant": false,
              "VariantGroupId": 0,
              "HasVariants": false,
              "VariantTitle": null,
              "IsTobacco": false,
              "IsFreeShipping": null,
              "FulfilmentStoreId": 1101,
              "B2BExtendedRange": null,
              "OfferId": null,
              "BundleProductGroups": null
          }],
          "Name": "Gourmet Tomato",
          "DisplayName": "Gourmet Tomato each"
      }]
  }
curl 'https://www.woolworths.com.au/api/v3/ui/trolley/update' \
  -H 'accept: */*' \
  -H 'accept-language: en-US,en-AU;q=0.9,en;q=0.8' \
  -H 'content-type: application/json' \
  -H 'dnt: 1' \
  -H 'origin: https://www.woolworths.com.au' \
  -H 'priority: u=1, i' \
  -H 'referer: https://www.woolworths.com.au/shop/search/products?searchTerm=Tomato' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-origin' \
  -H 'sec-gpc: 1' \
  -H 'traceparent: 00-b34816e1b2884908b8fd35b93761cae8-dbbc4a176fda48c4-01' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36' \
  --data-raw '{"items":[{"stockcode":134034,"quantity":1,"source":"SearchServiceSearchProducts","diagnostics":"0","searchTerm":"Tomato","evaluateRewardPoints":false,"offerId":null,"profileId":null,"priceLevel":null}]}'

When authenticated, save current trolley as list

curl 'https://www.woolworths.com.au/apis/ui/Trolley/SaveAsList' \
  -H 'accept: application/json, text/plain, */*' \
  -H 'accept-language: en-US,en-AU;q=0.9,en;q=0.8' \
  -H 'content-type: application/json' \
  -H 'dnt: 1' \
  -H 'origin: https://www.woolworths.com.au' \
  -H 'priority: u=1, i' \
  -H 'referer: https://www.woolworths.com.au/shop/search/products?searchTerm=Tomato' \
  --data-raw '{"Name":"My list"}'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment