> ## Documentation Index
> Fetch the complete documentation index at: https://socialintel.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Make your first Social Intel API call in 3 steps.

## 0. Try it free (no payment)

Before setting up a wallet, verify the API works with `?demo=true`:

```bash theme={null}
curl "https://socialintel.dev/v1/search?query=fitness&demo=true"
```

Returns 3 cached results instantly. No USDC, no signup.

<Tip>
  **Building with an AI agent?** Skip the wallet setup entirely — use AgentCash. It handles wallet, USDC, and x402 payment automatically:

  ```bash theme={null}
  npx agentcash@latest add https://socialintel.dev
  ```

  Your agent (Claude, GPT, Cursor, etc.) can then call `fetch("https://socialintel.dev/v1/search?category=Fitness&limit=10")` and AgentCash pays automatically. [Learn more →](/docs/guides/code-examples#agentcash)
</Tip>

## 1. Install an x402 client

The x402 protocol handles payment automatically. Install a client for your language:

<CodeGroup>
  ```bash Python theme={null}
  pip install "x402[httpx,evm]"
  ```

  ```bash Node.js theme={null}
  npm install @x402/axios @x402/evm viem axios
  ```
</CodeGroup>

You'll need a wallet with USDC on Base. The x402 client uses your private key to sign payment transactions automatically.

## 2. Make a request

<CodeGroup>
  ```python Python theme={null}
  import asyncio
  from eth_account import Account
  from x402 import x402Client
  from x402.http.clients import x402HttpxClient
  from x402.mechanisms.evm import EthAccountSigner
  from x402.mechanisms.evm.exact.register import register_exact_evm_client

  async def main():
      private_key = "0xYOUR_PRIVATE_KEY"  # EVM wallet with USDC on Base
      account = Account.from_key(private_key)

      client = x402Client()
      register_exact_evm_client(client, EthAccountSigner(account))

      async with x402HttpxClient(client) as http:
          response = await http.get(
              "https://socialintel.dev/v1/search",
              params={"category": "Fitness", "country": "US", "limit": 10}
          )
          data = response.json()
          print(f"Found {data['count']} influencers")
          for user in data["results"]:
              print(f"  @{user['username']} — {user.get('public_email', 'no email')}")

  asyncio.run(main())
  ```

  ```javascript Node.js theme={null}
  import axios from "axios";
  import { x402Client, wrapAxiosWithPayment } from "@x402/axios";
  import { ExactEvmScheme } from "@x402/evm/exact/client";
  import { privateKeyToAccount } from "viem/accounts";

  const privateKey = "0xYOUR_PRIVATE_KEY"; // EVM wallet with USDC on Base
  const signer = privateKeyToAccount(privateKey);

  const client = new x402Client();
  client.register("eip155:*", new ExactEvmScheme(signer));

  const api = wrapAxiosWithPayment(axios.create(), client);

  const response = await api.get("https://socialintel.dev/v1/search", {
    params: { category: "Fitness", country: "US", limit: 10 },
  });

  console.log(`Found ${response.data.count} influencers`);
  response.data.results.forEach((user) => {
    console.log(`  @${user.username} — ${user.public_email || "no email"}`);
  });
  ```

  ```bash curl (demo only) theme={null}
  # Free preview — no payment required
  curl "https://socialintel.dev/v1/search?category=Fitness&country=US&demo=true"

  # curl cannot complete x402 payment — use Python/Node.js for paid requests
  ```
</CodeGroup>

## 3. Inspect the response

```json theme={null}
{
  "results": [
    {
      "username": "fitnessguru",
      "full_name": "Alex Fitness",
      "followers": 150000,
      "following": 900,
      "category": "Fitness",
      "bio": "Personal trainer | Online coaching | NYC",
      "public_email": "alex@fitnessguru.com",
      "is_verified": false,
      "is_business": true
    }
  ],
  "count": 1
}
```

Each result includes the influencer's profile data, follower count, business category, bio, and — for business accounts — their public contact email (\~50% of business accounts have a public email).

## What just happened?

1. Your client sent a GET request to `/v1/search`
2. The API responded with HTTP 402 and payment details (amount, wallet, chain)
3. Your x402 client automatically paid \$0.10 USDC on Base
4. The API returned the search results

The entire payment flow is invisible to your code — the x402 client handles it.

## Next steps

<CardGroup cols={2}>
  <Card title="Full Parameters" icon="sliders" href="/docs/reference/parameters">
    All available search filters
  </Card>

  <Card title="Response Schema" icon="brackets-curly" href="/docs/reference/response-schema">
    Every field in the response
  </Card>

  <Card title="Code Examples" icon="code" href="/docs/guides/code-examples">
    Python, Node.js, curl, and AgentCash
  </Card>

  <Card title="Pricing" icon="tag" href="/docs/reference/pricing">
    Dynamic pricing formula
  </Card>
</CardGroup>
