Developers
Get a key, make one request, and use REST or MCP over the same service layer.
Make a request
curl -s "https://api.napexa.com/v1/products/search" \
-H "Authorization: Bearer $APG_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "battery for DeWalt DCD796N", "limit": 5}'What comes back
{
"request_id": "req_...",
"coverage": {
"merchants_searched": 4,
"merchants_known": 27,
"market_complete": false,
"limitations": ["2 of 6 offers do not publish a complete delivered price..."]
},
"results": [{
"product": { "id": "prd_...", "title": "DeWalt DCB184 18V XR 5.0Ah Battery" },
"match": { "type": "compatible", "confidence": "0.99", "identity": "confirmed" },
"best_offer": {
"price": { "total": "62.49", "currency": "GBP", "completeness": "complete",
"comparable_as_total": true },
"availability": "in_stock"
},
"purchase_ready": true,
"ranking_explanation": ["Confirmed compatibility evidence", "complete delivered price"]
}],
"price_claim": "lowest known item price of the 4 of 27 merchants searched",
"ranking": { "config_version": "v1-default", "commercial_signal_used": false }
}Fields worth reading before you build
purchase_readyThe only field that means 'safe to act on'. False whenever stock is unknown, the price is not a complete total, identity is not confirmed, or the observation is stale.
price.completenesscomplete, shipping_estimated, tax_estimated, location_required, incomplete. Only 'complete' produces a total, and only totals may be compared as totals.
coverage.market_completeAlways false. Use coverage.merchants_searched and merchants_known when phrasing any claim to a user.
match.identityconfirmed, high_confidence, probable, candidate. Only the first two are safe to base a purchase recommendation on.
MCP
A stateless MCP server exposes the same services as fourteen tools. Point your client at https://mcp.napexa.com/mcp with your key in the Authorization header. Sessions carry no credential, so any instance serves any request.
{
"mcpServers": {
"napexa": {
"url": "https://mcp.napexa.com/mcp",
"headers": { "Authorization": "Bearer apg_live_YOUR_KEY" }
}
}
}