API Documentation
Everything you need to integrate RateShip into your application.
Everything you need to integrate RateShip into your application.
Every rate from every provider is normalized to this shape.
interface NormalizedRate {
provider: "shippo" | "easypost" | "shipengine";
carrier: string; // e.g. "USPS", "FedEx", "UPS"
service: string; // e.g. "Ground Advantage", "Priority"
price_cents: number; // USD cents (integer), e.g. 965 = $9.65
currency: "USD";
estimated_days: number | null;
estimated_delivery: string | null; // ISO date if available
rate_id: string; // provider's native rate ID
raw: object; // original provider response
}interface ProviderError {
provider: "shippo" | "easypost" | "shipengine";
error: string;
code: "AUTH_FAILED" | "TIMEOUT" | "PROVIDER_ERROR" | "UNKNOWN";
}Every rate from every provider is normalized to this shape.
interface NormalizedRate {
provider: "shippo" | "easypost" | "shipengine";
carrier: string; // e.g. "USPS", "FedEx", "UPS"
service: string; // e.g. "Ground Advantage", "Priority"
price_cents: number; // USD cents (integer), e.g. 965 = $9.65
currency: "USD";
estimated_days: number | null;
estimated_delivery: string | null; // ISO date if available
rate_id: string; // provider's native rate ID
raw: object; // original provider response
}interface ProviderError {
provider: "shippo" | "easypost" | "shipengine";
error: string;
code: "AUTH_FAILED" | "TIMEOUT" | "PROVIDER_ERROR" | "UNKNOWN";
}