I had this same problem. A little testing showed I wasn't specifying the pickup type in my request, and I believe it was defaulting to "01" (Daily Pickup). When I specified a pickup type of "03" (Customer Counter), the values returned from the API matched the website exactly.
<?xml version="1.0"?>
<RatingServiceSelectionRequest xml:lang="en-US">
<Request>
<RequestAction>Rate</RequestAction>
<RequestOption>Shop</RequestOption>
</Request>
<PickupType> <-- Make sure you are
<Code>03</Code> <-- specifying the
</PickupType> <-- pickup type
<Shipment>
...
</Shipment>
</RatingServiceSelectionRequest>
Download the documentation from here, and reference Rating Package - XML Developers Guide.pdf in the ZIP.