Skip to main content

Zero-dependency client for the Auto Body Shop Directory public API - find US auto body shops by ZIP code, city, location, or shop profile (autobodyshopnear.com).

Project description

autobodyshop-api

Zero-dependency Python client for the Auto Body Shop Directory public API — find US auto body shops, collision centers, and paint shops by ZIP code, city, location, or shop profile.

Powered by AutoBodyShopNear.com, a directory of 80,000+ US auto body shops.

  • No API key required — the public API is free to use
  • Zero dependencies — standard library only (Python 3.8+)

Install

pip install autobodyshop-api

Usage

from autobodyshop_api import AutoBodyShopClient

client = AutoBodyShopClient()

# Find shops in a ZIP code
by_zip = client.shops_by_zip("77056")
print(by_zip["items"])

# Find shops in a city
by_city = client.shops_by_city("Houston", state="TX", limit=10)

# Find shops near a location
nearby = client.shops_nearby(29.7604, -95.3698, radius_miles=25)

# Fetch one shop's profile by slug
shop = client.shop_by_slug("champion-auto-parts-houston-tx-77056")
print(shop["name"], shop["profileUrl"])

Pagination

List endpoints accept limit (1–100, default 20) and offset, and return items, limit, offset, total, and hasMore:

offset, all_shops = 0, []
while True:
    page = client.shops_by_city("Houston", state="TX", limit=100, offset=offset)
    all_shops.extend(page["items"])
    if not page["hasMore"]:
        break
    offset += page["limit"]

Error handling

Failed requests raise AutoBodyShopApiError with status (HTTP status) and code (e.g. VALIDATION_ERROR, NOT_FOUND):

from autobodyshop_api import AutoBodyShopApiError

try:
    client.shop_by_slug("does-not-exist")
except AutoBodyShopApiError as err:
    print(err.code, err.status, err)

API reference

Method Endpoint Description
index() GET / API metadata and endpoint index
shops_by_zip(zip_code, ...) GET /shops/by-zip Shops in a 5-digit ZIP code
shops_by_city(city, state=None, ...) GET /shops/by-city Shops in a city (optional state)
shops_nearby(lat, lng, radius_miles=None, ...) GET /shops/nearby Shops near a lat/lng (radius 1–200 miles)
shop_by_slug(slug) GET /shops/{slug} Single shop profile

Full API documentation: autobodyshopnear.com/developers/body-shop-api OpenAPI spec: openapi.json

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autobodyshop_api-0.1.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autobodyshop_api-0.1.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file autobodyshop_api-0.1.1.tar.gz.

File metadata

  • Download URL: autobodyshop_api-0.1.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for autobodyshop_api-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d80179a48f37065e015b7eafa4f0b37aa04d866f7b74ccc4545bf45e874bbb28
MD5 b89b8cce3a1396f01b620135d77247d2
BLAKE2b-256 f46f35552d5ecc7e849d3d8b89a16782725dc088e136baa11126fa448feac52a

See more details on using hashes here.

File details

Details for the file autobodyshop_api-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for autobodyshop_api-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fa8e0bef07f29f4d5cebffacb6dd5d9ed0785708690c53c6d8247880bc7764cc
MD5 6ed482e82573d9b530382d21a60be0d0
BLAKE2b-256 37c51ffe8b60bef9f5995118593729198cc575403d165d10d23b0badeddc9675

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page