# Lens Protocol API
> Live data from Lens Protocol, the decentralized social graph where accounts, posts and follows are owned on-chain by users rather than by a platform — read from the public Lens v3 GraphQL API, no key, nothing stored. The account endpoint resolves a Lens username (or wallet address) to its on-chain profile: display name, bio, picture and address. The stats endpoint returns that account's social graph — follower and following counts plus its post, comment, repost, quote and collect totals. The posts endpoint returns an account's recent publications, each with its text, timestamp and full engagement (reactions, comments, reposts, quotes, bookmarks, collects). The feed endpoint returns the latest posts across the entire network. Look up any Lens handle, read their reach and pull their content as structured JSON. This is the decentralized-social cut — Web3-native social data distinct from the centralized-platform social APIs and from the crypto price and market APIs in the catalogue.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/lensprotocol-api/..."
```

## Pricing
- **Free** (Free) — 25,000 calls/Mo, 3 req/s
- **Creator** ($7/Mo) — 280,000 calls/Mo, 10 req/s
- **Pro** ($22/Mo) — 1,150,000 calls/Mo, 28 req/s
- **Scale** ($50/Mo) — 3,900,000 calls/Mo, 60 req/s

## Endpoints

### Account

#### `GET /v1/account` — Profile by username or address

**Parameters:**
- `username` (query, optional, string) — Lens username (local name) Example: `stani`
- `address` (query, optional, string) — Wallet address (0x...)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lensprotocol-api/v1/account?username=stani"
```

**Response:**
```json
{
    "data": {
        "bio": "Founder & CEO @Aave",
        "name": "Stani",
        "source": "Lens",
        "address": "0xAd2c0BEAdE60fb9f7ec5C87bDE8e4c126145F6E7",
        "picture": "https://ik.imagekit.io/lens/4f0b6ecae2682c22c38a3f1c12f70e386ec68638b1895e53c969fdc9853f7022_rHSuskh0J.webp",
        "username": "stani"
    },
    "meta": {
        "timestamp": "2026-06-11T16:46:51.603Z",
        "request_id": "f52b8a79-dd51-4130-a407-cb344b598620"
    },
    "status": "ok",
    "message": "Account retrieved successfully",
    "success": true
}
```

### Stats

#### `GET /v1/stats` — Social graph and engagement totals

**Parameters:**
- `username` (query, optional, string) — Lens username Example: `stani`
- `address` (query, optional, string) — Wallet address (0x...)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lensprotocol-api/v1/stats?username=stani"
```

**Response:**
```json
{
    "data": {
        "posts": 17343,
        "quotes": 1269,
        "source": "Lens",
        "address": "0xAd2c0BEAdE60fb9f7ec5C87bDE8e4c126145F6E7",
        "reposts": 133,
        "collects": 21,
        "comments": 10840,
        "followers": 143358,
        "following": 1332
    },
    "meta": {
        "timestamp": "2026-06-11T16:46:51.952Z",
        "request_id": "0e309bcc-12e1-4641-b65a-b114777ef323"
    },
    "status": "ok",
    "message": "Stats retrieved successfully",
    "success": true
}
```

### Posts

#### `GET /v1/posts` — An account recent publications

**Parameters:**
- `username` (query, optional, string) — Lens username Example: `stani`
- `address` (query, optional, string) — Wallet address (0x...)
- `limit` (query, optional, string) — Page size 10 or 50 Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lensprotocol-api/v1/posts?username=stani&limit=10"
```

**Response:**
```json
{
    "data": {
        "count": 6,
        "posts": [
            {
                "id": "29950997887843140573021045301319055276593649424928219241369640520524533185092",
                "slug": "2tzzmjkdb1bc7s3ejjb",
                "stats": {
                    "quotes": 0,
                    "reposts": 0,
                    "collects": 0,
                    "comments": 1,
                    "bookmarks": 0,
                    "reactions": 52
                },
                "author": "stani",
                "content": "This.",
                "timestamp": "2026-03-08T13:58:30+00:00"
            },
            {
                "id": "71153967134142495887013702481720695612124184760692583486582587835708945860998",
                "slug": "1ednargze2rr7a3ba9q",
                "stats": {
                    "quotes": 0,
                    "reposts": 51,
                    "collects": 0,
                    "comments": 2,
                    "bookmarks": 0,
                    "reactions": 84
                },
                "author": "stani",
                "content": "Great read <https://thedailyeconomy.org/article/worries-spread-in-private-credit-markets/>",
                "timestamp": "2026-03-08T13:55:39+00:00"
            },
            {
                "id": "47496854049018462343258314737062822125159621937272688213846688339180614893587",
                "slug": "3bvg6gnpq1c1mgbkhhq",
                "stats": {
                    "quotes": 0,
           
…(truncated, see openapi.json for full schema)
```

### Feed

#### `GET /v1/feed` — Latest posts across the network

**Parameters:**
- `limit` (query, optional, string) — Page size 10 or 50 Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lensprotocol-api/v1/feed?limit=10"
```

**Response:**
```json
{
    "data": {
        "count": 8,
        "posts": [
            {
                "id": "63322265431791020110275816466562167289067899352389208207094232838131129808821",
                "slug": "y34feb50a0rjdxe0yg",
                "stats": {
                    "quotes": 0,
                    "reposts": 0,
                    "collects": 0,
                    "comments": 0,
                    "bookmarks": 0,
                    "reactions": 0
                },
                "author": "pixelfoxy",
                "content": "So beautiful😍",
                "timestamp": "2026-06-11T16:45:49+00:00"
            },
            {
                "id": "87093133575795856322280799554161077116915550486209427148813416234824451824134",
                "slug": "91275g6aqzzebzzp03",
                "stats": {
                    "quotes": 0,
                    "reposts": 0,
                    "collects": 0,
                    "comments": 0,
                    "bookmarks": 0,
                    "reactions": 0
                },
                "author": "datartist",
                "content": "I drew this in high school.",
                "timestamp": "2026-06-11T16:38:51+00:00"
            },
            {
                "id": "91732038926986472279331982247074854558808289305014709528995405137283402430664",
                "slug": "2d20mvyppk093611n12",
                "stats": {
                    "quotes": 0,
                    "reposts": 0,
                    "colle
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lensprotocol-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Identify an account by username=stani (a Lens local name) or address=0x...; stats and posts accept either. Engagement and graph counts are on-chain-backed live figures.",
        "source": "Lens v3 GraphQL (api.lens.xyz/graphql, live)",
        "service": "lensprotocol-api",
        "endpoints": {
            "GET /v1/feed": "Latest posts across the whole Lens network (limit=10|50).",
            "GET /v1/meta": "This document.",
            "GET /v1/posts": "An account's recent publications with text, timestamp and engagement (username=stani, limit=10|50).",
            "GET /v1/stats": "Social graph — follower/following counts and post/comment/repost/collect totals (username=stani).",
            "GET /v1/account": "Profile by username or address — name, bio, picture, address (username=stani)."
        },
        "description": "Live data from Lens Protocol, the decentralized social graph where accounts, posts and follows are owned on-chain by users rather than a platform. The account endpoint resolves a Lens username or address to its profile (name, bio, picture, address); the stats endpoint returns the social graph (follower/following counts and post/comment/repost/collect totals); the posts endpoint returns an account's recent publications with text, timestamp and engagement; the feed endpoint returns the latest posts across the whole network. Live, no key, nothing stored. The decentralized-social cut — distinct from the centralized
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/lensprotocol-api
OpenAPI spec: https://www.oanor.com/api/lensprotocol-api/openapi.json
