# Get rate shopper by ID

Products
            Plans
          
        
        
          
            
              
              Formerly ShipEngine
            
            
              Free
              Advanced
              Enterprise
            
          
          
            
              
            
            
              Free
              Starter
              Standard
              Premium
            
          
        
      
      
        
          Learn about products and plans
          
        
      
    

Retrieve a single rate shopper by its identifier. Accepts both
default strategy names (cheapest, fastest, best_value) and
custom rate shopper UUIDs.

Endpoint: GET /v2/rate_shoppers/{rate_shopper_id}
Version: 2.0.0
Security: api_keys

## Path parameters:

  - `rate_shopper_id` (string, required)
    The rate shopper identifier. Can be one of:

Default rate shoppers (strategy name):
- cheapest: Lowest cost option
- fastest: Fastest option at the lowest price
- best_value: Lowest cost option arriving within 4 days

Custom rate shoppers:
A UUID (e.g., f47ac10b-58cc-4372-a567-0e02b2c3d479) identifying
a seller-created rate shopper.

## Response 200 fields (application/json):

  - `rate_shopper_id` (string, required)
    Identifier for the rate shopper. For default rate shoppers this is
a strategy name (cheapest, fastest, best_value). For custom
rate shoppers this is a UUID.

  - `name` (string, required)
    Display name of the rate shopper.
    Example: "Cheapest"

  - `services` (array, required)
    The carrier services included in this rate shopper.

  - `services.service_code` (string, required)
    The carrier service code.
    Example: "usps_priority_mail"

  - `services.carrier_id` (string, required)
    The carrier account ID (prefixed with se-).
    Example: "se-28529731"

  - `transit_time` (object)
    Transit time constraints for rate selection.

  - `transit_time.max_days` (integer,null)
    Maximum transit days for domestic shipments.
    Example: 5

  - `transit_time.max_days_international` (integer,null)
    Maximum transit days for international shipments.
    Example: 14

  - `transit_time.use_deliver_by_date` (boolean)
    Whether to use the order's deliver-by date for filtering.

  - `service_preference` (object)
    Preferred service and price tolerance settings.

  - `service_preference.service` (object)
    A carrier service entry in a rate shopper.

  - `service_preference.price_tolerance` (object)
    Price tolerance thresholds for the preferred service.

  - `service_preference.price_tolerance.amount` (number, required)
    Maximum absolute price difference allowed.
    Example: 2.5

  - `service_preference.price_tolerance.percentage` (number, required)
    Maximum percentage price difference allowed.
    Example: 10

  - `is_active` (boolean, required)
    Whether the rate shopper is currently active.
    Example: true

  - `created_at` (string, required)
    Timestamp when the rate shopper was created.
    Example: "2025-01-15T10:30:00Z"

  - `updated_at` (string, required)
    Timestamp when the rate shopper was last updated.
    Example: "2025-03-20T14:45:00Z"

## Response 404 fields (application/json):

  - `request_id` (string, required)
    A UUID that uniquely identifies the request id.
This can be given to the support team to help debug non-trivial issues that may occur
    Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009"

  - `errors` (array, required)
    The errors associated with the failed API call

  - `errors.error_source` (string, required)
    The source of the error, as indicated by the name this informs us if the API call failed because of the
carrier, the order source, the ShipStation API itself, or the underlying ShipEngine platform.
    Enum: "carrier", "order_source", "ShipStation", "shipengine"

  - `errors.error_type` (string, required)
    The type of error
    Enum: "account_status", "business_rules", "validation", "security", "system", "integrations"

  - `errors.error_code` (string, required)
    The error code specified for the failed API Call
    Enum: "auto_fund_not_supported", "batch_cannot_be_modified", "carrier_conflict", "carrier_disconnected", "carrier_not_connected", "carrier_not_supported", "confirmation_not_supported", "default_warehouse_cannot_be_deleted", "field_conflict", "field_value_required", "forbidden", "identifier_conflict", "identifiers_must_match", "insufficient_funds", "invalid_address", "invalid_billing_plan", "invalid_field_value", "invalid_identifier", "invalid_status", "invalid_string_length", "label_images_not_supported", "meter_failure", "order_source_not_active", "rate_limit_exceeded", "refresh_not_supported", "request_body_required", "return_label_not_supported", "settings_not_supported", "subscription_inactive", "terms_not_accepted", "tracking_not_supported", "trial_expired", "unauthorized", "unknown", "unspecified", "verification_failure", "warehouse_conflict", "webhook_event_type_conflict", "customs_items_required", "incompatible_paired_labels", "invalid_charge_event", "invalid_object", "no_rates_returned"

  - `errors.message` (string, required)
    An error message associated with the failed API call
    Example: "Body of request cannot be null."

  - `errors.field_name` (string)
    The name of the field that caused the error (only present for validation errors)
    Example: "inventory_warehouse_id"

  - `errors.field_value` (string)
    The invalid value that was provided for the field (only present for validation errors)
    Example: "invalid-id"


