Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
"name": "FutureSearch"
},
"metadata": {
"description": "AI-powered data processing plugins from FutureSearch"
"description": "everyrow plugins from FutureSearch"
},
"plugins": [
{
"name": "everyrow",
"source": "./",
"description": "Claude Code plugin for the everyrow SDK - AI-powered data processing utilities for transforming, deduping, merging, ranking, and screening dataframes",
"description": "Give Claude Code a research team. Forecast, score, classify, or research every row of a dataset.",
"version": "0.4.0"
}
]
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "everyrow",
"description": "Claude Code plugin for the everyrow SDK - AI-powered data processing utilities for transforming, deduping, merging, ranking, and screening dataframes",
"description": "Give Claude Code a research team. Forecast, score, classify, or research every row of a dataset.",
"version": "0.4.0",
"author": {
"name": "FutureSearch"
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: software
title: "everyrow"
abstract: "Screen, rank, dedupe, and merge dataframes using natural language. Run web agents to research every row."
abstract: "A researcher for every row. Run web research agents at scale to forecast, score, classify, deduplicate, merge, or enrich entire datasets."
license: MIT
version: 0.4.0
date-released: 2026-02-24
Expand Down
38 changes: 25 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,35 @@
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)

An add-on for Claude Code, Claude Desktop/Cowork, and Claude web to enable Claude to run LLM web research agents at scale. Claude uses everyrow to research entire datasets, and to intelligently sort, filter, merge, dedupe, or add columns to large datasets, via a single Python or MCP call. See the [docs site](https://everyrow.io/docs) for how to install into your Claude interface of choice.
Give yourself, or your AI, a team of researchers to gather data, forecast, score, or classify every row in a dataset. Available [standalone](https://everyrow.io/app) a Claude Code plugin, MCP server, or Python SDK. See the [docs site](https://everyrow.io/docs) for how to install into your interface of choice.

The best experience is inside Claude Code.

```bash
claude plugin marketplace add futuresearch/everyrow-sdk
claude plugin install everyrow@futuresearch
```

See [here](https://everyrow.io/docs#tab-claude-desktop-mcp) for Claude Desktop/Cowork. Claude web (claude.ai) connector coming soon. Or try it directly in our hosted app that uses the Claude Agent SDK at [everyrow.io/app](https://everyrow.io/app)].
See [here](https://everyrow.io/docs#tab-claude-desktop-mcp) for Claude Desktop/Cowork. Claude web (claude.ai) connector coming soon. Or try it directly in our hosted app that uses the Claude Agent SDK at [everyrow.io/app](https://everyrow.io/app).

Get an API key at [everyrow.io/api-key](https://everyrow.io/api-key) ($20 free credit), then:

## Operations

Enable Claude to perform tens of thousands of LLM calls, or thousands of LLM web research agents, in each single operation.
Spin up a team of:

| Operation | Intelligence | Scales To |
|---|---|---|
| [**Screen**](https://everyrow.io/docs/reference/SCREEN) | Filter by criteria that need judgment | 10k rows |
| [**Rank**](https://everyrow.io/docs/reference/RANK) | Score rows from research | 10k rows |
| [**Dedupe**](https://everyrow.io/docs/reference/DEDUPE) | Deduplicate when fuzzy matching fails | 20k rows |
| [**Merge**](https://everyrow.io/docs/reference/MERGE) | Join tables when keys don't match | 5k rows |
| [**Research**](https://everyrow.io/docs/reference/RESEARCH) | Web research on every row | 10k rows |
| Role | What it does | Cost | Scales To |
| ---- | ------------ | ---- | --------- |
| [**Agents**](https://everyrow.io/docs/reference/RESEARCH) | Research, then analyze | 1–3¢/researcher | 10k rows |
| [**Forecasters**](https://everyrow.io/docs/reference/FORECAST) | Predict outcomes | 20-50¢/researcher | 10k rows |
| [**Scorers**](https://everyrow.io/docs/reference/RANK) | Research, then score | 1-5¢/researcher | 10k rows |
| [**Classifiers**](https://everyrow.io/docs/reference/SCREEN) | Research, then categorize | 0.1-0.7¢/researcher | 10k rows |
| [**Matchers**](https://everyrow.io/docs/reference/MERGE) | Find matching rows | 0.2-0.5¢/researcher | 20k rows |

See the full [API reference](https://everyrow.io/docs/api), [guides](https://everyrow.io/docs/guides), and [case studies](https://everyrow.io/docs/case-studies), (for example, see our [case study](https://everyrow.io/docs/case-studies/llm-web-research-agents-at-scale) running a `Research` task on 10k rows, running agents that used 120k LLM calls.)

Or just ask Claude in your interface of choice:

```
Label this 5,000 row CSV with the right categories.
```
Expand All @@ -50,7 +52,7 @@ Rank these 2,000 people from Wikipedia on who is the most bullish on AI.

## Web Agents

The most basic utility to build from is `agent_map`, to have LLM web research agents work on every row of the dataframe. Agents are tuned on [Deep Research Bench](https://arxiv.org/abs/2506.06287), our benchmark for questions that need extensive searching and cross-referencing, and tuned to get correct answers at minimal cost.
The base operation is `agent_map`: one web research agent per row. The other operations (rank, classify, forecast, merge, dedupe) use the agents under the hood as necessary. Agents are tuned on [Deep Research Bench](https://arxiv.org/abs/2506.06287), our benchmark for questions that need extensive searching and cross-referencing, and tuned to get correct answers at minimal cost.

Under the hood, Claude will:

Expand Down Expand Up @@ -83,7 +85,6 @@ print(result.data.head())

See the API [docs](https://everyrow.io/docs/reference/RESEARCH.md), a case study of [labeling data](https://everyrow.io/docs/classify-dataframe-rows-llm) or a case study for [researching government data](https://everyrow.io/docs/case-studies/research-and-rank-permit-times) at scale.


## Sessions

You can also use a session to output a URL to see the research and data processing in the [everyrow.io/app](https://everyrow.io/app) application, which streams the research and makes charts. Or you can use it purely as an intelligent data utility, and [chain intelligent pandas operations](https://everyrow.io/docs/chaining-operations) with normal pandas operations where LLMs are used to process every row.
Expand Down Expand Up @@ -127,14 +128,18 @@ df = await fetch_task_data("12345678-1234-1234-1234-123456789abc")
### Other AI agent plugins

#### Gemini CLI

[Official Docs](https://geminicli.com/docs/extensions/#installing-an-extension).
Ensure that you're using version >= 0.25.0

```sh
gemini --version
gemini extensions install https://github.com/futuresearch/everyrow-sdk
gemini extensions enable everyrow [--scope <user or workspace>]
```

Then within the CLI

```sh
/settings > Preview Features > Enable
/settings > Agent Skills > Enable
Expand All @@ -144,21 +149,28 @@ Then within the CLI
```

#### Codex CLI

[Official docs](https://developers.openai.com/codex/skills#install-new-skills).
Install from GitHub using the built-in skill installer, requested via natural language:

```sh
codex
$skill-installer from the futuresearch/everyrow-sdk github repo, install the everyrow-sdk skill at --path skills/everyrow-sdk
```

Or install directly:

```sh
python ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo futuresearch/everyrow-sdk --path skills/everyrow-sdk
```

Restart Codex to pick up the new skill.

#### Cursor

[Official docs](https://cursor.com/docs/context/skills#installing-skills-from-github).

```sh
1. Open Cursor Settings → Rules
2. In the Project Rules section, click Add Rule
Expand Down Expand Up @@ -232,7 +244,7 @@ uv run basedpyright # type check

## About

Built by [FutureSearch](https://futuresearch.ai). We kept running into the same data problems: ranking leads, deduping messy CRM exports, merging tables without clean keys. Tedious for humans, but needs judgment that automation can't handle. So we built this.
Built by [FutureSearch](https://futuresearch.ai).

[everyrow.io](https://everyrow.io) (app/dashboard) · [case studies](https://futuresearch.ai/solutions/) · [research](https://futuresearch.ai/research/)

Expand Down
2 changes: 1 addition & 1 deletion docs-site/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const jetbrainsMono = JetBrains_Mono({
export const metadata: Metadata = {
metadataBase: new URL("https://everyrow.io"),
title: "Everyrow Documentation",
description: "Documentation for the Everyrow SDK - AI-powered data operations for pandas DataFrames",
description: "EveryRow documentation. A researcher for every row. Forecast, score, classify, or research entire datasets.",
openGraph: {
siteName: "Everyrow",
type: "website",
Expand Down
12 changes: 6 additions & 6 deletions docs-site/src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ import { MDXContent } from "@/components/MDXContent";
export const metadata: Metadata = {
title: "Everyrow Documentation",
description:
"Run LLM Research Agents at Scale",
"A researcher for every row. Forecast, score, classify, or research entire datasets.",
alternates: {
canonical: "https://everyrow.io/docs",
},
openGraph: {
title: "Everyrow Documentation",
description:
"Run LLM Research Agents at Scale",
"A researcher for every row. Forecast, score, classify, or research entire datasets.",
url: "https://everyrow.io/docs",
images: [{ url: "https://everyrow.io/everyrow-og.png" }],
},
Expand All @@ -27,9 +27,9 @@ const SECTION_ICONS: Record<string, string> = {
};

const SECTION_DESCRIPTIONS: Record<string, string> = {
Guides: "Step-by-step tutorials for common data processing tasks",
"API Reference": "Detailed documentation for all everyrow functions",
"Case Studies": "Real-world examples with Jupyter notebooks",
Guides: "Step-by-step tutorials for web research at scale",
"API Reference": "API reference for all everyrow operations",
"Case Studies": "Real-world examples with verified results",
};

const SECTION_LINKS: Record<string, string> = {
Expand Down Expand Up @@ -102,7 +102,7 @@ export default async function DocsHome() {
<div className="landing-hero">
<h1 className="landing-title"><span className="landing-title-brand">everyrow</span> documentation</h1>
<p className="landing-subtitle">
Run LLM Research Agents at Scale
A researcher for every row
</p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion docs/add-column-web-lookup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,4 @@ Each result includes a `research` column showing how the agent found the answer,

---

Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [agent_map documentation](/docs/reference/RESEARCH) for more options including response models and effort levels.
Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [agent_map documentation](reference/RESEARCH) for more options including response models and effort levels.
2 changes: 1 addition & 1 deletion docs/classify-dataframe-rows-llm.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -190,4 +190,4 @@ Without web research agents, everyrow can classify data for ~$0.009 per row, or

---

Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [agent_map documentation](/docs/reference/RESEARCH) for more options including response models and effort levels.
Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [agent_map documentation](reference/RESEARCH) for more options including response models and effort levels.
2 changes: 1 addition & 1 deletion docs/deduplicate-training-data-ml.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -183,4 +183,4 @@ The 35.7% reduction rate is typical for datasets that weren't explicitly dedupli

---

Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [dedupe documentation](/docs/reference/DEDUPE) for more options including equivalence relation design.
Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [dedupe documentation](reference/DEDUPE) for more options including equivalence relation design.
2 changes: 1 addition & 1 deletion docs/filter-dataframe-with-llm.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -190,4 +190,4 @@ Gladly | Staff Software Engineer | Remote (US, Colombia) | $60k–$215k + Equity

---

Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [screen documentation](/docs/reference/SCREEN) for more options including batch size tuning and async execution.
Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [screen documentation](reference/SCREEN) for more options including batch size tuning and async execution.
7 changes: 7 additions & 0 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ description: Install everyrow and run your first operation.

Everyrow lets you perform qualitative data transformations on noisy real-world data, at quantitative scale. Define your fuzzy logic concisely in natural language, and everyrow handles the complexity of orchestrating the execution.

**Using Claude Code?** Install the plugin and ask Claude in natural language:

```bash
claude plugin marketplace add futuresearch/everyrow-sdk
claude plugin install everyrow@futuresearch
```

## Prerequisites

- Python 3.12+
Expand Down
122 changes: 61 additions & 61 deletions docs/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,67 @@ Select your platform and integration method below.

<InstallationTabs>

<TabContent agent="claude-code" type="plugin">

Install the everyrow plugin from the marketplace:

```bash
claude plugin marketplace add futuresearch/everyrow-sdk
claude plugin install everyrow@futuresearch
```

This installs both the skill and MCP server together. You can toggle each on/off in Claude Code settings.

**Important:** be sure to supply your API key when launching Claude Code:

```bash
export EVERYROW_API_KEY=sk-cho...
claude
```

You can optionally configure Claude Code to show a [progress bar](/docs/progress-monitoring#progress-bar) for long-running tasks.

[Official Claude Code Plugin Docs](https://code.claude.com/docs/en/discover-plugins#add-from-github)

</TabContent>

<TabContent agent="claude-code" type="mcp">

Add everyrow to your MCP config (requires [uv](https://docs.astral.sh/uv/)):

```json
{
"mcpServers": {
"everyrow": {
"command": "uvx",
"args": ["everyrow-mcp"],
"env": {
"EVERYROW_API_KEY": "${EVERYROW_API_KEY}"
}
}
}
}
```

Or install with pip and use `"command": "everyrow-mcp"` instead of uvx.

Config file location:
- **User scope:** `~/.claude.json` (in the `mcpServers` field)
- **Project scope:** `.mcp.json` in your project root

[Choosing the right scope](https://code.claude.com/docs/en/mcp#choosing-the-right-scope)

**Important:** either insert your API key when creating the JSON file, or supply the key when launching Claude Code:

```bash
export EVERYROW_API_KEY=sk-cho...
claude
```

You can optionally configure Claude Code to show a [progress bar](/docs/progress-monitoring#progress-bar) for long-running tasks.

</TabContent>

<TabContent agent="python-sdk" type="pip">

```bash
Expand Down Expand Up @@ -92,67 +153,6 @@ See the [API Reference](/docs/api) for full documentation.

</TabContent>

<TabContent agent="claude-code" type="mcp">

Add everyrow to your MCP config (requires [uv](https://docs.astral.sh/uv/)):

```json
{
"mcpServers": {
"everyrow": {
"command": "uvx",
"args": ["everyrow-mcp"],
"env": {
"EVERYROW_API_KEY": "${EVERYROW_API_KEY}"
}
}
}
}
```

Or install with pip and use `"command": "everyrow-mcp"` instead of uvx.

Config file location:
- **User scope:** `~/.claude.json` (in the `mcpServers` field)
- **Project scope:** `.mcp.json` in your project root

[Choosing the right scope](https://code.claude.com/docs/en/mcp#choosing-the-right-scope)

**Important:** either insert your API key when creating the JSON file, or supply the key when launching Claude Code:

```bash
export EVERYROW_API_KEY=sk-cho...
claude
```

You can optionally configure Claude Code to show a [progress bar](/docs/progress-monitoring#progress-bar) for long-running tasks.

</TabContent>

<TabContent agent="claude-code" type="plugin">

Install the everyrow plugin from the marketplace:

```bash
claude plugin marketplace add futuresearch/everyrow-sdk
claude plugin install everyrow@futuresearch
```

This installs both the skill and MCP server together. You can toggle each on/off in Claude Code settings.

**Important:** be sure to supply your API key when launching Claude Code:

```bash
export EVERYROW_API_KEY=sk-cho...
claude
```

You can optionally configure Claude Code to show a [progress bar](/docs/progress-monitoring#progress-bar) for long-running tasks.

[Official Claude Code Plugin Docs](https://code.claude.com/docs/en/discover-plugins#add-from-github)

</TabContent>

<TabContent agent="claude-desktop" type="mcp">

First, make sure you have [uv installed](https://docs.astral.sh/uv/).
Expand Down
2 changes: 1 addition & 1 deletion docs/rank-by-external-metric.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -220,4 +220,4 @@ result = await rank(

---

Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [rank documentation](/docs/reference/RANK) for more options including field types and sort order.
Built with [everyrow](https://github.com/futuresearch/everyrow-sdk). See the [rank documentation](reference/RANK) for more options including field types and sort order.
9 changes: 9 additions & 0 deletions docs/reference/DEDUPE.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,15 @@ Output (selected rows only):
| 500 | ~2 min | ~$1.67 |
| 2,000 | ~8 min | ~$7 |

## Via MCP

MCP tool: `everyrow_dedupe`

| Parameter | Type | Description |
|-----------|------|-------------|
| `csv_path` | string | Path to input CSV file |
| `equivalence_relation` | string | What makes two rows duplicates |

## Related docs

### Guides
Expand Down
Loading
Loading