Buy from Ulta Beauty via API
Programmatically shop Ulta Beauty's catalog. Automate purchasing cosmetics, skincare, and haircare products via Zinc.
Install the universal-checkout skill (npx skills add zincio/skills --skill universal-checkout) to buy from Ulta Beauty and 50+ retailers. Paste the prompt below into Cursor, Claude Code, or OpenClaw.
What is Ulta Beauty?
Ulta Beauty is the largest beauty retailer in the United States, offering cosmetics, skincare, haircare, fragrances, and beauty tools from over 600 brands across all price points. Zinc's Ulta Beauty API integration enables programmatic access to their comprehensive beauty catalog.
Ideal for beauty subscription boxes, gifting platforms, corporate perks programs, and any application focused on the beauty and personal care industry via the API.
What you can build with the Ulta Beauty API
Build with the Ulta Beauty integration API for search, ordering, tracking, and returns.
Ulta Beauty Order Placement API
Place orders with a product URL and shipping address. No checkout flows required — Zinc handles the retailer-side workflow and processes orders asynchronously.
{
"products": [
{
"url": "https://ulta.com/...",
"quantity": 1
}
],
"shipping_address": {
"first_name": "Jane",
"last_name": "Doe",
"address_line1": "123 Main St",
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "US",
"phone_number": "5551234567"
},
"max_price": 39900
}Ulta Beauty Order Status API
Retrieve order details including item statuses, shipping address, and processing results. Poll to track progress from pending through to delivery.
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "order_placed",
"max_price": 39900,
"items": [
{
"url": "https://ulta.com/...",
"quantity": 1,
"status": "shipped"
}
],
"tracking_numbers": [
{
"carrier": "ups",
"tracking_number": "1Z999AA10123456784",
"created_at": "2026-01-15T14:30:00Z"
}
],
"created_at": "2026-01-15T10:00:00Z"
}Ulta Beauty Shipment Tracking API
Tracking numbers are automatically extracted from retailer shipping notifications and returned in the order response. Supports UPS, FedEx, USPS, Amazon Logistics, and DHL.
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "order_placed",
"tracking_numbers": [
{
"carrier": "ups",
"tracking_number": "1Z999AA10123456784",
"created_at": "2026-01-15T14:30:00Z"
},
{
"carrier": "amazon",
"tracking_number": "TBA123456789000",
"created_at": "2026-01-16T09:15:00Z"
}
]
}Ulta Beauty Managed Accounts
Use Zinc-managed checkout accounts or bring your own retailer credentials. Managed accounts handle login, 2FA, and payment automatically — no account setup required.
{
"credentials": [
{
"short_id": "zn_acct_a1b2c3d4",
"email": "orders@example.com",
"retailer": "ulta_beauty",
"has_totp": true,
"has_forwarding": true
}
],
"total": 1
}Ulta Beauty API Integration FAQ
What can I do with the Ulta Beauty API integration?
You can search products, place orders, track shipments, and handle returns through a single Zinc API integration for Ulta Beauty. Search by keyword or product URL to find items on ulta.com, then place orders with a shipping address and max price — no checkout UI required on your side.
Use POST /orders to submit a purchase request, GET /orders/{order_id} to poll status, and webhook subscriptions for async shipping and delivery events. Returns are supported through the same API, so you can build search-to-return workflows without maintaining a separate Ulta Beauty integration.
Do I need to build a checkout flow for Ulta Beauty?
No. Zinc handles the retailer-side ordering workflow on ulta.com, so your app can place orders directly via API calls. Send a POST /orders request with the product URL, quantity, shipping address, and max_price in cents — Zinc manages login, payment, and fulfillment on Ulta Beauty's site.
Your application never needs to embed Ulta Beauty's checkout or store retailer credentials unless you choose to bring your own account via managed accounts. This is especially useful for rewards platforms, gifting apps, and AI agents that need to buy from Ulta Beauty programmatically.
What is the free shipping minimum for Ulta Beauty?
Ulta Beauty offers free standard shipping on orders of $35 or more before tax. $25 minimum for Diamond members. Orders below the minimum will incur a shipping fee. Note that shipping policies can change, so check Ulta Beauty's website for the most current thresholds.
When placing orders through the Zinc API, set an appropriate max_price to cover the product cost plus estimated shipping if the order total is below Ulta Beauty's free shipping threshold. Zinc processes the order at ulta.com and refunds any unused amount after fulfillment completes.
Can I get shipment tracking updates for Ulta Beauty orders?
Yes. When Ulta Beauty ships your order, Zinc extracts tracking numbers from retailer shipping notifications and returns them in the order response. Each entry includes the carrier, tracking number, and timestamp.
Poll GET /orders/{order_id} for the latest status, or subscribe to webhook events for shipping and delivery updates without polling. Supported carriers include UPS, FedEx, USPS, Amazon Logistics, and DHL — so you can surface tracking in your app or pass it through to end customers automatically.
How do I start using the Ulta Beauty integration API?
Create an account, get your API key, and follow the Zinc API docs to send your first search or order request. You'll need a Zinc API key (prefixed zn_) for authenticated endpoints like orders and product search.
Start with GET /retailers to confirm Ulta Beauty is supported, then try a product search or place an order with a ulta.com product URL. For AI agent workflows, the /agent/orders endpoint supports MPP payment — no Zinc account required for the buyer.