Bowmark AIdocs

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

FunctionWhat it does
searchReads 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.
getProductReads 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}`);