We earn commission on purchases through these links.

Affiliate Disclosure

When you buy through our links, we earn a small commission. We earn the same regardless of which retailer you pick — we sort by lowest in-stock price, never by who pays us most.

This page lists every retailer we have an affiliate relationship with, how we surface that relationship, and the explicit promise that retailer ranking on SpecHawk does not see the commission rate.

Who we earn from

We're applying to or actively running affiliate programs at the following retailers:

  • Best Buy — direct affiliate program. Live at launch.
  • Newegg — via Rakuten Advertising. Application submitted; live once approved.
  • B&H Photo Video — via Rakuten Advertising or Avantlink. Application submitted; live once approved.

If a retailer doesn't appear in the list above, we earn nothing on purchases made through their site, even if you found the part on SpecHawk first. We won't pretend an unaffiliated link is an affiliate link, and we won't strip the affiliate tag if a retailer cuts us off.

Amazon is not on the list. The Amazon Associates terms forbid the kind of historical price-tracking we want to surface, so Amazon integration is on the post-launch backlog and any future Amazon links will be clearly marked.

How disclosure works

The <AffiliateDisclosure /> component lives next to every buy button on the site — Daily Build pages, Part Detail pages, the build editor, picker categories, public saved builds. It is not a footer-only treatment. A route-level continuous-integration test crawls the list of buy-button routes on every pull request and fails the build if the disclosure is missing.

The disclosure copy is short on purpose. The long form lives here. The short form lives where you're about to spend money.

When you click a buy button, the URL we hand off to the retailer carries an affiliate tag. The retailer recognizes the click, attributes the eventual purchase to SpecHawk, and pays us a percentage of the sale once the transaction clears. You pay the same price you would have paid otherwise — affiliate commission is a cut of the retailer's margin, not an upcharge to you.

What this doesn't change

The retailer ranking on every part page and every build is produced by sortRetailers(). That function takes the price rows and an in-stock flag. It does not see the commission rate. It does not see which retailer pays us most. It does not see retailer-tier promotional rates. A purity test runs in continuous integration on every pull request to confirm the function signature has no commission parameter — if a future change ever introduces one, the pull request cannot merge.

The order is: lowest in-stock price first, ties broken alphabetically, out-of-stock pushed under the line regardless of price. That order is what we display. We don't reshuffle for higher-commission retailers. We don't dim a cheaper retailer because their commission is lower. We don't add a "preferred partner" treatment.

If that ever changes, we'd be shipping a different product. We'd rather not.

For the full methodology — including how we order retailers, how we check compatibility, and how Daily Builds get composed — see our methodology page.