FutureSearch Logofuturesearch
  • Solutions
  • Pricing
  • Research
  • Docs
  • Evals
  • Blog
  • Company
  • LiteLLM Checker
  • Get Researchers
FutureSearch Logo

General inquiry? You can reach us at hello@futuresearch.ai.

Company

Team & CareersPressPrivacy PolicyTerms of Service

Developers

SDK DocsAPI ReferenceCase StudiesGitHubSupport

Integrations

Claude CodeCursorChatGPT CodexClaude.ai

Follow Us

X (Twitter)@dschwarz26LinkedIn
FutureSearchdocs
Your research team
Installation
  • All install methods
  • Claude.ai
  • Claude Cowork
  • Claude Code
  • Web App
  • Python SDK
  • Skill
  • MCP Server
Reference
  • API Key
  • classify
  • dedupe
  • forecast
  • merge
  • rank
  • agent_map
  • Progress Monitoring
  • Chaining Operations
Guides
  • LLM-Powered Data Labeling
  • Add a Column via Web Research
  • Classify and Label Rows
  • Deduplicate Training Data
  • Filter a Dataset Intelligently
  • Find Profitable Polymarket Trades
  • Forecast Outcomes for a List of Entities
  • Value a Private Company
  • Join Tables Without Shared Keys
  • Rank Data by External Metrics
  • Resolve Duplicate Entities
  • Scale Deduplication to 20K Rows
  • Turn Claude into an Accurate Forecaster
Case Studies
  • Deduplicate Contact Lists
  • Deduplicate CRM Records
  • Enrich Contacts with Company Data
  • Fuzzy Match Across Tables
  • Link Records Across Medical Datasets
  • LLM Cost vs. Accuracy
  • Merge Costs and Speed
  • Merge Thousands of Records
  • Multi-Stage Lead Qualification
  • Research and Rank Web Data
  • Run 10,000 LLM Web Research Agents
  • Score Cold Leads via Web Research
  • Score Leads from Fragmented Data
  • Screen 10,000 Rows
  • Screen Job Listings
  • Screen Stocks by Economic Sensitivity
  • Screen Stocks by Investment Thesis
FutureSearchby futuresearch
by futuresearch

Screen 10,000 Rows

Screening 10,000 rows requires each row to be individually evaluated against a natural-language criterion. This case study screens 9,949 FDA product recalls to find products relevant to a child born on 2021-08-01, where each row requires reasoning about whether a recalled product would plausibly be used for a child of that age.

MetricValue
Rows processed9,949
Rows passing2,271 (22.8%)
Total cost$37.13
Time11.8 minutes

Add FutureSearch to Claude Code if you haven't already:

claude mcp add futuresearch --scope project --transport http https://mcp.futuresearch.ai/mcp

With the FDA recalls CSV in your working directory, tell Claude:

Screen this FDA product recalls dataset to find recalls of products that I might
have used for my child born on 2021-08-01.

Claude calls FutureSearch's classify MCP tool. At this scale, the two-pass pipeline is critical: a fast first pass triages all 9,949 rows, then a careful second pass re-evaluates borderline cases with a stronger model:

Tool: futuresearch_classify
├─ task: "Find recalls of products that I might have used for my child born on 2021-08-01."
├─ input_csv: "/Users/you/fda_product_recalls.csv"
└─ categories: ["yes", "no"]

→ Submitted: 9,949 rows for classification.
  Session: https://futuresearch.ai/sessions/310fc823-0adc-402c-bff1-7dc43fda2636
  Task ID: 310f...

Tool: futuresearch_progress
├─ task_id: "310f..."
→ Running: 0/9949 complete (30s elapsed)

...

Tool: futuresearch_progress
→ Completed: 9949/9949 (0 failed) in 707s.

Tool: futuresearch_results
├─ task_id: "310f..."
├─ output_path: "/Users/you/child_relevant_recalls.csv"
→ Saved 2271 rows to /Users/you/child_relevant_recalls.csv

2,271 of 9,949 recalls are relevant. View the session.

Add the FutureSearch connector if you haven't already. Then upload the FDA product recalls CSV and ask Claude:

Screen this FDA product recalls dataset to find recalls of products that I might have used for my child born on 2021-08-01.

Go to futuresearch.ai/app, upload the FDA product recalls CSV, and enter:

Screen this FDA product recalls dataset to find recalls of products that I might have used for my child born on 2021-08-01.

Screening is binary classification: set categories=["yes", "no"] and only passing rows are returned.

pip install futuresearch
export FUTURESEARCH_API_KEY=your_key_here  # Get one at futuresearch.ai/app/api-key
import asyncio
import pandas as pd
from futuresearch import create_session
from futuresearch.ops import classify

fda_recalls = pd.read_csv("fda_product_recalls.csv")
fda_recalls["center_classification_date"] = pd.to_datetime(
    fda_recalls["center_classification_date"], errors="coerce"
)
fda_recalls = fda_recalls[
    fda_recalls["center_classification_date"] > pd.Timestamp("2021-08-01")
]

async def main():
    async with create_session(name="FDA Recall Screening") as session:
        result = await classify(
            task="Find recalls of products that I might have used for my child born on 2021-08-01.",
            categories=["yes", "no"],
            input=fda_recalls,
        )
        return result.data

results = asyncio.run(main())

Results

Sample passing recalls (products a child could have been exposed to):

ProductFirmWhy Relevant
White Hot Dog Enriched BunsPerfection BakeriesFood item, child eating solids by recall date
ExactaMed Oral DispenserBaxter HealthcareMedical device used for infant medication
Chickenless Crispy TendersDr. Praeger'sFood item for toddler-age child

Sample non-passing recalls (correctly excluded):

ProductWhy Excluded
Lase Discectomy Device KitSurgical back surgery device, not for children
Heparin/Lidocaine irrigationClinical use only

The two-pass pipeline uses a fast model for initial triage and a stronger model for borderline cases, keeping accuracy high while controlling cost. At $0.001 per row, the cost scales linearly.