Discover/U-Haul API
live

U-Haul APIuhaul.com

Access U-Haul truck rates, trailer types, storage units, and location data via API. Search by date, pickup, and drop-off for live pricing and availability.

Endpoint health
verified 16h ago
search_trailer_rates
search_truck_rates
search_storage_units
get_truck_types
find_locations
8/8 passing latest checkself-healing
Endpoints
8
Updated
22d ago

What is the U-Haul API?

The U-Haul API exposes 8 endpoints covering truck rental pricing, trailer catalogs, self-storage unit listings, and nearby location lookup. The search_truck_rates endpoint returns daily rates, mileage charges, and inside dimensions for every available truck on a given date between two locations. Storage queries span both facility search and per-unit pricing, giving developers full coverage from move planning to storage comparison.

Try it
Pickup date in MM/DD/YYYY format (e.g. '07/01/2026').
Pickup city and state (e.g. 'Phoenix, AZ') or zip code.
Drop-off location for one-way rentals (e.g. 'Los Angeles, CA'). Omitting returns in-town rates.
api.parse.bot/scraper/38b07629-45cb-4bed-9b33-28064c47e8ac/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/38b07629-45cb-4bed-9b33-28064c47e8ac/search_truck_rates?pickup_date=07%2F21%2F2026&pickup_location=Phoenix%2C+AZ&dropoff_location=Los+Angeles%2C+CA' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace uhaul-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""U-Haul API: search truck rates, browse facilities, and explore storage units."""
from parse_apis.u_haul_api import UHaul, LocationNotFound

client = UHaul()

# Search for one-way truck rental rates from Phoenix to LA.
truck = client.truckrates.search(
    pickup_location="Phoenix, AZ",
    pickup_date="07/15/2026",
    dropoff_location="Los Angeles, CA",
    limit=3,
).first()
if truck:
    print(f"Top truck: {truck.name}, rate={truck.rate}, type={truck.moving_type}")

# Browse all truck type specifications.
for tt in client.trucktypes.list(limit=3):
    print(f"{tt.name}: {tt.volume}, max_load={tt.max_load}, mpg={tt.mpg}")

# Find storage facilities near a zip code, then drill into the first one's units.
facility = client.facilities.search(location="85001", limit=1).first()
if facility:
    print(f"Facility: {facility.name}, starts at {facility.starting_price}")
    for unit in facility.units.list(limit=3):
        print(f"  {unit.dimensions} — {unit.price_per_month}, features={unit.features}")

# Combined facility+units search in one call.
fwu = client.facilitywithunitses.search(location="Phoenix, AZ", limit=1).first()
if fwu:
    print(f"Facility: {fwu.facility_name}, units={len(fwu.units)}")

# Search for U-Haul locations and handle a not-found error.
try:
    for loc in client.locations.search(location="Phoenix, AZ", limit=2):
        print(f"Location: {loc.name}, rating={loc.rating}, phone={loc.phone}")
except LocationNotFound as exc:
    print(f"No locations: {exc}")

# List moving supply categories.
for cat in client.supplycategories.list(limit=3):
    print(f"Category: {cat.name}, url={cat.url}")

print("Exercised: truckrates.search, trucktypes.list, facilities.search, facility.units.list, facilitywithunitses.search, locations.search, supplycategories.list")
All endpoints · 8 totalmissing one? ·

Search for available trucks and pricing between two locations on a given date. Returns truck names, daily rates, mileage rates, and moving type recommendations. One-way moves include mileage in the rate; in-town rates show per-mile charges separately.

Input
ParamTypeDescription
pickup_daterequiredstringPickup date in MM/DD/YYYY format (e.g. '07/01/2026').
pickup_locationrequiredstringPickup city and state (e.g. 'Phoenix, AZ') or zip code.
dropoff_locationstringDrop-off location for one-way rentals (e.g. 'Los Angeles, CA'). Omitting returns in-town rates.
Response
{
  "type": "object",
  "fields": {
    "trucks": "array of truck objects with name, rate, mileage_rate, moving_type, and inside_dimensions",
    "pickup_date": "string, the pickup date as provided",
    "total_trucks": "integer, number of available trucks",
    "pickup_location": "string, the pickup location as provided",
    "dropoff_location": "string or null, the drop-off location if provided"
  },
  "sample": {
    "data": {
      "trucks": [
        {
          "name": "10' Truck",
          "rate": "$284.00",
          "moving_type": "Studio to 1 Bedroom Apt.",
          "mileage_rate": null,
          "inside_dimensions": "9'11\" x 6'4\" x 6'2\" (LxWxH)"
        },
        {
          "name": "15' Truck",
          "rate": "$299.00",
          "moving_type": "1 Bedroom Home to 2 Bedroom Apt.",
          "mileage_rate": null,
          "inside_dimensions": "15' x 7'8\" x 7'2\" (LxWxH)"
        }
      ],
      "pickup_date": "07/01/2026",
      "total_trucks": 6,
      "pickup_location": "Phoenix, AZ",
      "dropoff_location": "Los Angeles, CA"
    },
    "status": "success"
  }
}

About the U-Haul API

Truck and Trailer Rates

The search_truck_rates endpoint takes a pickup_date (MM/DD/YYYY), a pickup_location, and an optional dropoff_location. When dropoff_location is omitted the response reflects in-town rental pricing where mileage_rate is listed separately per truck. When both locations are provided, one-way rates are returned with mileage bundled into a single rate field. Each truck object includes name, rate, mileage_rate, moving_type, and inside_dimensions. The get_truck_types endpoint returns static specs for every truck model — volume, max load, MPG, seat count, and towing capacity — without requiring any location or date input.

