{"asOf":"2026-10-03","doesNotChangeDepotPicks":true,"doesNotChangePriceSort":true,"doesNotRescore":true,"caps":{"needs":6,"freePerNeed":3,"caseStudies":3},"class":{"id":"research","name":"Research agent","definition":"Gathers sources for an open-ended question and returns an answer that names those sources.","needs":{"jtbdIds":["deep-research-agents","web-grounded-qa","agent-search","search-augmented-llm","web-scrape","llm-ready-extract"],"freeKinds":["free_docs","free_data","free_browser"],"capabilityTags":["search","agents"],"plain":["A stop rule for when enough sources have been read"]},"failureModeIds":["prompt-injection","stale-retrieval","tool-loop","runaway-spend","lost-in-the-middle","ungrounded-answer","instruction-drift","inter-agent-misalignment","context-overflow","policy-conflict","silent-truncation"],"exampleTasks":["Answer a question with the URLs that support each claim","Say when the fetched pages do not contain the answer","Split a question across workers and check that each result matches its assignment"]},"needsConsidered":["deep-research-agents","web-grounded-qa","agent-search","search-augmented-llm","web-scrape","llm-ready-extract"],"needsOmitted":[],"jobs":[{"jtbdId":"deep-research-agents","decide":{"available":true,"unavailableReason":null,"providerId":"parallel","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"perplexity","cite":"Depot Pick for deep-research-agents: parallel (asOf 2026-09-14). See GET /api/jtbds/deep-research-agents + GET /api/methodology.","citePath":"/api/jtbds/deep-research-agents"},"quote":{"available":true,"unavailableReason":null,"cheapest":{"providerId":"exa","slug":"exa","name":"Exa","skuId":"exa-agent-search-tool-call-usd-per-search","sku":"Agent search tool call","item":"Agent search tool call","plan":"Agent search tool call — $0","isFloorPrice":false,"floorWarning":null,"skuKind":"search","unit":"usd_per_search","amountUsd":0.005,"comparison":"min sourced search SKU among candidates; usd_per_search only; not coerced to another search unit; not a chat $/1M rate; not quality-adjusted","usdPerMillionInputTokens":null,"sourceUrl":"https://exa.ai/pricing","asOf":"2026-10-03"},"recommendedWorkloadQuote":null,"representativeQuote":null,"estimatedTaskCost":null,"reason":null,"priceWinnerNote":"Only 1 candidate has a matching USD per search; nothing was compared, so pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[{"id":"crawl4ai","name":"Crawl4AI","kind":"free_browser","cost":"oss","substitutable":true,"sourceUrl":"https://raw.githubusercontent.com/unclecode/crawl4ai/main/LICENSE"},{"id":"gaia","name":"GAIA","kind":"free_data","cost":"free","substitutable":true,"sourceUrl":"https://huggingface.co/datasets/gaia-benchmark/GAIA/resolve/main/README.md"}],"freeMatch":"jtbd"},{"jtbdId":"web-grounded-qa","decide":{"available":true,"unavailableReason":null,"providerId":"perplexity","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"exa","cite":"Depot Pick for web-grounded-qa: perplexity (asOf 2026-09-14). See GET /api/jtbds/web-grounded-qa + GET /api/methodology.","citePath":"/api/jtbds/web-grounded-qa"},"quote":{"available":true,"unavailableReason":null,"cheapest":{"providerId":"perplexity","slug":"perplexity","name":"Perplexity","skuId":"pplx-embed-06b","sku":"pplx-embed-v1-0.6b","item":"pplx-embed-v1-0.6b","plan":"pplx-embed-v1-0.6b — Standard embeddings","isFloorPrice":true,"floorWarning":"Provider-wide floor SKU; may not be the flagship model scored for this JTBD.","skuKind":"chat_completion_input","unit":"usd_per_million_tokens","amountUsd":0.004,"comparison":"min sourced input SKU among candidates; not quality-adjusted","usdPerMillionInputTokens":0.004,"sourceUrl":"https://docs.perplexity.ai/docs/getting-started/pricing","asOf":"2026-10-03"},"recommendedWorkloadQuote":{"providerId":"perplexity","providerName":"Perplexity","skuId":"pplx-embed-06b","item":"pplx-embed-v1-0.6b","plan":"pplx-embed-v1-0.6b — Standard embeddings","unit":"usd_per_million_tokens","amountUsd":0.004,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://docs.perplexity.ai/docs/getting-started/pricing","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-27","isFlagshipForJob":false,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"pplx-embed-06b","item":"pplx-embed-v1-0.6b","plan":"pplx-embed-v1-0.6b — Standard embeddings","amountUsd":0.004,"inputOrUnitUsd":0.004,"unit":"usd_per_million_tokens","outputUsd":null,"outputUnit":null,"sourceUrl":"https://docs.perplexity.ai/docs/getting-started/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"inputTokensPerTask":4000,"outputTokensPerTask":0,"baseCostPer1kTasksUsd":0.016,"totalUsd":0.0184,"estimatedTotalUsd":0.0184,"perTaskUsd":0.000018,"estimatedCostPerTaskUsd":0.000018,"formula":"((4,000 tokens * $0.004/1M) * 1,000 tasks) * 1.15 overhead","assumptions":"1,000 agent tasks @ 4k input + 1k output tokens/task with 1.15x retry/tool-call overhead."}},"representativeQuote":{"skuId":"pplx-embed-06b","item":"pplx-embed-v1-0.6b","plan":"pplx-embed-v1-0.6b — Standard embeddings","amountUsd":0.004,"inputOrUnitUsd":0.004,"unit":"usd_per_million_tokens","outputUsd":null,"outputUnit":null,"sourceUrl":"https://docs.perplexity.ai/docs/getting-started/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"inputTokensPerTask":4000,"outputTokensPerTask":0,"baseCostPer1kTasksUsd":0.016,"totalUsd":0.0184,"estimatedTotalUsd":0.0184,"perTaskUsd":0.000018,"estimatedCostPerTaskUsd":0.000018,"formula":"((4,000 tokens * $0.004/1M) * 1,000 tasks) * 1.15 overhead","assumptions":"1,000 agent tasks @ 4k input + 1k output tokens/task with 1.15x retry/tool-call overhead."},"reason":null,"priceWinnerNote":"Pick is the cheapest sourced input $/1M among candidates (0.004)."},"pickIsNotPriceWinner":false,"freeResources":[{"id":"gemini-2.5-search-grounding-free","name":"Gemini 2.5 Flash Google Search grounding free requests","kind":"free_tool","cost":"free","substitutable":true,"sourceUrl":"https://ai.google.dev/gemini-api/docs/pricing"}],"freeMatch":"jtbd"},{"jtbdId":"agent-search","decide":{"available":true,"unavailableReason":null,"providerId":"exa","scoreAsOf":"2026-10-19","scoreAgeDays":8,"scoreStale":false,"runnerUpId":"tavily","cite":"Depot Pick for agent-search: exa (asOf 2026-10-19). See GET /api/jtbds/agent-search + GET /api/methodology.","citePath":"/api/jtbds/agent-search"},"quote":{"available":true,"unavailableReason":null,"cheapest":{"providerId":"serper","slug":"serper","name":"Serper","skuId":"serper-starter-1k","sku":"Google SERP API, Starter top-up","item":"Google SERP API, Starter top-up","plan":"Google SERP API, Starter top-up — Prepaid top-up: $50 for 50k credits = 50,000 queries ($1","isFloorPrice":false,"floorWarning":null,"skuKind":"search","unit":"usd_per_1k_searches","amountUsd":1,"comparison":"min sourced search SKU among candidates; usd_per_1k_searches only; not coerced to another search unit; not a chat $/1M rate; not quality-adjusted","usdPerMillionInputTokens":null,"sourceUrl":"https://serper.dev/","asOf":"2026-10-19"},"recommendedWorkloadQuote":{"providerId":"exa","providerName":"Exa","skuId":"exa-agent-search-tool-call-usd-per-search","item":"Agent search tool call","plan":"Agent search tool call — $0","unit":"usd_per_search","amountUsd":0.005,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://exa.ai/pricing","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-03","isFlagshipForJob":false,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"exa-agent-search-tool-call-usd-per-search","item":"Agent search tool call","plan":"Agent search tool call — $0","amountUsd":0.005,"inputOrUnitUsd":0.005,"unit":"usd_per_search","outputUsd":null,"outputUnit":null,"sourceUrl":"https://exa.ai/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.005,"totalUsd":0.0057,"estimatedTotalUsd":0.0057,"perTaskUsd":0.000006,"estimatedCostPerTaskUsd":0.000006,"formula":"$0.005 (usd_per_search) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."}},"representativeQuote":{"skuId":"exa-agent-search-tool-call-usd-per-search","item":"Agent search tool call","plan":"Agent search tool call — $0","amountUsd":0.005,"inputOrUnitUsd":0.005,"unit":"usd_per_search","outputUsd":null,"outputUnit":null,"sourceUrl":"https://exa.ai/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.005,"totalUsd":0.0057,"estimatedTotalUsd":0.0057,"perTaskUsd":0.000006,"estimatedCostPerTaskUsd":0.000006,"formula":"$0.005 (usd_per_search) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."},"reason":null,"priceWinnerNote":"Pick is not a price winner. Cheapest matching USD per 1k searches among candidates is serper at 1. The pick has no matching sourced price. Chat input $/1M was not borrowed."},"pickIsNotPriceWinner":true,"freeResources":[{"id":"gemini-2.5-search-grounding-free","name":"Gemini 2.5 Flash Google Search grounding free requests","kind":"free_tool","cost":"free","substitutable":true,"sourceUrl":"https://ai.google.dev/gemini-api/docs/pricing"}],"freeMatch":"jtbd"},{"jtbdId":"search-augmented-llm","decide":{"available":true,"unavailableReason":null,"providerId":"tavily","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"exa","cite":"Depot Pick for search-augmented-llm: tavily (asOf 2026-09-14). See GET /api/jtbds/search-augmented-llm + GET /api/methodology.","citePath":"/api/jtbds/search-augmented-llm"},"quote":{"available":true,"unavailableReason":null,"cheapest":{"providerId":"exa","slug":"exa","name":"Exa","skuId":"exa-agent-search-tool-call-usd-per-search","sku":"Agent search tool call","item":"Agent search tool call","plan":"Agent search tool call — $0","isFloorPrice":false,"floorWarning":null,"skuKind":"search","unit":"usd_per_search","amountUsd":0.005,"comparison":"min sourced search SKU among candidates; usd_per_search only; not coerced to another search unit; not a chat $/1M rate; not quality-adjusted","usdPerMillionInputTokens":null,"sourceUrl":"https://exa.ai/pricing","asOf":"2026-10-03"},"recommendedWorkloadQuote":{"providerId":"tavily","providerName":"Tavily","skuId":"tavily-growth-price-per-credit-usd-per-credit","item":"Growth price per credit","plan":"Growth price per credit — As printed","unit":"usd_per_credit","amountUsd":0.005,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://docs.tavily.com/documentation/api-credits","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-03","isFlagshipForJob":false,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"tavily-growth-price-per-credit-usd-per-credit","item":"Growth price per credit","plan":"Growth price per credit — As printed","amountUsd":0.005,"inputOrUnitUsd":0.005,"unit":"usd_per_credit","outputUsd":null,"outputUnit":null,"sourceUrl":"https://docs.tavily.com/documentation/api-credits","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.005,"totalUsd":0.0057,"estimatedTotalUsd":0.0057,"perTaskUsd":0.000006,"estimatedCostPerTaskUsd":0.000006,"formula":"$0.005 (usd_per_credit) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."}},"representativeQuote":{"skuId":"tavily-growth-price-per-credit-usd-per-credit","item":"Growth price per credit","plan":"Growth price per credit — As printed","amountUsd":0.005,"inputOrUnitUsd":0.005,"unit":"usd_per_credit","outputUsd":null,"outputUnit":null,"sourceUrl":"https://docs.tavily.com/documentation/api-credits","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.005,"totalUsd":0.0057,"estimatedTotalUsd":0.0057,"perTaskUsd":0.000006,"estimatedCostPerTaskUsd":0.000006,"formula":"$0.005 (usd_per_credit) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."},"reason":null,"priceWinnerNote":"Only 1 candidate has a matching USD per search; nothing was compared, so pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[],"freeMatch":"none"},{"jtbdId":"web-scrape","decide":{"available":true,"unavailableReason":null,"providerId":"firecrawl","scoreAsOf":"2026-10-19","scoreAgeDays":8,"scoreStale":false,"runnerUpId":"scrapingbee","cite":"Depot Pick for web-scrape: firecrawl (asOf 2026-10-19). See GET /api/jtbds/web-scrape + GET /api/methodology.","citePath":"/api/jtbds/web-scrape"},"quote":{"available":true,"unavailableReason":null,"cheapest":null,"recommendedWorkloadQuote":{"providerId":"firecrawl","providerName":"Firecrawl","skuId":"firecrawl-hobby-extra-credits","item":"Hobby extra credits","plan":"Hobby extra credits — 1,000 extra credits per $5","unit":"usd_per_1k_credits","amountUsd":5,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://www.firecrawl.dev/pricing","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-03","isFlagshipForJob":true,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"firecrawl-hobby-extra-credits","item":"Hobby extra credits","plan":"Hobby extra credits — 1,000 extra credits per $5","amountUsd":5,"inputOrUnitUsd":5,"unit":"usd_per_1k_credits","outputUsd":null,"outputUnit":null,"sourceUrl":"https://www.firecrawl.dev/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":5,"totalUsd":5.75,"estimatedTotalUsd":5.75,"perTaskUsd":0.00575,"estimatedCostPerTaskUsd":0.00575,"formula":"(1,000 calls @ $5/1k_credits) * 1.15 overhead","assumptions":"1,000 tasks @ 1 request/task with 1.15x retry/tool-call overhead."}},"representativeQuote":{"skuId":"firecrawl-hobby-extra-credits","item":"Hobby extra credits","plan":"Hobby extra credits — 1,000 extra credits per $5","amountUsd":5,"inputOrUnitUsd":5,"unit":"usd_per_1k_credits","outputUsd":null,"outputUnit":null,"sourceUrl":"https://www.firecrawl.dev/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":5,"totalUsd":5.75,"estimatedTotalUsd":5.75,"perTaskUsd":0.00575,"estimatedCostPerTaskUsd":0.00575,"formula":"(1,000 calls @ $5/1k_credits) * 1.15 overhead","assumptions":"1,000 tasks @ 1 request/task with 1.15x retry/tool-call overhead."},"reason":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.","priceWinnerNote":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[{"id":"crawl4ai","name":"Crawl4AI","kind":"free_browser","cost":"oss","substitutable":true,"sourceUrl":"https://raw.githubusercontent.com/unclecode/crawl4ai/main/LICENSE"}],"freeMatch":"jtbd"},{"jtbdId":"llm-ready-extract","decide":{"available":true,"unavailableReason":null,"providerId":"firecrawl","scoreAsOf":"2026-10-19","scoreAgeDays":8,"scoreStale":false,"runnerUpId":"scrapingbee","cite":"Depot Pick for llm-ready-extract: firecrawl (asOf 2026-10-19). See GET /api/jtbds/llm-ready-extract + GET /api/methodology.","citePath":"/api/jtbds/llm-ready-extract"},"quote":{"available":true,"unavailableReason":null,"cheapest":null,"recommendedWorkloadQuote":{"providerId":"firecrawl","providerName":"Firecrawl","skuId":"firecrawl-hobby-extra-credits","item":"Hobby extra credits","plan":"Hobby extra credits — 1,000 extra credits per $5","unit":"usd_per_1k_credits","amountUsd":5,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://www.firecrawl.dev/pricing","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-03","isFlagshipForJob":true,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"firecrawl-hobby-extra-credits","item":"Hobby extra credits","plan":"Hobby extra credits — 1,000 extra credits per $5","amountUsd":5,"inputOrUnitUsd":5,"unit":"usd_per_1k_credits","outputUsd":null,"outputUnit":null,"sourceUrl":"https://www.firecrawl.dev/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":5,"totalUsd":5.75,"estimatedTotalUsd":5.75,"perTaskUsd":0.00575,"estimatedCostPerTaskUsd":0.00575,"formula":"(1,000 calls @ $5/1k_credits) * 1.15 overhead","assumptions":"1,000 tasks @ 1 request/task with 1.15x retry/tool-call overhead."}},"representativeQuote":{"skuId":"firecrawl-hobby-extra-credits","item":"Hobby extra credits","plan":"Hobby extra credits — 1,000 extra credits per $5","amountUsd":5,"inputOrUnitUsd":5,"unit":"usd_per_1k_credits","outputUsd":null,"outputUnit":null,"sourceUrl":"https://www.firecrawl.dev/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":5,"totalUsd":5.75,"estimatedTotalUsd":5.75,"perTaskUsd":0.00575,"estimatedCostPerTaskUsd":0.00575,"formula":"(1,000 calls @ $5/1k_credits) * 1.15 overhead","assumptions":"1,000 tasks @ 1 request/task with 1.15x retry/tool-call overhead."},"reason":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.","priceWinnerNote":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[{"id":"markitdown","name":"MarkItDown","kind":"dev_tool","cost":"oss","substitutable":true,"sourceUrl":"https://github.com/microsoft/markitdown/blob/main/LICENSE"}],"freeMatch":"jtbd"}],"failures":[{"id":"prompt-injection","name":"Prompt injection","detection":"Compare each tool call to the original user task. If the call only makes sense given text that arrived from a fetched page, file, or message, stop and ask. Record which source the instruction came from. This catalog does not store payloads or attack steps."},{"id":"stale-retrieval","name":"Stale retrieval","detection":"Store the source URL and the time it was fetched. If a newer canonical page exists, or two stored sources disagree, do not answer from the older one."},{"id":"tool-loop","name":"Tool loop","detection":"Hash the last several tool names and arguments. Stop when the same call repeats and the observation did not change. Cap tool calls per task."},{"id":"runaway-spend","name":"Runaway spend","detection":"Set a budget and a tool-call cap per task. Alert when spend jumps. Stop the run at the cap instead of summarizing a partial trace as success."},{"id":"lost-in-the-middle","name":"Lost in the middle","detection":"Ask the agent to name the passage it used. Spot-check questions whose only support sits in the middle of the context, not only at the edges."},{"id":"ungrounded-answer","name":"Ungrounded answer","detection":"Require a source URL or passage id on factual sentences. Drop or mark any sentence whose source does not contain the claim."},{"id":"instruction-drift","name":"Instruction drift","detection":"Restate the stop condition in the trace. End the run when it is met. Review long traces for steps that do not serve the original task."},{"id":"inter-agent-misalignment","name":"Inter-agent misalignment","detection":"Log the assigned subtask next to the worker's stated result. The lead rejects a result that does not match the assignment."},{"id":"context-overflow","name":"Context overflow","detection":"If the input exceeds the window, say so and retrieve a narrower slice. Do not answer from a truncated head as if it were the whole source."},{"id":"policy-conflict","name":"Policy conflict","detection":"If cited sources contradict each other, return the conflict and the URLs. Do not pick a winner silently."},{"id":"silent-truncation","name":"Silent truncation","detection":"Tools must return whether the payload was truncated and how long the original was. Fail the task if the answer depends on the missing span."}],"failuresOmittedBecauseMissing":[],"caseStudies":[{"id":"gaia-2023","title":"GAIA: a benchmark for General AI Assistants","sourceUrl":"https://arxiv.org/abs/2311.12983","year":2023,"studyKind":"capability_ceiling"},{"id":"anthropic-building-effective-agents-2024","title":"Building effective agents","sourceUrl":"https://www.anthropic.com/engineering/building-effective-agents","year":2024,"studyKind":"vendor_writeup"},{"id":"anthropic-multi-agent-research-2025","title":"How we built our multi-agent research system","sourceUrl":"https://www.anthropic.com/engineering/built-multi-agent-research-system","year":2025,"studyKind":"vendor_writeup"}],"caseStudiesRelated":5,"caseStudiesOmitted":2,"caseStudiesReason":null,"links":{"kit":"/api/kit?class=research","page":"/agents/kit/research","agentClass":"/api/agent-classes/research","failures":"/api/failures","caseStudies":"/api/case-studies?class=research"},"recommendation":{"mode":"default"},"stackContext":{"host":null,"framework":null,"repo":null,"lang":null,"existing":[],"volume":null,"sender":null,"detectedFromTask":[]},"contextAdvice":[],"firstActions":["https://getagentdepot.com/api/hub","https://getagentdepot.com/api/decide?jtbd=deep-research-agents","https://getagentdepot.com/api/quote?jtbd=deep-research-agents","https://getagentdepot.com/api/kit?class=research","https://getagentdepot.com/api/failures"],"honesty":["Picks are the current Depot Pick from GET /api/decide. This kit does not rescore.","Cheapest SKU is copied from GET /api/quote for that job. Input and output are not blended. A chat SKU is not borrowed for a non-chat job. If quote.cheapest is null, there is no matching sourced price.","pickIsNotPriceWinner is true only when that job's Depot Pick and cheapest matching SKU both exist and the quote says the pick is not the price winner. If either is missing, the field is false.","freeResources are existing /api/free items whose jtbdIds include that job, up to 3, sorted by id. If none list the job, freeResources is [] and freeMatch is none. Kind, provider, and docs are not fallbacks. Free does not change the pick.","firstActions are endpoint URLs for this class: hub, decide for the first listed need, quote for that need, this kit, and /api/failures. No other step is added.","Failures are the modes already listed on the class. Case studies are the first 3 related studies in catalog order, with the source URL already stored. Omitted studies stay on GET /api/case-studies?class=."]}