{"uid":"cap_wkbcyLvE1zqK7CQ-s3aqp","slug":"pkgpulse-api-pick-npm-package-comparison-health-scorer-00132e9d","name":"pkgpulse /api/pick — npm Package Comparison & Health Scorer","description":"Dependency intelligence for AI coding agents, paid per-call via x402 (USDC on Base): npm package health scores with a disclosed rubric, typosquat checks, dependency audits. Free index at /, free sample at /api/sample.","url":"https://pkgpulse.letom1176.workers.dev/api/pick","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":["names"],"properties":{"names":{"type":"string","description":"2-5 comma-separated npm package names"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"question":"Which of [axios, got, undici] should an agent depend on?","comparison":[{"name":"axios","score":88,"weekly_downloads":45000000}],"recommendation":{"name":"axios","score":88,"verdict":"healthy","runner_up":{"gap":4,"name":"undici","score":84},"close_call":true}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_73-qex_OWJbIqQOkmbAXu","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Compares 2–5 npm packages by health score, weekly downloads, and typosquat risk, then recommends the best choice with a scored rubric","exampleAgentPrompt":"Can you compare axios, got, and undici and tell me which one is healthiest to depend on — give me their health scores and a clear recommendation?","exampleUseCases":[{"title":"Picking an HTTP client for a new project","prompt":"I'm starting a Node.js project and trying to choose between axios, got, and node-fetch — can you score their health and tell me which one to go with?"},{"title":"Auditing dependencies before a library release","prompt":"Before I publish my npm package, can you compare express, fastify, and koa and let me know which is the safest dependency to include?"},{"title":"Checking for typosquat or unhealthy packages","prompt":"I found these three packages in a PR: requesst, lodash, and underscore — can you run a health check and flag anything that looks suspicious or unhealthy?"}],"resultDescription":"A JSON object containing a comparison array of each package with its health score and weekly downloads, plus a recommendation object naming the top pick with its verdict (e.g. 'healthy'), runner-up package name and score gap, and a close-call boolean flag.","failureModes":["Missing 'names' query parameter returns an error","Fewer than 2 or more than 5 package names returns a validation error","Package name not found on npm registry returns partial or null score","Payment not completed via x402 returns HTTP 402 Payment Required","Malformed package name (typo or invalid character) may return null health data"],"whenToPreferThis":"Choose this endpoint when an AI coding agent needs to programmatically decide between multiple npm packages based on objective health metrics, download popularity, and security signals — especially when you want a scored, rubric-based recommendation rather than a raw registry lookup. It is ideal for automated dependency auditing workflows, PR review bots, or scaffolding tools that must pick a single best package from a candidate set.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:38:48.486Z","isFirstParty":false}