FutureSearch Logofuturesearch
  • Solutions
  • Pricing
  • Research
  • Docs
  • Evals
  • Blog
  • Company
  • Try it for free
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 Code
  • Web App
  • Python SDK
  • Skill
Reference
  • API Key
  • forecast
  • multi_agent
  • agent_map
  • rank
  • classify
  • merge
  • dedupe
  • MCP Server
  • Progress Monitoring
  • Chaining Operations
Guides
  • LLM-Powered Data Labeling
  • Add a Column via Web Research
  • Classify and Label Rows
  • Deduplicate Training Data
  • Error Handling
  • Filter a Dataset Intelligently
  • Find Profitable Prediction Market Trades
  • Forecast Outcomes for a List of Entities
  • Value a Private Company
  • Join Tables Without Shared Keys
  • Rank Data by External Metrics
  • Research a Question with a Team of Agents
  • 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
  • Find Startups Selling to Frontier AI Labs
  • Forecast a Sum-of-the-Parts SpaceX IPO Valuation
  • Forecast Anthropic and OpenAI IPO Valuations
  • Forecast Founder Seed Valuations for AI Researchers
  • Forecast When Anthropic and OpenAI Will IPO
  • 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
  • Research Formal Verification for AI
  • 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

Agent Map

agent_map runs one web research agent per row of a DataFrame, in parallel. Each agent searches the web, reads pages, and returns structured results that populate new columns. The transform is live web research: agents fetch and synthesize external information per row.

For a single question, or to generate a list from scratch, use multi_agent instead.

single_agent is deprecated. Use multi_agent for a single question.

Examples

agent_map

from pandas import DataFrame
from futuresearch.ops import agent_map

companies = DataFrame([
    {"company": "Stripe"},
    {"company": "Databricks"},
    {"company": "Canva"},
])

result = await agent_map(
    task="Find the company's most recent annual revenue",
    input=companies,
)
print(result.data.head())

Each row gets its own agent that researches independently.

Response model

agent_map supports structured output via a custom Pydantic model.

from pandas import DataFrame
from pydantic import BaseModel, Field
from futuresearch.ops import agent_map

companies = DataFrame([
    {"company": "Stripe"},
    {"company": "Databricks"},
    {"company": "Canva"},
])

class CompanyFinancials(BaseModel):
    annual_revenue_usd: int = Field(description="Most recent annual revenue in USD")
    employee_count: int = Field(description="Current number of employees")
    last_funding_round: str = Field(description="Most recent funding round, e.g. 'Series C'")

result = await agent_map(
    task="Research each company's financials and latest funding",
    input=companies,
    response_model=CompanyFinancials,
)
print(result.data.head())

The output now has annual_revenue_usd, employee_count, and last_funding_round columns.

Parameters

Name Type Description
task str The agent task describing what to research for each row
input DataFrame | UUID The rows to research
session Session Optional, auto-created if omitted
effort_level EffortLevel LOW, MEDIUM, or HIGH (default: MEDIUM)
response_model BaseModel Optional schema for structured output

Effort levels

The effort level controls how thorough the research is on each row.

  • LOW: a single LLM call, cheapest and fastest
  • MEDIUM: multiple sources consulted (default)
  • HIGH: deep research, cross-referencing sources, higher accuracy

Via MCP

MCP tool: futuresearch_agent

Parameter Type Description
csv_path string Path to input CSV file
task string What to research for each row

Related docs

Guides

  • Add a Column with Web Lookup
  • Classify and Label Data with an LLM

Reference

  • multi_agent for a single question or to generate a list