Use case

Product fit API

Check whether a public product page appears to fit buyer constraints before an agent recommends, shortlists, compares, or purchases it.

Problem

Shopping agents need source-grounded signals for price, must-have terms, avoid terms, compatibility, shipping, and availability. Product pages can be incomplete, blocked, or mostly navigation, so agents need conservative fit signals and confidence instead of unsupported claims.

Who needs it

  • Shopping agents that compare or shortlist product pages against buyer constraints.
  • Browser agents that need a pre-purchase product fit check.
  • Commerce workflows that need snippets, content hashes, and confidence for later review.

When an agent should use it

  • Before recommending, shortlisting, comparing, or purchasing a product.
  • When the caller needs budget, must-have, avoid, compatibility, use-case, shipping, and availability signals from public page text.

Relevant Primitive402 tool

Fetches a public product page and returns conservative product-fit signals for budget, must-have terms, avoid terms, compatibility, use case, shipping, and availability constraints.

Primitive402 toolcheck_product_fit
Local routePOST /v1/check-product-fit
x402 routePOST /x402/v1/check-product-fit
MCP tool namecheck_product_fit
SDK methodcheckProductFit()
Price$0.05 USDC on Base Sepolia testnet during public beta

curl example

curl -s https://primitive402.dev/v1/check-product-fit \
  -H 'content-type: application/json' \
  -d '{
  "productUrl": "https://example.com/products/daypack",
  "constraints": {
    "budgetMax": 120,
    "currency": "USD",
    "mustHave": [
      "water resistant",
      "laptop sleeve"
    ],
    "avoid": [
      "final sale"
    ],
    "compatibleWith": [
      "15 inch laptop"
    ],
    "useCase": "commuting",
    "locationOrShipping": "ships to United States"
  },
  "strictness": "medium",
  "maxSnippets": 5
}' | jq

TypeScript SDK example

import { createNano402Client } from "@nano402/api/sdk";

const client = createNano402Client({
  baseUrl: "https://primitive402.dev"
});

const result = await client.checkProductFit({
  "productUrl": "https://example.com/products/daypack",
  "constraints": {
    "budgetMax": 120,
    "currency": "USD",
    "mustHave": [
      "water resistant",
      "laptop sleeve"
    ],
    "avoid": [
      "final sale"
    ],
    "compatibleWith": [
      "15 inch laptop"
    ],
    "useCase": "commuting",
    "locationOrShipping": "ships to United States"
  },
  "strictness": "medium",
  "maxSnippets": 5
});
console.log(result);

Example JSON response

{
  "fit_score": 82,
  "verdict": "good_fit",
  "matched_constraints": [
    "budgetMax: detected $89 within 120",
    "mustHave: water resistant",
    "compatibleWith: 15 inch laptop"
  ],
  "unmet_constraints": [],
  "concerns": [],
  "price_detected": "$89",
  "compatibility_notes": [
    "Page text appears to mention compatibility with 15 inch laptop."
  ],
  "shipping_or_availability_notes": [
    "In stock with free shipping."
  ],
  "extracted_snippets": [
    "Price $89. Water resistant daypack with laptop sleeve."
  ],
  "confidence": 0.76,
  "content_hash": "sha256:...",
  "source_url": "https://example.com/products/daypack"
}

Useful search terms

product fit API, shopping agent API, buyer constraint check, product compatibility API, commerce agent product evaluation

Example source note

Primitive402 only reports signals supported by fetched public page text. Blocked, empty, or navigation-heavy pages return low confidence or unknown verdicts.

Safety and limitations

Primitive402 does not guarantee content safety, factual truth, legal validity, purchase correctness, or policy completeness. External content is untrusted, low-confidence results may still be valid analysis signals, and high-stakes decisions need human review.

Related docs