{"provider":{"host":"agent-product-normalizer.vercel.app","name":"Should I Ask The Human?","score":50,"live":true,"checkedAt":"2026-11-02T03:39:50.791Z","uptime72h":100,"lastCheck":{"httpStatus":402,"ms":1680,"note":"valid x402 v2 terms"},"endpoints":21,"networks":["eip155:8453"],"cheapestUsd":"0.001","income7dUsd":"0.00","payers7d":0,"transfers7d":0,"payoutAddressShared":false,"claimed":false,"page":"https://logicnodes.io/observatory/p/agent-product-normalizer.vercel.app"},"endpoints":[{"url":"https://agent-product-normalizer.vercel.app/api/v1/missing-fields","method":"GET","priceMicroUsd":1000,"networks":["eip155:8453"],"description":"Check whether a tool call or structured request is missing required input fields"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/retry-decision","method":"GET","priceMicroUsd":1000,"networks":["eip155:8453"],"description":"Decide whether an API/tool failure should be retried and suggest the next action"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/dedupe-facts","method":"GET","priceMicroUsd":1500,"networks":["eip155:8453"],"description":"Deduplicate facts and near-duplicate notes to save downstream agent tokens"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/make-search-query","method":"GET","priceMicroUsd":1500,"networks":["eip155:8453"],"description":"Compress a verbose user task into search-engine-ready query variants"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/choose-next-step","method":"GET","priceMicroUsd":2000,"networks":["eip155:8453"],"description":"Rank candidate next actions against the current agent state"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/detect-conflicts","method":"GET","priceMicroUsd":2000,"networks":["eip155:8453"],"description":"Detect contradictory facts, negations and numeric mismatches before an agent acts"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/extract-actions","method":"GET","priceMicroUsd":2000,"networks":["eip155:8453"],"description":"Extract concrete action items, priority and deadline signals from messy text"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/handoff-diff","method":"GET","priceMicroUsd":2000,"networks":["eip155:8453"],"description":"Report what changed between two agent handoff states so the next agent reads only the delta"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/prompt-injection-scan","method":"GET","priceMicroUsd":2000,"networks":["eip155:8453"],"description":"Scan untrusted text for common prompt-injection and instruction-override patterns"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/redact-secrets","method":"GET","priceMicroUsd":2000,"networks":["eip155:8453"],"description":"Redact common API keys, tokens and private-key patterns before logging or handoff"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/extract-constraints","method":"GET","priceMicroUsd":3000,"networks":["eip155:8453"],"description":"Extract hard constraints, soft preferences, exclusions, budgets and deadlines from a human request"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/should-ask-human","method":"GET","priceMicroUsd":3000,"networks":["eip155:8453"],"description":"Decide whether an agent should ask the human or safely infer and continue"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/clarify","method":"GET","priceMicroUsd":5000,"networks":["eip155:8453"],"description":"Turn a messy human request into an execution-ready goal, constraints, ambiguity signals and one question only if needed"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/compress-context","method":"GET","priceMicroUsd":5000,"networks":["eip155:8453"],"description":"Compress long notes or conversation context into compact operational state for agent handoffs"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/rank-results","method":"GET","priceMicroUsd":5000,"networks":["eip155:8453"],"description":"Rank search results for a task and flag duplicate, stale and spam-like results"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/extract-offer","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Extract compact price, currency, availability and seller facts from a public product page"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/normalize","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Normalize a public product page into agent-ready commerce JSON"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/video-transcript","method":"GET","priceMicroUsd":15000,"networks":["eip155:8453"],"description":"Fetch a timestamped YouTube transcript so agents do not need to watch the video"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/validate","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Score whether a public product page contains enough reliable data for commerce agents"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/video-analyze","method":"GET","priceMicroUsd":25000,"networks":["eip155:8453"],"description":"Fetch one YouTube transcript and return a compact all-in-one analysis for agents"},{"url":"https://agent-product-normalizer.vercel.app/api/v1/compare","method":"GET","priceMicroUsd":50000,"networks":["eip155:8453"],"description":"Compare 2 to 5 public product pages and select the cheapest offer separately per currency"}]}