{"uid":"cap_ihQpv5C-jDiunIG73kGUH","slug":"agent-fact-deduplicator-12e1f693","name":"Agent Fact Deduplicator","description":"Deduplicate facts and near-duplicate notes to save downstream agent tokens","url":"https://agent-product-normalizer.vercel.app/api/v1/dedupe-facts","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["text"],"properties":{"text":{"type":"string","maxLength":20000,"description":"Facts, notes, or claims to deduplicate"}},"additionalProperties":true}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0015","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.0015/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0015","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0015","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_uTk9jgHgBWfTU48TdOwn8","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0015","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Deduplicates facts and near-duplicate notes from a text block to reduce redundancy and save downstream agent tokens","exampleAgentPrompt":"I have a bunch of notes from my research pass that are full of repeated and near-duplicate facts — can you deduplicate them so I'm not wasting tokens passing the same info downstream? Here's the text: 'The Eiffel Tower is in Paris. The Eiffel Tower is located in Paris, France. Paris is the capital of France. France's capital city is Paris. The Eiffel Tower stands in Paris.'","exampleUseCases":[{"title":"Research note cleanup before summarization","prompt":"I just scraped a bunch of facts about climate change from multiple sources and a lot of them say nearly the same thing — can you deduplicate this block of notes before I send it to the summarizer? Here's the text: 'Global temperatures have risen 1.1°C since pre-industrial times. The planet has warmed by about 1.1 degrees Celsius. CO2 emissions are the primary driver of climate change. Carbon dioxide is the main cause of global warming.'"},{"title":"Agent memory compression between handoffs","prompt":"Before I hand off my working memory to the next agent, can you strip out the near-duplicate facts from this context so we don't waste its token budget on repetition? Here's the working memory dump: 'User wants a flight to Tokyo. The user is looking to fly to Tokyo, Japan. Budget is under $800. The user's budget is $800 or less. Departure is from JFK.'"},{"title":"Deduplicating LLM-extracted claims","prompt":"My extraction agent pulled claims from five paragraphs and there's a lot of overlap — can you deduplicate these claims so I only keep the unique ones? Text: 'The company was founded in 2010. The startup was established in 2010. Revenue grew 40% last year. The firm saw 40% revenue growth in the past year. The CEO is Jane Smith. Jane Smith leads the company as CEO.'"}],"resultDescription":"Returns a deduplicated version of the input text, removing exact duplicates and collapsing near-duplicate facts or notes into their unique representatives, reducing token count while preserving informational coverage.","failureModes":["Missing required 'text' query parameter returns a validation error","Text exceeding 20,000 characters is rejected with a length error","Ambiguous near-duplicates may be over-aggressively merged if phrasing is highly similar but semantically distinct","Very short inputs with only one fact return the input unchanged","Network timeout on large inputs close to the character limit"],"whenToPreferThis":"Choose this endpoint when an agent has accumulated a set of facts, notes, or claims from multiple passes or sources and needs to consolidate them before forwarding to a downstream agent or summarizer — especially when token budget is a concern. Prefer this over manual deduplication logic or general-purpose summarizers when the goal is specifically to remove redundancy without losing unique facts.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-18T06:41:52.299Z","isFirstParty":false}