---
name: socify-api
description: >-
  Call Socify social scraping API (Instagram, TikTok, YouTube, Threads, Reddit,
  LinkedIn, Twitch, X, Snapchat). Use when an agent needs public social profiles,
  posts, comments, search, or engagement data via REST or MCP with a Bearer API key.
---

# Socify API

Unified public social data API. Prefer this skill over scraping HTML.

## Auth

1. Create a key at https://trysocify.com/dashboard/keys (free: 100 credits/month).
2. Send `Authorization: Bearer <SOCIFY_KEY>` on every lookup and MCP call.
3. Never put the key in query strings.

## Discovery (pick one)

| Surface | URL |
|---------|-----|
| Curated index | https://trysocify.com/llms.txt |
| Agents map | https://trysocify.com/agents.txt |
| Flat endpoint list | https://trysocify.com/llms-endpoints.txt |
| Per-platform (params+curls) | https://trysocify.com/llms-{platform}.txt e.g. /llms-tiktok.txt |
| Full agent reference | https://trysocify.com/llms-full.txt |
| Structured | https://trysocify.com/llms.json |
| OpenAPI 3.1 | https://trysocify.com/openapi.json |
| Live catalog | `GET https://trysocify.com/catalog.json` (no auth; also `/api/v1/catalog`) |
| MCP | https://api.trysocify.com/mcp (also https://trysocify.com/mcp) |
| MCP card | https://trysocify.com/mcp/server-card |

## REST pattern

```
GET https://trysocify.com/api/v1/{platform}/{resource}?param=value
Authorization: Bearer $SOCIFY_KEY
```

Example:

```bash
curl -s 'https://trysocify.com/api/v1/instagram/profile?username=natgeo' \
  -H "Authorization: Bearer $SOCIFY_KEY"
```

Success envelope includes `ok`, `platform`, `resource`, `data`, and `meta` (`credits_charged`, `latency_ms`).

## MCP

Connect with Streamable HTTP. Auth header same as REST.

1. Call `list_endpoints` if unsure which platform/resource/params to use.
2. Call `lookup` with `{ platform, resource, params }` or use the per-endpoint tool.

## Credits & errors

- Quota is **monthly credits**, not RPM.
- Typical cost: 1+ credits per successful lookup (see endpoint docs / catalog).
- `401` + `{ "error": "unauthorized" }` → fix the API key.
- `402` + `insufficient credits` → user must top up via https://trysocify.com/pricing (Stripe Checkout). Not x402/MPP.
- `400` → bad/missing params; read OpenAPI or docs for that resource.

## Platforms

instagram, tiktok, youtube, threads, reddit, linkedin, twitch, twitter (X), snapchat.

Docs: https://trysocify.com/docs · Markdown mirrors end with `.md` (e.g. `/docs/authentication.md`).

## Rules

- Do **not** scrape Socify HTML or platform HTML when the API covers the need.
- Prefer catalog/OpenAPI/`list_endpoints` over guessing paths.
- Respect credit balance; avoid unbounded retries on upstream failures.
