1A Auto
1A Auto's DIY replacement-parts catalog — search results and one product's real price, stock and description — read off the live storefront.
Domain: 1aauto.com
Also known as: aauto, 1aauto, 1A Auto, 1AAuto
Call it directly
bowmark.providers.aauto.search(query: string, opts?: { limit?: number }): Promise<AautoSearchResult>
bowmark.providers.aauto.getProduct(url: string): Promise<AautoProduct>Functions
| Function | What it does |
|---|---|
search | Reads 1A Auto's own search-results page for query — real price, brand, category and product URL per row, plus the site's own total-match count. |
getProduct | Reads one product page by the URL search() returns (absolute or a site-relative path) — title, brand, SKU, price, live stock status and description text. |
Types
interface AautoSearchProduct {
id: string;
title: string;
brand: string;
category: string;
price: number;
url: string;
image: string | null;
}
interface AautoSearchResult {
query: string;
/** The site's own reported match count — can exceed products.length. */
totalResults: number;
products: AautoSearchProduct[];
}
interface AautoProduct {
id: string;
title: string;
brand: string;
category: string;
price: number;
sku: string | null;
inStock: boolean;
description: string;
image: string | null;
url: string;
}Examples
// what brake pads does 1A Auto sell, cheapest first?
const { products, totalResults } = await bowmark.providers.aauto.search("brake pads", { limit: 10 });
log(`${totalResults} total matches, cheapest: ${products.sort((a, b) => a.price - b.price)[0]?.title}`);// is a specific part in stock right now?
const { products } = await bowmark.providers.aauto.search("front ceramic brake pad and rotor kit");
const p = await bowmark.providers.aauto.getProduct(products[0].url);
log(`${p.title}: ${p.inStock ? "in stock" : "out of stock"} at $${p.price}`);