# LinkedIn data in the OpenAI Agents SDK. Pay per record.

> A function tool for the OpenAI Agents SDK that fetches LinkedIn profiles, companies, posts and jobs, priced per record. Copy the code.

Canonical: https://apiforagents.dev/integrations/openai-agents-sdk · Updated 2026-10-16

Decorate one function with function_tool and an OpenAI agent can fetch LinkedIn data on demand, with the cost of each call in the result.

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

## The tool and the agent

python · openai-agents:

```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 agents import Agent, Runner, function_tool

@function_tool
def linkedin_jobs(query: str, location: str, limit: int = 10) -> dict:
    """Search LinkedIn job listings by title keyword and location."""
    return linkedin("jobs", query=query, locations=[location], limit=limit)

agent = Agent(name="Recruiter", instructions="Use the tools; never invent data.", tools=[linkedin_jobs])
print(Runner.run_sync(agent, "Ten data engineering jobs in Berlin posted this week").final_output)
```

## 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