The search_trailer_rates endpoint takes a pickup_date and pickup_location and returns the available trailer catalog with name, url, and capacity per trailer. Note that trailer pricing on U-Haul depends on towing vehicle selection, so this endpoint reflects the available trailer types rather than a quoted dollar rate.

Storage Facilities and Units

Storage queries can be executed at two levels of depth. search_facilities accepts a location (zip or city/state) and returns a list of nearby facilities with name, address, distance, rating, reviews, and starting_price — useful for building a facility comparison view quickly. For deeper detail, get_facility_units takes a facility_url from those results and returns every available unit with dimensions, price_per_month, description, and features. The search_storage_units endpoint combines both steps: it fetches nearby facilities and immediately retrieves unit-level detail, returning facilities_with_units in a single call at the cost of higher latency.

Locations and Supplies

find_locations accepts any address, city/state, or zip code and returns an array of U-Haul branches with address, phone, hours, services, rating, and reviews — covering what each branch actually offers. get_moving_supplies_categories returns the full list of product categories (boxes, packing materials, covers, tools, etc.) with names and URLs, serving as a directory for navigating the supplies catalog.

Reliability & maintenanceVerified

The U-Haul API is a managed, monitored endpoint for uhaul.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when uhaul.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official uhaul.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
16h ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Compare one-way truck rental costs between two cities for a given move date using search_truck_rates
  • Build a truck size selector tool using specs from get_truck_types such as volume, MPG, and max load
  • Find self-storage facilities near a zip code and surface per-unit monthly pricing with search_storage_units
  • Display a map of nearby U-Haul branches with hours and services using find_locations
  • Aggregate storage unit prices across multiple facilities by chaining search_facilities with get_facility_units
  • List available trailer types for a pickup location and date via search_trailer_rates for a move planning tool
  • Enumerate all moving supply categories from get_moving_supplies_categories to link users to relevant product pages
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does U-Haul have an official public developer API?+
U-Haul does not publish a public developer API or developer portal. There is no documented REST or GraphQL API available to third-party developers through official channels.
What is the difference between `search_facilities` and `search_storage_units`?+
search_facilities returns a lightweight list of nearby storage facilities — name, address, distance, rating, and starting price — without unit detail. search_storage_units goes further by also retrieving per-unit data (dimensions, price_per_month, features) for each facility in a single call. Use search_facilities when you only need a facility overview, and get_facility_units separately when you want full unit detail for a specific location.
Does `search_truck_rates` return pricing for both one-way and in-town rentals?+
Yes. When you supply only a pickup_location, the response returns in-town rates where mileage_rate is a separate per-mile charge. When you add a dropoff_location, the response shifts to one-way pricing where mileage is bundled into the rate field. The moving_type field on each truck object indicates which rental type applies.
Does the API return actual dollar pricing for trailer rentals?+
The search_trailer_rates endpoint returns the trailer catalog with name, url, and capacity, but not a quoted price. On U-Haul's site, trailer rates depend on the towing vehicle selected, so a flat rate is not available without that input. The API currently covers truck rates with full pricing. You can fork it on Parse and revise to add a towing-vehicle parameter if you need trailer price quotes.
Does the API cover U-Haul U-Box portable container rentals or moving labor marketplace listings?+
Not currently. The API covers truck rentals, trailers, self-storage units, physical branch locations, and moving supply categories. U-Box containers and moving labor listings are not included. You can fork it on Parse and revise to add endpoints for those product lines.
Page content last updated . Spec covers 8 endpoints from uhaul.com.
Related APIs in TravelSee all →
moving.com API
Compare cities by demographics and schools, search moving companies, and read moving guides to plan your relocation. Get detailed profiles on neighborhoods, company ratings, and expert articles to make informed decisions about your move.
hertz.com API
Search Hertz rental locations and instantly compare available vehicles with real-time pricing, fees, and vehicle features for your desired pickup and dropoff dates. Find the perfect rental car deal by browsing inventory across multiple locations and filtering by your travel needs.
enterprise.com API
Search Enterprise Rent-A-Car locations near you and check real-time vehicle availability with pricing to find the perfect rental car across the US. Compare options at different branches and instantly see what's available for your desired travel dates.
jbhunt.com API
Track your J.B. Hunt shipments in real-time for both business and home deliveries, search for service information across their site, and access freight class and location data for LTL quoting. Get company information and reference data to support your logistics and shipping needs.
turo.com API
Search for peer-to-peer car rentals across Turo by location and dates to browse available vehicles with pricing, specifications, and real-time availability. Get detailed information on specific cars to compare features and make rental decisions.
uline.com API
Search Uline's catalog by keyword or category to instantly access product details, pricing, and real-time stock availability. Browse product lines and subcategories, retrieve individual model specifications, and check inventory levels across Uline's full range of industrial and commercial supplies.
dat.com API
Track real-time market conditions, fuel prices, and freight rate trends to make data-driven logistics decisions. Access industry insights through blog posts and resource materials to stay informed on transportation market dynamics.
homedepot.com API
Search and browse Home Depot's product catalog to compare pricing, check real-time availability, and review detailed product specifications. Find products across all categories, look up store locations and hours, and check fulfillment options including in-store pickup and delivery.