---
name: data-legion
description: "Person + company enrichment APIs powered by Data Legion. Multi-rail agent payment. Identity gating on PII endpoints; fixed price per successful call."
metadata:
  version: "1"
  homepage: "https://agents.datalegion.ai"
---

# Data Legion

_Person + company enrichment for agents._

Data Legion enrichment products, each a fixed price per successful call. PII endpoints require KYC + sanctions + jurisdiction at settle; others run anonymously.

## Important Files

| File | URL |
|------|-----|
| **SKILL.md** (this file) | `https://agents.datalegion.ai/skill.md` |
| llms.txt | `https://agents.datalegion.ai/llms.txt` |
| MPP discovery | `https://agents.datalegion.ai/.well-known/mpp.json` |
| A2A agent card | `https://agents.datalegion.ai/.well-known/agent-card.json` |

## Identity Prerequisite

This merchant uses AgentScore identity. Required: KYC verified Passport, sanctions clear.

Denial bodies carry an `agent_instructions` block describing the recovery action — read the `action` field and follow it. See the identity-bootstrap skill for the canonical denial-code → action table.

## Payment

Each gated route returns a 402 with `WWW-Authenticate` + `PAYMENT-REQUIRED` body listing the rails below with current pricing. Pick whichever your wallet is funded for.

| Rail | Notes | Compatible clients |
|---|---|---|
| **MPP on Tempo** | USDC. Use `agentscore-pay pay --chain tempo` (or `tempo request`); MPP credential goes in `Authorization: Payment`. | agentscore-pay, tempo request, x402-proxy |
| **x402 on Base** | USDC (EIP-3009). Use `agentscore-pay pay --chain base`; X-Payment header carries the signed credential. | agentscore-pay, x402-proxy, purl (omit --network flag) |
| **MPP on Solana** | USDC (SPL). Use `agentscore-pay pay --chain solana`; MPP credential goes in `Authorization: Payment`. | agentscore-pay |

## Endpoints

| Method | Path | Auth | Purpose |
|---|---|---|---|
| POST | `/person/base/no-pii` | anonymous | POST /person/base/no-pii — person enrichment, base tier, no PII. Body: EITHER one strong identifier (email \| email_hash \| phone \| social_url \| linkedin_id \| legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company \| school \| job_title \| city \| state \| country \| postal_code \| address \| birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. anonymous (each rail authenticates via its own payment credential). $0.01/call; zero-settle on no-match. |
| POST | `/company/base` | anonymous | POST /company/base — company enrichment, base tier, no PII. Body: at least one of legion_id \| domain \| name \| linkedin_id \| social_url \| ticker_symbol. Optional refinement: industry. Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. anonymous (each rail authenticates via its own payment credential). $0.01/call; zero-settle on no-match. |
| POST | `/person/base` | identity required | POST /person/base — person enrichment, base tier, includes PII. Body: EITHER one strong identifier (email \| email_hash \| phone \| social_url \| linkedin_id \| legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company \| school \| job_title \| city \| state \| country \| postal_code \| address \| birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. KYC + sanctions + jurisdiction (OFAC) required at settle. $0.05/call; zero-settle on no-match. |
| POST | `/person/premium/no-pii` | anonymous | POST /person/premium/no-pii — person enrichment, premium tier, no PII. Body: EITHER one strong identifier (email \| email_hash \| phone \| social_url \| linkedin_id \| legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company \| school \| job_title \| city \| state \| country \| postal_code \| address \| birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. anonymous (each rail authenticates via its own payment credential). $0.04/call; zero-settle on no-match. |
| POST | `/person/premium` | identity required | POST /person/premium — person enrichment, premium tier, includes PII. Body: EITHER one strong identifier (email \| email_hash \| phone \| social_url \| linkedin_id \| legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company \| school \| job_title \| city \| state \| country \| postal_code \| address \| birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. KYC + sanctions + jurisdiction (OFAC) required at settle. $0.08/call; zero-settle on no-match. |
| POST | `/company/premium` | anonymous | POST /company/premium — company enrichment, premium tier, no PII. Body: at least one of legion_id \| domain \| name \| linkedin_id \| social_url \| ticker_symbol. Optional refinement: industry. Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. anonymous (each rail authenticates via its own payment credential). $0.04/call; zero-settle on no-match. |

## Triggers

Use this skill when the user wants to:

- Enrich a person from email / social URL / phone / name+company
- Look up company info from a domain or name

_Re-fetch this file periodically to pick up new endpoints, rails, or policies._
