Total control over Shopify shipping rates.Your rules. Your logic. Your way.
Write custom shipping rules in JavaScript, test them on real Shopify checkouts, and show accurate options every time.
Not technical? We'll set it up for you for free.
Trusted by Shopify merchants and their developers
Built for teams who need reliable custom rates at checkout.
Proof in numbers
Proven on real Shopify stores
Built to handle heavy checkout traffic with accurate, dependable shipping rates.
Monthly checkout & API shipping rate requests processed.
Reliable rate delivery for Shopify checkouts, even during peak traffic.
Trusted by Shopify stores for over 2 years.
Why JsRates
Built for complex Shopify shipping setups
Shipping logic that matches how your store really works, with full control over custom rules.
Flexible JavaScript rates for merchants and dev agencies who need precision.
- JsRates is a Shopify shipping-rate app that lets you customise your shipping rules using simple JavaScript.
- It gives you full control over complex shipping rules.
- Anything from basic flat rates to advanced logic that handles multiple carriers, warehouses, product types, or fulfilment paths.
- If you can describe your shipping rules, you can program them into JsRates.
- Stores with rules that standard apps can't express.
- Teams comfortable with JavaScript or working with a dev.
A simple workflow for real stores
Write once, test safely, go live when itβs right.
Describe your rules in JavaScript
Products, couriers, zones, exceptions; keep it all in one clear script.
Test with Shopify-style data
Run against realistic payloads to see the exact options and prices first.
Enable at checkout
Set JsRates as your shipping rate app; Shopify calls your script at checkout.
import { enrichItemDetails } from "./modules.js"; // enriches cart data with additional information
export async function calculateShippingRates(DATA, env) {
// Use DATA (e.g. DATA.destination.country) and env (your stored variables)
try {
// Optional: enrich cart data with tags, metafields, etc.
await enrichItemDetails(DATA);
// Example logic: offer free shipping over $100, else $10
const totalPrice = DATA.items.reduce(
(sum, item) => sum + (item.price * item.quantity) / 100,
0
);
console.log("total price", totalPrice);
const rates = [];
if (totalPrice >= 100) {
rates.push({
service_name: "Free Shipping",
service_code: "FREE",
total_price: 0,
description: "Free shipping for orders over $100",
currency: DATA.currency,
});
} else {
rates.push({
service_name: "Standard Shipping",
service_code: "STD",
total_price: 1000, // $10 shipping fee
description: "Standard shipping rate for all orders",
currency: DATA.currency,
});
}
return { rates };
} catch (error) {
console.error("Error", error.message);
return {
rates: [
{
service_name: "Shipping Rate Error",
service_code: "ERROR",
total_price: null,
description: "Unable to calculate shipping rate",
currency: "",
},
],
};
}
}βWe have tried and tested so many shipping apps over the years and JsRates is by far the most flexible and powerful.β
- Different Drop, Australia
βBest customer service and support I have seen in 6 years using Shopify apps.β
- Le Noise, Canada
βJS Rates is a game-changer for Shopify stores! Unlike most shipping apps, it offers unmatched flexibility, allowing for advanced, customizable shipping rates.β
- Bikes Online, United States
Tools to support advanced shipping logic
JsRates gives you and your developer a full environment for building, testing, and running custom shipping rules in your Shopify store.
AI-assisted code
Build
Generate and explain JavaScript snippets while you write your rules.
Third-party API connectivity
Connect
Call courier APIs or your own services for live prices and extra data.
Modular functionality
Build
Break logic into reusable pieces for regions, brands, or store variants.
Data & code import
Build
Bring in existing data or code to speed up setup.
VS Code workflows
Build
Build in VS Code, then run that logic against Shopify checkout requests.
Performance insight
Operate
See how often your script runs and how long it takes.
Real-time courier rates
Connect
Combine your rules with live courier pricing at checkout.
Dedicated API endpoint
Connect
Call your JsRates logic from product or cart pages for previews.
Debugging & validation
Operate
Use logs, test payloads, and validation tools before going live.
Works with major shipping carriers in your Shopify store
Use JsRates to bring in rates and rules that involve popular couriers and services.







Pricing for Shopify merchants
Start safely in demo mode. Move to Full when you're ready to run custom logic live in Shopify checkout.
Demo
Free
Use JsRates safely in test mode to test and setup your shipping rates.
- βUnlimited time
- βUp to 1,000 requests
- βUp to 500,000 AI characters
- βCheckout test mode activation
- βAI-assisted coding
- βCustom OpenAI GPT
- βVS Code integration
- βDedicated API endpoint
- βDebugging tools
- βScript validation
- βTest input data
- βThird-party API connectivity
- βModular functionality
- βData and code importation
- βPerformance tracking
- βReal-time shipping rates
- βCourier API links
Full
$35/month
Use JsRates for real orders with full activation and higher limits.
- βUnlimited time
- βUnlimited requests
- βMonthly 5,000,000 AI characters
- βFull checkout activation
- βAI-assisted coding
- βCustom OpenAI GPT
- βVS Code integration
- βDedicated API endpoint
- βDebugging tools
- βScript validation
- βTest input data
- βThird-party API connectivity
- βModular functionality
- βData and code importation
- βPerformance tracking
- βReal-time shipping rates
- βCourier API links
Frequently asked questions
A quick overview of how JsRates fits into your Shopify store. Need help? Free setup available for non-developers.
- Do I need to know JavaScript?
- If you're comfortable with JavaScript, you can write and test your own rules. If not, you can describe the logic and we'll set up JsRates for you at no cost.
- Do you offer setup help?
- Yes. We provide free setup for merchants who aren't technical; share your shipping rules and we'll configure JsRates for you.
- Which platforms does JsRates support?
- JsRates is built specifically for Shopify. It connects to your Shopify store as a shipping rate app and returns shipping rates directly to Shopify checkout.
- What types of rules can I implement?
- Merchants typically use JsRates for multi-courier setups, complex product rules, special handling charges, store-specific exceptions, and cases where other Shopify rate apps are not flexible enough.
- Can I try JsRates without affecting live customers?
- Yes. The free demo plan is designed for testing and building without affecting the live checkout. You can enable JsRates in test mode first, and only move to the full plan once you're happy with the rates.
- Can JsRates work with my existing couriers?
- Yes. Your JavaScript can take into account rates from couriers (for example via their APIs) and present them in the format Shopify expects at checkout.
Ready to align shipping with how your Shopify business really works?
Install JsRates, start in demo mode, and explore what's possible with custom shipping logic.
