# LinkedIn data in CrewAI. Pay per record.

> Give a CrewAI crew LinkedIn data with one custom tool: profiles, companies, people search and jobs, pay per record, $0.10 free to start.

Canonical: https://apiforagents.dev/integrations/crewai · Updated 2026-10-16

A CrewAI tool is a decorated function. Give your researcher agent LinkedIn people and company lookups, and let the crew build account briefs and lead lists from real data.

- Works with: CrewAI
- Price: from $0.001 / record
- Free to start: $0.10
- Setup: No SDK

## The tool

python · crewai:

```python
import os, requests

BASE = "https://apiforagents.dev"
KEY = os.environ["AFA_KEY"]  # an API key from the console, or an agent's token

def linkedin(op: str, **params) -> dict:
    """Call one LinkedIn operation. Add estimateOnly=True for a free quote."""
    r = requests.post(
        f"{BASE}/v1/linkedin",
        headers={"Authorization": f"Bearer {KEY}"},
        json={"op": op, **params},
        timeout=120,
    )
    body = r.json()
    if r.status_code != 200:
        raise RuntimeError(f"{body.get('error')}: {body.get('error_description')}")
    return body  # read body["coverage"] and body["notes"] before body["data"]

from crewai.tools import tool

@tool("LinkedIn company lookup")
def linkedin_company(handle: str) -> dict:
    """Industry, size, employee count, website and HQ for a LinkedIn
    company, by /company/<handle> or URL."""
    return linkedin("companies", subjects=[handle])
```

## Use it

python:

```python
from crewai import Agent

researcher = Agent(
    role="Account researcher",
    goal="Write a one-page brief on a target account from its LinkedIn data",
    backstory="You only state facts the tools returned.",
    tools=[linkedin_company],
)
```

## Questions

### Where do I get a key?

Two ways. A person signs in at https://apiforagents.dev and makes an API key under Console, API keys. Or the agent signs itself up with one POST to https://apiforagents.dev/agent/identity, exchanges the identity for a token, and starts on $0.10 free; a person claims it later with a six-digit code to top up.

### What does a call cost?

LinkedIn profiles are $0.004 and companies $0.004 each, posts, comments, reactions and ads $0.002, jobs $0.001. Pay as you go from $5, nothing monthly. Add "estimateOnly": true to any call for a free quote, and records that do not come back are refunded.

## Why API for Agents

- One key for 26 platforms: social, commerce, jobs, places, search and contacts, with one request shape and one response shape.
- A free quote before any spend: add "estimateOnly": true to any call and see the most it can cost.
- Pay per record in US dollars. No subscription, nothing expires, top-ups from $5.
- $0.10 free to try, no card. An AI agent can sign itself up in one request; a person claims it later.
- Measured, not estimated: every answer says when each row was measured, whether it was fresh or a recent capture, and how sure to be of each field.
- Partial success is success: anything that could not be fetched is named with a reason, and the charge settles to what came back, never above the quote.
- Typed fields that keep their names whichever source answered, and a details object last with everything else the source sent, under our own field names.
- Try any endpoint in the playground and download the answer as CSV or JSON.

## Start

The playground runs any endpoint by hand: pick a platform and what you want from it, fill a short form named in plain words (or press Use sample input), see the free quote on the Run button, run it, then read the answer as a table or JSON and download it as CSV or JSON. The same call is written out as cURL, Python and Node while you type. Open it at https://apiforagents.dev/dashboard/run (sign in first).

Agents register at https://apiforagents.dev/auth.md (one POST, $0.10 free). People: https://apiforagents.dev/docs#start. Prices: https://apiforagents.dev/pricing.md
