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
- Website: autobodyshopnear.com
- Terms of service: autobodyshopnear.com/terms-of-service
- Node.js client:
autobodyshop-apion npm
License
MIT
Release files for autobodyshop-api 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autobodyshop_api-0.1.1.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autobodyshop_api-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.0 kB
Release files / autobodyshop_api-0.1.1.tar.gz
| Download URL | autobodyshop_api-0.1.1.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d80179a48f37065e015b7eafa4f0b37aa04d866f7b74ccc4545bf45e874bbb28
|
|
BLAKE2b-256 checksum How to use checksums |
f46f35552d5ecc7e849d3d8b89a16782725dc088e136baa11126fa448feac52a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|
Release files / autobodyshop_api-0.1.1-py3-none-any.whl
| Download URL | autobodyshop_api-0.1.1-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fa8e0bef07f29f4d5cebffacb6dd5d9ed0785708690c53c6d8247880bc7764cc
|
|
BLAKE2b-256 checksum How to use checksums |
37c51ffe8b60bef9f5995118593729198cc575403d165d10d23b0badeddc9675
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|