{"openapi":"3.1.0","info":{"title":"RichAPI API","version":"1.0.0","description":"Public endpoint reference."},"servers":[{"url":"https://api.richapi.ai/api/v1"}],"tags":[{"name":"Getting Started","description":"Make your first API call in under 5 minutes.\n\n## Base URL\n\n`https://api.richapi.ai/api/v1/`\n\n## Authentication\n\nEvery request requires an API key passed via the `x-api-key` header.\n\n**cURL**\n\n```bash\ncurl https://api.richapi.ai/api/v1/my-endpoints \\\n  -H \"x-api-key: YOUR_API_KEY\"\n```\n\n**Python**\n\n```python\nimport requests\n\nresponse = requests.get(\n    \"https://api.richapi.ai/api/v1/my-endpoints\",\n    headers={\"x-api-key\": \"YOUR_API_KEY\"},\n)\nprint(response.json())\n```\n\n**JavaScript**\n\n```javascript\nconst response = await fetch(\"https://api.richapi.ai/api/v1/my-endpoints\", {\n  headers: { \"x-api-key\": \"YOUR_API_KEY\" },\n});\nconsole.log(await response.json());\n```\n\n### Your First API Call\n\nEnrich a LinkedIn profile:\n\n**cURL**\n\n```bash\ncurl -X POST https://api.richapi.ai/api/v1/enrich_profile \\\n  -H \"x-api-key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://www.linkedin.com/in/satyanadella\"}'\n```\n\n**Python**\n\n```python\nimport requests\n\nresponse = requests.post(\n    \"https://api.richapi.ai/api/v1/enrich_profile\",\n    headers={\n        \"x-api-key\": \"YOUR_API_KEY\",\n        \"Content-Type\": \"application/json\",\n    },\n    json={\"url\": \"https://www.linkedin.com/in/satyanadella\"},\n)\nprint(response.json())\n```\n\n**JavaScript**\n\n```javascript\nconst response = await fetch(\"https://api.richapi.ai/api/v1/enrich_profile\", {\n  method: \"POST\",\n  headers: {\n    \"x-api-key\": \"YOUR_API_KEY\",\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({ url: \"https://www.linkedin.com/in/satyanadella\" }),\n});\nconst profile = await response.json();\nconsole.log(profile);\n```\n\nResponse:\n\n```json\n{\n  \"firstname\": \"Satya\",\n  \"lastname\": \"Nadella\",\n  \"headline\": \"Chairman and CEO at Microsoft\",\n  \"summary\": \"...\",\n  \"picture\": \"https://...\",\n  \"industry\": \"Technology\",\n  \"location\": {\n    \"country\": \"United States\",\n    \"city\": \"Redmond\",\n    \"state\": \"Washington\"\n  }\n}\n```\n\n### Check Your Usage\n\nMonitor your credit consumption anytime:\n\n**cURL**\n\n```bash\ncurl https://api.richapi.ai/api/v1/usage \\\n  -H \"x-api-key: YOUR_API_KEY\"\n```\n\n**Python**\n\n```python\nimport requests\n\nresponse = requests.get(\n    \"https://api.richapi.ai/api/v1/usage\",\n    headers={\"x-api-key\": \"YOUR_API_KEY\"},\n)\nprint(response.json())\n```\n\n**JavaScript**\n\n```javascript\nconst response = await fetch(\"https://api.richapi.ai/api/v1/usage\", {\n  headers: { \"x-api-key\": \"YOUR_API_KEY\" },\n});\nconsole.log(await response.json());\n```\n"},{"name":"Credits & Pricing","description":"Credit-based billing system.\n\n## Billing Rules\n\n- **Only successful calls are billed.** A non-2xx response deducts no credits.\n- **Per-result billing** (e.g. `people_search`) charges for the actual number of results returned, not the total available.\n- **Per-person/email billing** (e.g. email finding/verification) charges for the number of items in your `data` array.\n- **Inquiry-type endpoints are free.** Check results as many times as you want.\n\n## Checking Your Usage\n\n**cURL**\n\n```bash\n# Current month\ncurl https://api.richapi.ai/api/v1/usage \\\n  -H \"x-api-key: YOUR_API_KEY\"\n\n# Specific month\ncurl \"https://api.richapi.ai/api/v1/usage?month=2026-03\" \\\n  -H \"x-api-key: YOUR_API_KEY\"\n```\n\n**Python**\n\n```python\nimport requests\n\n# Current month\nresponse = requests.get(\n    \"https://api.richapi.ai/api/v1/usage\",\n    headers={\"x-api-key\": \"YOUR_API_KEY\"},\n)\nprint(response.json())\n\n# Specific month\nresponse = requests.get(\n    \"https://api.richapi.ai/api/v1/usage\",\n    headers={\"x-api-key\": \"YOUR_API_KEY\"},\n    params={\"month\": \"2026-03\"},\n)\nprint(response.json())\n```\n\n**JavaScript**\n\n```javascript\n// Current month\nconst response = await fetch(\"https://api.richapi.ai/api/v1/usage\", {\n  headers: { \"x-api-key\": \"YOUR_API_KEY\" },\n});\nconsole.log(await response.json());\n\n// Specific month\nconst monthly = await fetch(\"https://api.richapi.ai/api/v1/usage?month=2026-03\", {\n  headers: { \"x-api-key\": \"YOUR_API_KEY\" },\n});\nconsole.log(await monthly.json());\n```\n\nResponse:\n\n```json\n{\n  \"months\": [\"2026-03\"],\n  \"total_credits\": 42.5,\n  \"apis\": {\n    \"enrich_profile\": {\n      \"calls\": 25,\n      \"credits\": 25\n    },\n    \"people_search\": {\n      \"calls\": 5,\n      \"credits\": 17.5\n    }\n  }\n}\n```\n\n## Rate Limits\n\nEvery API key has a request-rate tier; exceeding it returns `429` with a\n`Retry-After` header indicating how many seconds to wait before retrying.\nStatus polls are exempt. See the Error Handling guide for the exact\nresponse shape.\n"},{"name":"Plans and credits","description":"Your organization can hold two wallets:\n\n- **Add-on credits** — the credits you buy. They never expire and pay for every endpoint.\n- **Plan credits** — granted by your plan on your billing day. They pay only for the\n  endpoints the plan covers, at the same price as add-on credits, and roll over for one\n  month at most (up to one month's grant).\n\nA call to a covered endpoint uses plan credits first, then add-on credits for the rest.\nOne call can be split across both. Calls to other endpoints use add-on credits. Team\nspend limits count the whole call, whichever credits pay for it, at your price.\n\n### Enrichment Pass\n\n60,000 plan credits a month, refilled on your billing day. Covers `enrich_companies_bulk`, `enrich_company`, `enrich_profile`, `enrich_profiles_bulk`.\n\n## When the plan credits run out\n\nThe organization owner chooses what happens, per plan:\n\n- `wallet` — the call continues on add-on credits.\n- `block` — covered calls return `402 plan_credits_exhausted` until the next refill.\n\nA single request can send `X-Plan-Overflow: block` to stop rather than spend add-on credits.\n`X-Plan-Overflow: wallet` only takes effect if the owner allowed it.\n\n## Credits in the response\n\nJSON object responses carry `richapi_meta.credits`:\n\n| Field | Meaning |\n|-------|---------|\n| `charged` | List credits of the whole call |\n| `from` | `plan`, `wallet`, `split` or `none` |\n| `plan_credits_charged` | Plan credits the call used |\n| `wallet_credits_charged` | Add-on credits the call used |\n| `plan_remaining` | Plan credits left |\n| `wallet_remaining` | Add-on credits left |\n| `resets_at` | Next refill; null when no refill is due |\n| `plan_status` | `active`, `canceling`, `past_due`, `refund_pending`, `disputed` |\n| `overflow` | The overflow mode the call ran under |\n\nThe plan fields appear only for an organization with a plan.\n\n## Checking both balances\n\n```bash\ncurl https://api.richapi.ai/api/v1/usage/allowance -H \"x-api-key: YOUR_API_KEY\"\n```\n\n## Retries\n\nA retry is a new request and is billed again. A 402, 429 or 503 response\ncharged nothing and is safe to retry.\n\n## Billing error codes\n\n<a id=\"insufficient_credits\"></a>\n\n#### `insufficient_credits`\n\nYour organization does not have enough credits for this request.\n\nFix: Top up credits on the Plan & credits page, or turn on auto-reload.\n\n<a id=\"spend_limit_reached\"></a>\n\n#### `spend_limit_reached`\n\nThis team has reached its monthly spend limit.\n\nFix: Ask an organization owner to raise the team's spend limit, or wait for it to reset.\n\n<a id=\"plan_credits_exhausted\"></a>\n\n#### `plan_credits_exhausted`\n\nYour plan has no plan credits left for this request, and its overflow is set to block.\n\nFix: Wait for the next refill, or have an organization owner switch overflow to add-on credits.\n\n<a id=\"plan_unavailable\"></a>\n\n#### `plan_unavailable`\n\nYour plan's balance could not be read, so the request was not run.\n\nFix: Retry shortly. Nothing was charged.\n\n<a id=\"invalid_plan_overflow\"></a>\n\n#### `invalid_plan_overflow`\n\nThe X-Plan-Overflow header must be 'wallet' or 'block'.\n\nFix: Send X-Plan-Overflow: block or X-Plan-Overflow: wallet, or leave it out.\n"},{"name":"Error Handling","description":"## HTTP Status Codes\n\n| Code | Meaning | Billed? |\n|------|---------|---------|\n| `200` / `201` | Success | Yes |\n| `400` | Bad Request — invalid parameters | No |\n| `401` / `403` | Unauthorized/Forbidden — missing or invalid API key | No |\n| `402` | Insufficient credits, plan credits exhausted, or team spend limit reached — see the `code` field | No |\n| `404` | Not Found — unknown endpoint | No |\n| `429` | Too Many Requests — quota exceeded | No |\n| `500` | Internal Server Error | No |\n| `502` / `504` | Upstream service error or timeout | No |\n\n## Error Response Format\n\nEvery error is a flat JSON object with an `error` string; some add fields specific to that failure:\n\n```json\n{\n  \"error\": \"Description of what went wrong\"\n}\n```\n\n## Common Errors\n\n### Missing or Invalid API Key (401 / 403)\n\n```json\n{\n  \"error\": \"No API access configured for this key\"\n}\n```\n\nFix: Add the `x-api-key` header to every request.\n\n### Unknown Endpoint (404)\n\n```json\n{\n  \"error\": \"Unknown API: nonexistent. Use GET /api/v1/my-endpoints to see available APIs.\"\n}\n```\n\nFix: Check the endpoint name. There is no `available_apis` list in the\nresponse body — use `GET /api/v1/my-endpoints` to see what's callable.\n\n### Insufficient Credits (402)\n\n```json\n{\n  \"error\": \"Insufficient credits\",\n  \"reserved\": \"5\",\n  \"balance\": \"2.5\"\n}\n```\n\nFix: Top up your account, or reduce the batch size of the request.\n\nEvery 402 also carries `code`, `message`, `fix`, `docs_url`, `resets_at`,\n`balances` and `plan_status`; the keys above stay for existing clients. The\ncodes (`insufficient_credits`, `plan_credits_exhausted`, `spend_limit_reached`)\nare explained in the Plans and credits guide. Billing codes are lowercase;\nolder `/api/v1` errors such as `ENDPOINT_UNDER_MAINTENANCE` keep their\nuppercase codes for historical reasons.\n\n### Too Many Requests (429)\n\n```json\n{\n  \"error\": \"Too Many Requests\"\n}\n```\n\nFix: Wait for the number of seconds given in the `Retry-After` response header, then retry.\n\n### Under Maintenance (503)\n\n```json\n{\n  \"error\": \"This endpoint is under maintenance. It will be available again soon.\",\n  \"code\": \"ENDPOINT_UNDER_MAINTENANCE\"\n}\n```\n\nFix: Temporary — retry later. Contact support if it persists.\n\n### Upstream / Timeout Errors (502 / 504)\n\n```json\n{\n  \"error\": \"The upstream service is temporarily unavailable. Please try again later.\"\n}\n```\n\nFix: This is a server-side issue. Retry with backoff (see below); if it persists, contact support.\n\n## Retry Strategy\n\nRetry `429`, `502`, and `504` with exponential backoff. Other 4xx errors will not succeed on retry without changing the request.\n\n```python\nimport time\nimport requests\n\ndef call_api(url, data, api_key, max_retries=3):\n    for attempt in range(max_retries):\n        response = requests.post(\n            url,\n            json=data,\n            headers={\n                \"x-api-key\": api_key,\n                \"Content-Type\": \"application/json\",\n            },\n        )\n\n        if response.status_code == 200:\n            return response.json()\n\n        if response.status_code in (429, 502, 504):\n            wait = 2 ** attempt  # 1s, 2s, 4s\n            time.sleep(wait)\n            continue\n\n        # Non-retryable error\n        response.raise_for_status()\n\n    raise Exception(\"Max retries exceeded\")\n```\n"},{"name":"AI","description":"Enrich, classify, extract, or summarize text using OpenAI, Anthropic, Gemini, or Perplexity."},{"name":"Activity","description":"Fetch recent posts, comments, and reactions from a LinkedIn profile."},{"name":"Ads","description":"Search and inspect ad activity across LinkedIn, Google, and Meta."},{"name":"Directory","description":"Look up structured business and contact directory data."},{"name":"Enrichment","description":"Enrich LinkedIn profiles and company pages with detailed data."},{"name":"Funding Data","description":"Look up company funding rounds and investor data."},{"name":"Leads","description":"Search and qualify leads by company and contact filters."},{"name":"Maps","description":"Search places and business listings via Google Maps."},{"name":"Posts","description":"Search and retrieve LinkedIn posts by keyword or author."},{"name":"Search","description":"Search across 400M+ enriched LinkedIn profiles and posts with powerful filters."},{"name":"Social","description":"Pull social metrics and links for a given profile or domain."},{"name":"Utilities","description":"Helper endpoints for parsing, normalizing, and formatting data."},{"name":"Waterfall","description":"Chain multiple providers to maximize match rate on a single request."},{"name":"Web Scraping","description":"Scrape and extract structured data from any web page."},{"name":"YouTube","description":"Search and retrieve YouTube channel, video, and search data."}],"x-tagGroups":[{"name":"Guides","tags":["Getting Started","Credits & Pricing","Plans and credits","Error Handling"]},{"name":"Endpoints","tags":["AI","Activity","Ads","Directory","Enrichment","Funding Data","Leads","Maps","Posts","Search","Social","Utilities","Waterfall","Web Scraping","YouTube"]}],"paths":{"/ai_enrich":{"post":{"operationId":"ai_enrich","summary":"AI Enrich","description":"Enrich, classify, extract, or summarize text using OpenAI, Anthropic, Gemini, or Perplexity.\n\n**Pricing:** 2 credits per call","tags":["AI"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","description":"AI provider: openai, anthropic, gemini, or perplexity","pattern":"^(openai|anthropic|gemini|perplexity)$","enum":["openai","anthropic","gemini","perplexity"]},"prompt":{"type":"string","description":"Prompt template; use {{fieldName}} placeholders for dynamic values"},"model":{"type":"string","description":"Model override; defaults to provider default model"},"temperature":{"type":"number","description":"Sampling temperature between 0 and 2","default":0.3},"context":{"type":"object","description":"Key-value pairs used for {{placeholder}} substitution in the prompt","default":{}},"system_prompt":{"type":"string","description":"Optional system prompt or instructions"},"output_type":{"type":"string","description":"Output format: text or json","default":"text","pattern":"^(text|json)$"},"output_schema":{"type":"object","description":"JSON schema used to guide structured output when output_type is json","default":{}},"max_tokens":{"type":"integer","description":"Maximum output tokens; defaults to provider default","default":4096},"use_web_search":{"type":"boolean","description":"Enable web search when supported by the selected provider","default":false},"search_domain_filter":{"type":"array","description":"Perplexity only; limit search to specific domains"},"search_recency_filter":{"type":"string","description":"Perplexity only; filter by recency: day, week, month, year","pattern":"^(day|week|month|year)?$","enum":["day","week","month","year"]}},"required":["prompt","provider"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"content":"TexAu automates outreach workflows.","finish_reason":"stop","input_tokens":18,"model":"gpt-4o-mini","output_tokens":12,"provider":"openai","tokens_used":30}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":2}}},"/clean_domain":{"post":{"operationId":"clean_domain","summary":"Clean Domain","description":"Normalize a messy URL or domain string to a clean root domain.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"messy_url":{"type":"string","description":"URL or domain to normalize (e.g. https://www.Example.COM/page?q=1)"}},"required":["messy_url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"clean_domain":"acme.com","clean_url":"https://www.acme.com","validated_domain":true}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/count_occurrences":{"post":{"operationId":"count_occurrences","summary":"Count Occurrences","description":"Count how many times a substring appears in a string, with optional case-insensitive matching.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"string","description":"Input string to search within"},"separator":{"type":"string","description":"Substring to split and count by"},"case_insensitive":{"type":"boolean","description":"Case-insensitive matching (default false)","default":false},"limit":{"type":"integer","description":"Max results to return (0 for all, max 1000)","default":0}},"required":["input","separator"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"results":[{"count":2,"item":"foo"},{"count":1,"item":"bar"},{"count":1,"item":"baz"}],"total_items":4,"unique_items":3}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/crunchbase_company_scraper_sync":{"post":{"operationId":"crunchbase_company_scraper_sync","summary":"Crunchbase Company Scraper","description":"Scrape Crunchbase company profiles — funding rounds, investors, employee count, and more.\n\n**Pricing:** 3 credits per call","tags":["Funding Data"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"crunchbase_company_url":{"type":"string","description":"URL of the company's profile on Crunchbase (e.g. https://www.crunchbase.com/organization/openai)"}},"required":["crunchbase_company_url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"Description":"example","Founded Date":"example","Headquarters Location":"example","Industries":"example","Last Funding Date":"example","Last Funding Type":"example","LinkedIn":"example","Number of Employees":"example","Organization Name":"example","Total Funding Amount (in USD)":1,"Website":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":3}}},"/directory_yellowpages":{"post":{"operationId":"directory_yellowpages","summary":"Yellow Pages Search","description":"Search Yellow Pages for businesses with name, phone, address, website, and categories.\n\n**Pricing:** 0.01 credits per result","tags":["Directory"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"search_query":{"type":"string","description":"Business type or name to search for."},"location":{"type":"string","description":"City, state, or ZIP code."},"page":{"type":"integer","description":"Page number for pagination (default 1).","default":1},"max_pages":{"type":"integer","description":"Maximum number of pages to scrape.","default":1}},"required":["location","search_query"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"data":{"businesses":[{"address":"123 Main St, Austin, TX 78701","categories":["Plumbers","Water Heaters"],"name":"ABC Plumbing","phone":"(512) 555-0123","rating":4.8,"website":"https://abcplumbing.example.com"}]}}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"base_credits_per_call":0,"credits_per_result":0.01,"result_count_field":"_list_count"}}},"/distribute_leads":{"post":{"operationId":"distribute_leads","summary":"Distribute Leads","description":"Round-robin distribute leads across a set of assignment labels (e.g. sales reps).\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"assignment_labels":{"type":"string","description":"Comma-separated assignment labels (e.g. Team A,Team B,Team C)"},"values_associated_with_labels":{"type":"string","description":"Comma-separated values to distribute (e.g. alice@co.com,bob@co.com)"},"current_index":{"type":"integer","description":"Starting index for round-robin (default 0)","default":0}},"required":["values_associated_with_labels"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"assignments":[],"next_index":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/email_finder":{"post":{"operationId":"email_finder","summary":"Email Finder","description":"Find a verified work email using name, domain, or LinkedIn URL. Tries multiple providers automatically.\n\n**Pricing:** 5 credits per call","tags":["Enrichment"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"first_name":{"type":"string","description":"First name (required if no linkedin_url)"},"last_name":{"type":"string","description":"Last name (required if no linkedin_url)"},"company_domain":{"type":"string","description":"Company domain (required if no linkedin_url)"},"linkedin_url":{"type":"string","description":"LinkedIn profile URL (alternative to name + domain)"},"company_name":{"type":"string","description":"Company name (optional, improves accuracy)"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"confidence":"example","email":"example","provider":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":5}}},"/email_verifier":{"post":{"operationId":"email_verifier","summary":"Email Verifier","description":"Verify email deliverability and validity via multi-provider waterfall.\n\n**Pricing:** 2 credits per call","tags":["Waterfall"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Email address to verify","pattern":"^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"}},"required":["email"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"disposable":true,"email":"example","mxFound":true,"status":"example","valid":true}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":2}}},"/encode_uri":{"post":{"operationId":"encode_uri","summary":"Encode URI","description":"URL-encode a string for safe use in query parameters or path segments.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string","description":"String to URL-encode (RFC 3986)"}},"required":["value"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"encoded":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/enrich_companies_bulk":{"post":{"operationId":"enrich_companies_bulk","summary":"Bulk Company Enrichment","description":"Fetch up to 50 LinkedIn company profiles in a single call using company IDs.\n\n**Pricing:** 1 credit per result","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urns":{"type":"array","description":"List of numeric LinkedIn company IDs (max 50)"}},"required":["urns"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":1,"result_count_field":"_list_count"},"x-plan-coverage":[{"plan_id":"pass_v1","plan":"Enrichment Pass"}]}},"/enrich_company":{"post":{"operationId":"enrich_company","summary":"Company Enrichment","description":"Get company data from LinkedIn including size, industry, specialties and employee insights.\n\n**Pricing:** 1 credit per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"LinkedIn company page URL"}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"companySize":"example","description":"example","followerCount":1,"founded":1,"headquarters":"example","industry":"example","linkedinUrl":"example","logo":"example","name":"example","specialties":[],"website":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1},"x-plan-coverage":[{"plan_id":"pass_v1","plan":"Enrichment Pass"}]}},"/enrich_profile":{"post":{"operationId":"enrich_profile","summary":"Profile Enrichment","description":"Get LinkedIn profile data including name, headline, location, experience, education and more. Base price is 1 credits per call. When `include_social_metrics` is `True`, the optional component adds 1 credits; it is not charged when unavailable.\n\n**Pricing:** 1 credit per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"LinkedIn profile URL"},"include_social_metrics":{"type":"boolean","description":"Include optional social metrics when available.","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"certifications":[],"connectionCount":1,"currentCompany":"example","currentTitle":"example","education":[],"experience":[],"firstname":"example","followerCount":1,"headline":"example","languages":[],"lastname":"example","linkedinUrl":"example","location":"example","profilePicture":"example","skills":[],"summary":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1,"min_credits_per_call":1,"max_credits_per_call":2,"conditional_components":[{"id":"social_metrics","when":{"field":"include_social_metrics","equals":true},"credits_per_call":1,"description":"Optional component; unavailable components are not charged."}]},"x-plan-coverage":[{"plan_id":"pass_v1","plan":"Enrichment Pass"}]}},"/enrich_profiles_bulk":{"post":{"operationId":"enrich_profiles_bulk","summary":"Bulk Profile Enrichment","description":"Fetch up to 50 LinkedIn profiles in a single call using entity URNs.\n\n**Pricing:** 1 credit per result","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urns":{"type":"array","description":"List of LinkedIn entity URNs (max 50)"}},"required":["urns"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":1,"result_count_field":"_list_count"},"x-plan-coverage":[{"plan_id":"pass_v1","plan":"Enrichment Pass"}]}},"/extract_urls_emails":{"post":{"operationId":"extract_urls_emails","summary":"Extract URLs & Emails","description":"Extract all URLs and email addresses from a block of text.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"Text block to extract URLs and emails from"}},"required":["text"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"emails":[],"urls":[]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/find_crunchbase_url":{"post":{"operationId":"find_crunchbase_url","summary":"Find Crunchbase URL","description":"Find the Crunchbase organization URL for a company from its name.\n\n**Pricing:** 0.2 credits per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company_name":{"type":"string","description":"Company name to look up (e.g. Stripe)"},"company_domain":{"type":"string","description":"Company website domain, used to tell apart companies with similar names (e.g. stripe.com)"}},"required":["company_name"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"data":{"crunchbase_url":"https://www.crunchbase.com/organization/stripe"},"message":"success"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.2}}},"/find_linkedin_company_url":{"post":{"operationId":"find_linkedin_company_url","summary":"Find LinkedIn Company URL","description":"Find the LinkedIn company page URL for a company from its name.\n\n**Pricing:** 0.2 credits per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company_name":{"type":"string","description":"Company name to look up (e.g. Stripe)"},"company_domain":{"type":"string","description":"Company website domain, used to tell apart companies with similar names (e.g. stripe.com)"}},"required":["company_name"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"data":{"company_linkedin_url":"https://www.linkedin.com/company/stripe"},"message":"success"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.2}}},"/find_linkedin_url_by_email":{"post":{"operationId":"find_linkedin_url_by_email","summary":"Find LinkedIn URL by Email","description":"Finds a LinkedIn profile URL using an email address.\n\n**Pricing:** 4 credits per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Email address of the person","pattern":"^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"}},"required":["email"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"data":{"LinkedIn Profile URL":"example"},"status":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":4}}},"/find_linkedin_url_by_name":{"post":{"operationId":"find_linkedin_url_by_name","summary":"Find LinkedIn URL by Name","description":"Finds a LinkedIn profile URL using full name and company name.\n\n**Pricing:** 0.2 credits per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"full_name":{"type":"string","description":"Full name of the person (e.g. Satya Nadella)"},"company_name":{"type":"string","description":"Company name (e.g. Microsoft)"}},"required":["company_name","full_name"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"data":{"LinkedIn Profile URL":"example"},"status":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.2}}},"/find_personal_email":{"post":{"operationId":"find_personal_email","summary":"Find Personal Email","description":"Finds a person's personal email addresses using their LinkedIn profile URL.\n\n**Pricing:** 5 credits per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"linkedin_url":{"type":"string","description":"LinkedIn profile URL of the person"}},"required":["linkedin_url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"data":{"email":"santoshelect13@gmail.com","status":"ok","verifier":"Million Verifier"},"id":"6a6874c544af2d8d82d07ed3","status":"success"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":5}}},"/find_redirect":{"post":{"operationId":"find_redirect","summary":"Find Redirect","description":"Follow a URL through all redirects and return the final destination URL.\n\n**Pricing:** 1 credit per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"link":{"type":"string","description":"URL to follow through all redirects to the final destination"}},"required":["link"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"final_url":"example","redirect_chain":[],"status_code":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/find_sitemap_urls":{"post":{"operationId":"find_sitemap_urls","summary":"Find Sitemap URLs","description":"Discover and filter URLs from a domain's sitemap by keyword.\n\n**Pricing:** 1 credit per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to discover sitemap URLs from (e.g. stripe.com)"},"keywords":{"type":"string","description":"Comma-separated keywords to filter URLs"},"exact_match":{"type":"boolean","description":"Match keywords exactly (default false)","default":false}},"required":["domain"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"total":1,"urls":[]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/find_website_by_company_name":{"post":{"operationId":"find_website_by_company_name","summary":"Find Website by Company Name","description":"Finds a company website URL using its name.\n\n**Pricing:** 0.2 credits per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company_name":{"type":"string","description":"Name of the company"},"company_domain":{"type":"string","description":"Company website domain, used to tell apart companies with similar names (e.g. stripe.com)"}},"required":["company_name"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"data":{"Website":"example"},"status":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.2}}},"/format_datetime":{"post":{"operationId":"format_datetime","summary":"Format Datetime","description":"Parse and reformat a date/time string with optional timezone conversion and locale.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","description":"Date/time string to parse (ISO 8601 or common formats)"},"format":{"type":"string","description":"strftime format string for output (e.g. %B %d, %Y)"},"original_timezone":{"type":"string","description":"Timezone of the input date (e.g. UTC)"},"new_timezone":{"type":"string","description":"Target timezone for output (e.g. America/New_York)"},"locale":{"type":"string","description":"Locale for month/day names (e.g. en, fr)"}},"required":["date"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"formatted":"example","iso":"example","timezone":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/geo_id_search":{"post":{"operationId":"geo_id_search","summary":"Geo ID Search","description":"Resolve a location name to a LinkedIn Geo ID for use with profile and lead search filters.\n\n**Pricing:** 0.01 credits per call","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"search":{"type":"string","description":"Location name to search (e.g. 'San Francisco', 'London')"}},"required":["search"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"geoId":"example","title":"example"}]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.01}}},"/google_ad_transparency_scraper_sync":{"post":{"operationId":"google_ad_transparency_scraper_sync","summary":"Google Ad Transparency Scraper","description":"Scrape Google Ad Transparency reports — see active ads, creative formats, and geographic targeting.\n\n**Pricing:** 3 credits per result","tags":["Ads"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"google_ad_url":{"type":"string","description":"Google Ad Transparency search URL"},"limit":{"type":"integer","description":"Max items to return (max 100)","default":0}},"required":["google_ad_url","limit"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"adUrl":"example","advertiserId":"example","creativeId":"example","format":"example","landingDomain":"example","landingUrls":[],"lastShown":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":3,"result_count_field":"_list_count"}}},"/google_maps_places_scraper_keyword":{"post":{"operationId":"google_maps_places_scraper_keyword","summary":"Google Maps Places (Keyword)","description":"Search for business places on Google Maps by keyword and location (e.g., 'cafe' in 'Pune').\n\n**Pricing:** 0.1 credits per result","tags":["Maps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"search_query":{"type":"string","description":"Fuzzy keyword search."},"location_query":{"type":"string","description":"Fuzzy location search."},"limit":{"type":"integer","description":"Maximum number of places to return (default is 25).","default":25}},"required":["limit","search_query"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"array"},"example":[{"categories":["Coffee shop","Coffee roastery","Coffee stand","Coffee store","Espresso bar"],"categoryName":"Coffee shop","city":"New York","countryCode":"US","phone":"(212) 203-1918","reviewsCount":1255,"state":"New York","street":"226 E 3rd St","title":"BUDDIES COFFEE","totalScore":5,"url":"https://www.google.com/maps/search/?api=1&query=BUDDIES%20COFFEE&query_place_id=ChIJo20fEQpZwokRW7sSJjFierw","website":"http://buddiescoffeenyc.com/"},{"categories":["Coffee shop"],"categoryName":"Coffee shop","city":"New York","countryCode":"US","phone":"(347) 556-8312","reviewsCount":416,"state":"New York","street":"30 Grand St","title":"Now or Never Coffee","totalScore":4.6,"url":"https://www.google.com/maps/search/?api=1&query=Now%20or%20Never%20Coffee&query_place_id=ChIJcQM_C4FZwokR0xEGxV7HeVM","website":"http://nowornevercoffee.com/"},{"categories":["Coffee shop","Breakfast restaurant","Cafe"],"categoryName":"Coffee shop","city":"New York","countryCode":"US","phone":"(212) 228-7888","reviewsCount":823,"state":"New York","street":"239 E 5th St","title":"Coffee Project New York | East Village","totalScore":4.6,"url":"https://www.google.com/maps/search/?api=1&query=Coffee%20Project%20New%20York%20%7C%20East%20Village&query_place_id=ChIJ_dckWptZwokR_LkU9WxPNZ4","website":"https://coffeeprojectny.com/?utm_source=google&utm_medium=organic&utm_campaign=gmb_ev"},{"categories":["Coffee shop","Cafe","Deli"],"categoryName":"Coffee shop","city":"New York","countryCode":"US","phone":"(212) 989-6131","reviewsCount":316,"state":"New York","street":"502 Hudson St","title":"Blackstone Coffee Roaster","totalScore":4.7,"url":"https://www.google.com/maps/search/?api=1&query=Blackstone%20Coffee%20Roaster&query_place_id=ChIJMTPfU5NZwokRljkmneTlHNE"},{"categories":["Coffee shop"],"categoryName":"Coffee shop","city":"New York","countryCode":"US","phone":"(646) 692-9957","reviewsCount":742,"state":"New York","street":"180 Mulberry St","title":"Urban Backyard","totalScore":4.7,"url":"https://www.google.com/maps/search/?api=1&query=Urban%20Backyard&query_place_id=ChIJv6INkhtZwokR5Ol7iuc6TJc","website":"http://www.urbanbackyardnyc.com/"}]}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"base_credits_per_call":0,"credits_per_result":0.1,"result_count_field":"_list_count"}}},"/google_maps_places_scraper_sync_using_url":{"post":{"operationId":"google_maps_places_scraper_sync_using_url","summary":"Google Maps Places (URL)","description":"Scrape Google Maps places directly from a search results URL.\n\n**Pricing:** 0.1 credits per result","tags":["Maps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"google_map_search_url":{"type":"string","description":"Google Maps search results URL"},"limit":{"type":"integer","description":"Max results to return (default 5, max 300)","default":5}},"required":["google_map_search_url","limit"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"address":"example","categoryName":"example","reviewsCount":1,"title":"example","totalScore":1,"url":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.1,"result_count_field":"_list_count"}}},"/google_maps_reviews_scraper_sync":{"post":{"operationId":"google_maps_reviews_scraper_sync","summary":"Google Maps Reviews","description":"Scrape reviews for a specific Google Maps place synchronously.\n\n**Pricing:** 0.1 credits per result","tags":["Maps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"google_map_review_url":{"type":"string","description":"Google Maps place URL to scrape reviews for"},"limit":{"type":"integer","description":"Maximum number of reviews to return (max 300)","default":5},"review_sort":{"type":"string","description":"Sort order: mostRelevant, newest, highestRanking, lowestRanking","default":"newest","pattern":"^(mostRelevant|newest|highestRanking|lowestRanking)$","enum":["newest","mostRelevant","highestRanking","lowestRanking"]}},"required":["google_map_review_url","limit"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"publishAt":"example","reviewId":"example","reviewerName":"example","stars":1,"text":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.1,"result_count_field":"_list_count"}}},"/google_search_scraper_sync":{"post":{"operationId":"google_search_scraper_sync","summary":"Google Search Scraper","description":"Scrape Google Search results synchronously.\n\n**Pricing:** 0.2 credits per result","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"search_query":{"type":"string","description":"Search query string"},"limit":{"type":"integer","description":"Maximum number of result pages to fetch (max 100)","default":0}},"required":["search_query"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"description":"example","title":"example","url":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.2,"result_count_field":"_list_count"}}},"/identify_email_type":{"post":{"operationId":"identify_email_type","summary":"Identify Email Type","description":"Classify an email address as personal, business, role-based, or disposable.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Email address to classify"}},"required":["email"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"domain":"example","type":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/lead_search":{"post":{"operationId":"lead_search","summary":"Lead Search","description":"Advanced LinkedIn lead search with 30+ filters including seniority, function, geography, company, title, Sales Navigator URL, and exclusion filter support.\n\n**Pricing:** 10 credits base + 0.5 credits per result","tags":["Leads"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"search_query":{"type":"string","description":"Fuzzy keyword search."},"sales_nav_url":{"type":"string","description":"Full LinkedIn Sales Navigator search URL. May be combined with individual filters."},"locations":{"type":"array","description":"Location names"},"geo_ids":{"type":"array","description":"LinkedIn geo IDs or location names"},"seniority":{"type":"array","description":"Seniority labels resolved to LinkedIn seniorityLevelIds."},"functions":{"type":"array","description":"Job function labels resolved to LinkedIn functionIds."},"industries":{"type":"array","description":"Industry labels resolved to LinkedIn industryIds."},"company_size":{"type":"array","description":"Company size ranges."},"years_of_experience":{"type":"array","description":"Experience range labels resolved to LinkedIn yearsOfExperienceIds."},"years_at_current_company":{"type":"array","description":"Tenure range labels resolved to LinkedIn yearsAtCurrentCompanyIds."},"profile_languages":{"type":"array","description":"Profile language labels resolved to language codes."},"current_companies":{"type":"array","description":"Current company LinkedIn URLs or IDs."},"past_companies":{"type":"array","description":"Past company LinkedIn URLs or IDs."},"current_job_titles":{"type":"array","description":"Current job title filters."},"past_job_titles":{"type":"array","description":"Past job title filters."},"first_names":{"type":"array","description":"First name filters."},"last_names":{"type":"array","description":"Last name filters."},"schools":{"type":"array","description":"School LinkedIn URLs or IDs."},"recently_changed_jobs":{"type":"boolean","description":"Filter for people who recently changed jobs."},"company_headquarter_locations":{"type":"array","description":"Company headquarters location filters."},"exclude_seniority":{"type":"array","description":"Seniority labels to exclude."},"exclude_industries":{"type":"array","description":"Industry labels to exclude."},"exclude_functions":{"type":"array","description":"Job function labels to exclude."},"exclude_locations":{"type":"array","description":"Location text values to exclude."},"exclude_geo_ids":{"type":"array","description":"LinkedIn geo IDs or location names to exclude."},"exclude_current_companies":{"type":"array","description":"Current company LinkedIn URLs or IDs to exclude."},"exclude_past_companies":{"type":"array","description":"Past company LinkedIn URLs or IDs to exclude."},"exclude_current_job_titles":{"type":"array","description":"Current job titles to exclude."},"exclude_past_job_titles":{"type":"array","description":"Past job titles to exclude."},"exclude_schools":{"type":"array","description":"School LinkedIn URLs or IDs to exclude."},"exclude_company_headquarter_locations":{"type":"array","description":"Company headquarters locations to exclude."},"page":{"type":"integer","description":"Positive page number for pagination. Defaults to 1.","default":1},"session_id":{"type":"string","description":"Optional unique ID used to keep pagination requests on the same scraping resource. Generate a random string (for example, a UUID) and send the same value with each page request"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"firstName":"Rayara","id":"ACwAAD0vgEYBfTKAh4CcxbRiFnfRzU6XVSI9SaU","lastName":"Chambela Geronimo","linkedinUrl":"https://www.linkedin.com/in/ACwAAD0vgEYBfTKAh4CcxbRiFnfRzU6XVSI9SaU","location":{"countryCode":"br","geoId":"101165590","linkedinText":"Santo Andre, Sao Paulo, Brazil"},"openProfile":false,"pictureUrl":"https://media.licdn.com/dms/image/...","premium":false,"summary":"Currently pursuing a degree in Systems Analysis and Development..."}],"pagination":{"pageNumber":1,"pageSize":25,"previousElements":0,"totalElements":12345678,"totalPages":100},"sessionId":"session_abc123"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"base_credits_per_call":10,"credits_per_result":0.5,"result_count_field":"elements"}}},"/linkedin_ad_details":{"post":{"operationId":"linkedin_ad_details","summary":"LinkedIn Ad Details","description":"Get full details of a specific LinkedIn ad including variants, impressions by country, and targeting.\n\n**Pricing:** 2 credits per call","tags":["Ads"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ad_url":{"type":"string","description":"LinkedIn Ad Library detail URL (e.g. https://www.linkedin.com/ad-library/detail/1215501393)"}},"required":["ad_url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"element":{"about":{"advertiserName":"UX Pilot AI","advertiserUrl":"https://www.linkedin.com/company/99850535?trk=ad_library_about_ad_advertiser","format":"Single Image Ad","paidBy":"UX Pilot"},"id":"1215501393","impressions":null,"targeting":null,"variants":[{"advertiser":{"headline":"Promoted","imageUrl":"https://media.licdn.com/dms/image/v2/D4E0BAQF14xfiQrSfew/company-logo_100_100/B4EZwpRV9cGcAQ-/0/1770218938904/uxpilot_ai_logo?e=1784160000&v=beta&t=dAJZSufW8CcVg1PVqad0K4AQtae4qg06TbFbHfRn-bE","linkedinUrl":"https://www.linkedin.com/company/99850535?trk=ad_library_ad_preview_advertiser_image","name":"UX Pilot AI"},"content":{"ctaLabel":"Learn more","description":"Paste your PRD, generate multi-step flows with your actual components, and get screens that look like your product, in seconds, not generic AI output.\n\nSee it in action today.","headline":"Generate wireframes in seconds","imageUrl":"https://media.licdn.com/dms/image/v2/D4D10AQHrygtedL9DNQ/image-shrink_1280/B4DZXy8bxYHIAM-/0/1743537684174/Frame1000002823png?e=2147483647&v=beta&t=_j-yK4ZU0KcFUnEBpTGGtFYJED9-EoNv1SJGfdVWy2w","targetUrl":null},"creativeType":"SPONSORED_STATUS_UPDATE"}]},"query":{"url":"https://www.linkedin.com/ad-library/detail/1215501393"},"status":200}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":2}}},"/linkedin_ad_search":{"post":{"operationId":"linkedin_ad_search","summary":"LinkedIn Ad Search","description":"Search LinkedIn Ad Library for active ads by advertiser, keyword, or country.\n\n**Pricing:** 0.2 credits per result","tags":["Ads"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword to search ads for"},"account_owner":{"type":"string","description":"Advertiser or company name"},"countries":{"type":"string","description":"Comma-separated country codes (e.g. 'US,GB') or 'ALL'","default":"ALL"},"date_option":{"type":"string","description":"Date range: last-30-days, current-month, current-year, last-year, or custom-date-range","enum":["last-30-days","current-month","current-year","last-year","custom-date-range"]},"start_date":{"type":"string","description":"Start date for custom range (YYYY-MM-DD)"},"end_date":{"type":"string","description":"End date for custom range (YYYY-MM-DD)"},"pagination_token":{"type":"string","description":"Pagination token from previous response"},"search_url":{"type":"string","description":"Full LinkedIn Ad Library search URL (alternative to individual filters)"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"advertiser":{"headline":"Promoted","imageUrl":"https://media.licdn.com/dms/image/v2/D5603AQEXQwoTvYzI4g/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1690229902311?e=1784160000&v=beta&t=2IMeZUc8bHdZ45ltzbmgusSz1xwtt5A4cwLwkrclgGQ","name":"CEO/Founder and Friend. Professional People Finder"},"content":{"description":"Why did I spend so much time and money building an Applicant Tracking System for small employers?\n\nBecause after 25 year…","headline":"Gatekeeper - HRmango","imageUrl":"https://media.licdn.com/dms/image/sync/v2/D4D27AQHZ0IA4LHmDJw/articleshare-shrink_1280_800/B56Z6BUMuzKoAY-/0/1780286017249?e=2147483647&v=beta&t=GII46uFAERO0ZuricQcwmLsTs6ilj49bf989nMPoGo4","pageUrl":"https://www.linkedin.com/ad-library/detail/1440550993"},"creativeType":"SPONSORED_STATUS_UPDATE","id":"1440550993"}],"pagination":{"pageNumber":null,"pageSize":1,"paginationToken":"1460308964-1782143461901","previousElements":null,"totalElements":1,"totalPages":1},"query":{"account_owner":"example","countries":"US","date_option":"last-30-days","keyword":"marketing automation"},"status":200}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.2,"result_count_field":"elements"}}},"/linkedin_company_employees_search":{"post":{"operationId":"linkedin_company_employees_search","summary":"LinkedIn Company Employees Search","description":"Search for employees of a specific company using its LinkedIn URL.\n\n**Pricing:** 0.1 credits per result","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company_linkedin_url":{"type":"string","description":"LinkedIn URL of the company"},"page":{"type":"integer","description":"Page number for pagination","default":1}},"required":["company_linkedin_url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"linkedinUrl":"example","name":"example","position":"example"}],"pagination":{}}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.1,"result_count_field":"elements"}}},"/linkedin_company_posts":{"post":{"operationId":"linkedin_company_posts","summary":"LinkedIn Company Posts","description":"Get recent posts published by a LinkedIn company. Supports filtering by date recency and cursor-based pagination.\n\n**Pricing:** 0.2 credits per result","tags":["Posts"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"integer","description":"Page number for pagination (1-based, default 1).","default":1},"linkedin_company_url":{"type":"string","description":"LinkedIn company URL (use this, linkedin_company_id, or linkedin_company_universal_name)."},"linkedin_company_id":{"type":"string","description":"LinkedIn company numeric ID (fastest lookup)."},"linkedin_company_universal_name":{"type":"string","description":"Last path segment of the company LinkedIn URL (e.g. texauhq)."},"posted_limit":{"type":"string","description":"Pre-filter posts by recency: 24h, week, or month.","enum":["24h","week","month"]},"scrape_posted_limit":{"type":"string","description":"Scrape posts until this recency threshold is met: '1h', '24h', 'week','month', '3months', '6months', 'year'.","enum":["1h","24h","week","month","3months","6months","year"]}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"author":{"avatar":{"height":400,"url":"https://media.licdn.com/dms/image/v2/D560BAQExme8rEtP5QA/company-logo_400_400/B56ZxqRRoGIIAc-/0/1771309440256/texauhq_logo?e=1783555200&v=beta&t=5ktl-8pximLvXXo1YnSoKoK9OjrYOfpp8QVs6Ixyzg8","width":400},"id":"76136784","info":"2,288 followers","linkedinUrl":"https://www.linkedin.com/company/texauhq/posts","name":"TexAu","publicIdentifier":null,"type":"company","universalName":"texauhq","urn":"76136784","website":null,"websiteLabel":null},"comments":[],"content":"People still think TexAu is a data scraping tool!\n\nOur Founder, Vikesh Tiwari disagrees. Strongly. We sat down with him to ask everything - v3, the API, MCP, new pricing and what comes next.\n\nIf you think you know about TexAu or Curious about what comes next, turn the sound on and watch till the end. 🔊\n\n#TexAu #StartupCulture #GTM #TexAuMcp","contentAttributes":[{"hyperlink":"https://www.linkedin.com/in/ACoAADSlaZgBSwytnwyWSoHJGmT0LGmDG8twWnU","length":13,"profile":{"firstName":"Vikesh","id":"ACoAADSlaZgBSwytnwyWSoHJGmT0LGmDG8twWnU","lastName":"Tiwari","linkedinUrl":"https://www.linkedin.com/in/iamvikeshtiwari","publicIdentifier":"iamvikeshtiwari"},"start":64,"textLink":null,"type":"PROFILE_MENTION"}],"engagement":{"comments":1,"id":"7458081859688669184","likes":22,"reactions":[{"count":17,"type":"LIKE"},{"count":3,"type":"EMPATHY"},{"count":2,"type":"PRAISE"}],"shares":1},"entityId":"7458081860720689153","header":{"text":null},"id":"7458081860720689153","linkedinUrl":"https://www.linkedin.com/posts/texauhq_texau-startupculture-gtm-activity-7458081860720689153-a72A","postImages":[],"postVideo":{"thumbnailUrl":"https://media.licdn.com/dms/image/v2/D4D10AQEu4yscPORhAQ/ads-video-thumbnail_720_1280/B4DZ4BtldQKsAU-/0/1778145187867?e=1782460800&v=beta&t=DsEbhEy5Ym_RTzmd-L4DYkOs6kY3yBDWLZp5CCcR2hw","videoUrl":"https://dms.licdn.com/playlist/vid/v2/D4D10AQEu4yscPORhAQ/mp4-720p-30fp-crf28/B4DZ4BtldQKsBg-/0/1778145278116?e=1782460800&v=beta&t=-yOFkLLYA1mOHbYk_G8CTFXdzAYESZqOIqgPgQsz2W8"},"postedAt":{"date":"2026-05-07T09:14:40.056Z","postedAgoShort":"1mo","postedAgoText":"1 month ago • Edited • Visible to anyone on or off LinkedIn","timestamp":1778145280056},"shareLinkedinUrl":"https://www.linkedin.com/feed/update/urn:li:ugcPost:7458081859688669184","shareUrn":"urn:li:ugcPost:7458081859688669184","socialContent":{"hideCommentAction":false,"hideCommentsCount":false,"hideReactAction":false,"hideReactionsCount":false,"hideRepostsCount":false,"hideSendAction":true,"hideShareAction":true,"hideSocialActivityCounts":false,"hideViewsCount":false,"shareUrl":"https://www.linkedin.com/posts/texauhq_texau-startupculture-gtm-activity-7458081860720689153-a72A?","showContributionExperience":false,"showSocialDetail":true,"trustInterventionBanner":null}}],"pagination":{"pageNumber":1,"pageSize":1,"paginationToken":"1758430021-1781853930031-c1cf744f67f08d85017b7d298576af27","previousElements":0,"totalElements":1,"totalPages":1},"query":{"authorsCompanyIds":[],"companyIds":["76136784"],"companyUniversalName":"texauhq","page":"1","postedLimit":"past-week","profileIds":[]},"status":200}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"base_credits_per_call":0,"credits_per_result":0.2,"result_count_field":"elements"}}},"/linkedin_company_search":{"post":{"operationId":"linkedin_company_search","summary":"LinkedIn Company Search","description":"Search LinkedIn companies by name, location, size, and industry. Returns company profiles with follower counts and summaries.\n\n**Pricing:** 0.1 credits per result","tags":["Search"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"integer","description":"Page number for pagination (1-based, default 1).","default":1},"search_query":{"type":"string","description":"Keywords to search for in company names."},"location":{"type":"string","description":"Filter companies by location (LinkedIn autocomplete; may be ambiguous - use geoId for precision)."},"geo_id":{"type":"string","description":"LinkedIn Geo ID - overrides location; use geo_id_search to resolve."},"company_size":{"type":"string","description":"Comma-separated size ranges: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+.","enum":["1-10","51-200","201-500","501-1000","1001-5000","5001-10000","10001+"]},"linkedin_industry_id":{"type":"string","description":"LinkedIn industry ID. Comma-separated for multiple."}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"followers":"2K followers","id":"123456","industry":"Software Development","linkedinUrl":"https://www.linkedin.com/company/texauhq/","location":{"linkedinText":"United States"},"logo":"https://media.licdn.com/dms/image/example-logo.jpg","name":"TexAu","summary":"Automation platform for growth teams.","universalName":"texauhq"}],"error":null,"pagination":{"pageNumber":1,"totalElements":1,"totalPages":1},"query":{"location":"United States","page":1,"search":"Google"},"status":200}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"base_credits_per_call":0,"credits_per_result":0.1,"result_count_field":"elements"}}},"/linkedin_job_detail":{"post":{"operationId":"linkedin_job_detail","summary":"LinkedIn Job Details","description":"Get full LinkedIn job details including description, workplace type, and employment type.\n\n**Pricing:** 1 credit per call","tags":["Enrichment"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string","description":"ID of the LinkedIn job (must be an active job)"},"url":{"type":"string","description":"URL of the LinkedIn job (alternative to job_id)"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"element":{"companyName":"example","descriptionText":"example","employmentType":"example","id":"example","title":"example","workplaceType":"example"}}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/linkedin_job_search":{"post":{"operationId":"linkedin_job_search","summary":"LinkedIn Job Search","description":"Search LinkedIn jobs by title, company, location, and more.\n\n**Pricing:** 0.1 credits per result","tags":["Search"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"Job title keyword"},"company":{"type":"string","description":"Company name or LinkedIn company URL"},"location":{"type":"string","description":"Location text filter"},"geoId":{"type":"string","description":"LinkedIn Geo ID for precise location filtering"},"jobType":{"type":"string","description":"full_time, part_time, contract, temporary, internship","enum":["full_time","part_time","contract","temporary","internship"]},"experienceLevel":{"type":"string","description":"internship, entry, associate, mid-senior, director, executive","enum":["internship","entry","associate","mid-senior","director","executive"]},"page":{"type":"integer","description":"Page number for pagination","default":1}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"companyName":"example","id":"example","location":{"linkedinText":"example"},"title":"example"}]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.1,"result_count_field":"elements"}}},"/meta_ads_library_scraper_sync":{"post":{"operationId":"meta_ads_library_scraper_sync","summary":"Meta Ads Library Scraper","description":"Scrape Meta (Facebook/Instagram) Ad Library — get active ads, creatives, spend ranges, and targeting.\n\n**Pricing:** 1 credit per result","tags":["Ads"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"meta_ad_url":{"type":"string","description":"URL of the Meta Ad to scrape"},"limit":{"type":"integer","description":"Max results to return (max 100)","default":0}},"required":["meta_ad_url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"adArchiveID":"example","adStatus":"example","adText":"example","ctaDomain":"example","pageName":"example","publisherPlatforms":[],"startDate":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":1,"result_count_field":"_list_count"}}},"/normalize_company":{"post":{"operationId":"normalize_company","summary":"Normalize Company","description":"Clean and normalize a company name by removing legal suffixes, extra whitespace, and punctuation.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company_name":{"type":"string","description":"Company name to normalize (e.g. ACME TECHNOLOGIES, INC.)"},"normalize_case":{"type":"boolean","description":"Convert to title case (default true)","default":false}},"required":["company_name"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"normalized":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/normalize_list":{"post":{"operationId":"normalize_list","summary":"Normalize List","description":"Split a delimited string into a clean list, optionally removing empty values.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"string","description":"Delimited string to split and deduplicate"},"remove_empty_values":{"type":"boolean","description":"Remove empty items after splitting (default false)","default":false}},"required":["input"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"list":[]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/normalize_phone":{"post":{"operationId":"normalize_phone","summary":"Normalize Phone","description":"Parse and normalize a phone number to E.164 format with optional country code hint.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone_number":{"type":"string","description":"Phone number to normalize (any format)"},"country_code":{"type":"string","description":"ISO country code hint (e.g. US)"}},"required":["phone_number"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"country":"example","e164":"example","national":"example","valid":true}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/people_search":{"post":{"operationId":"people_search","summary":"People Search","description":"Search LinkedIn profiles by company/account and contact filters such as domain, industry, employee size, job title, and location.\n\n**Pricing:** 0.1 credits per result","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"integer","description":"Page number, zero-based.","default":0},"limit":{"type":"integer","description":"Number of items per page.","default":10},"linkedin":{"type":"array","description":"LinkedIn account URLs."},"domain":{"type":"array","description":"Company domains."},"industry":{"type":"array","description":"Industry names."},"employee_size_start":{"type":"integer","description":"Minimum employee count."},"employee_size_end":{"type":"integer","description":"Maximum employee count."},"job_title":{"type":"array","description":"Job titles to match."},"location":{"type":"array","description":"Locations to match."}},"required":["limit","page"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"content":[{"firstname":"example","headline":"example","lastname":"example","url":"example"}],"first":true,"last":true,"number":0,"numberOfElements":1,"size":10,"totalElements":1,"totalPages":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.1,"result_count_field":"numberOfElements"}}},"/phone_finder":{"post":{"operationId":"phone_finder","summary":"Phone Finder","description":"Find a mobile phone number using a LinkedIn URL or name and company. Tries multiple providers automatically.\n\n**Pricing:** 25 credits per call","tags":["Enrichment"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"linkedin_url":{"type":"string","description":"LinkedIn profile URL (preferred)"},"first_name":{"type":"string","description":"First name (required if no linkedin_url)"},"last_name":{"type":"string","description":"Last name (required if no linkedin_url)"},"domain":{"type":"string","description":"Company domain (required if no linkedin_url)"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"phone":"+14155552671","status":"verified"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":25}}},"/post_activities":{"post":{"operationId":"post_activities","summary":"Post Activities","description":"Get likes, comments and reactions on a specific LinkedIn post.\n\n**Pricing:** 3 credits per call","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urn":{"type":"string","description":"LinkedIn activity URN, e.g. urn:li:activity:7458532524865232896.","pattern":"^urn:li:(?:activity|ugcPost):[0-9]+$"},"type":{"type":"string","description":"Activity type to return: COMMENT or REACTION.","default":"COMMENT","pattern":"^(COMMENT|REACTION)$"},"page":{"type":"integer","description":"Page number, zero-based.","default":0},"limit":{"type":"integer","description":"Number of items per page.","default":10}},"required":["urn"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"content":[{"comment":"Congratulations! It's inspiring to see...","commenter":{"firstName":"Jane","lastName":"Smith","profileId":"jane-smith"},"id":"urn:li:comment:(activity:7247006450986688512,7247533617868873728)","reactionType":{"like":1},"totalComments":0,"totalReactions":1,"url":"https://www.linkedin.com/feed/update/..."}],"first":true,"last":false,"numberOfElements":10,"totalElements":382,"totalPages":20}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":3}}},"/post_details":{"post":{"operationId":"post_details","summary":"Post Details","description":"Get full post details including text, media, comments and reaction counts.\n\n**Pricing:** 1 credit per call","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urn":{"type":"string","description":"LinkedIn activity URN, e.g. urn:li:activity:7458532524865232896."},"comments":{"type":"boolean","description":"Include comments list in response. Defaults to true.","default":true},"reactions":{"type":"boolean","description":"Include reactions list in response. Defaults to true.","default":true}},"required":["urn"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"actor":{},"commentary":"example","comments":[{"commenter":{}}],"content":{"document":{}},"numComments":1,"numReactions":1,"reactionType":{},"reactions":[{"reactor":{}}],"shareUrl":"example","shareUrn":"example","sponsored":true,"threadUrn":"example","urn":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/post_keyword_search":{"post":{"operationId":"post_keyword_search","summary":"Post Keyword Search","description":"Search LinkedIn posts by keyword to discover trending content and engagement opportunities.\n\n**Pricing:** 0.1 credits per result","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword or phrase to search LinkedIn posts for."},"page":{"type":"integer","description":"Page number, zero-based.","default":0},"limit":{"type":"integer","description":"Results per page, 1-50.","default":10},"sort":{"type":"string","description":"Sort order: RELEVANCE or DATE_POSTED.","default":"RELEVANCE","pattern":"^(RELEVANCE|DATE_POSTED)$","enum":["RELEVANCE","DATE_POSTED"]},"datePosted":{"type":"string","description":"Date filter: PAST_24_HOURS, PAST_WEEK, or PAST_MONTH.","pattern":"^(PAST_24_HOURS|PAST_WEEK|PAST_MONTH)$","enum":["PAST_24_HOURS","PAST_WEEK","PAST_MONTH"]},"contentType":{"type":"string","description":"Content type: VIDEO, IMAGE, JOB, LIVE_VIDEO, DOCUMENT, or COLLABORATIVE_ARTICLE.","pattern":"^(VIDEO|IMAGE|JOB|LIVE_VIDEO|DOCUMENT|COLLABORATIVE_ARTICLE)$","enum":["VIDEO","IMAGE","JOB","LIVE_VIDEO","DOCUMENT","COLLABORATIVE_ARTICLE"]},"fromPerson":{"type":"array","description":"Filter by person entity URNs"},"fromCompany":{"type":"array","description":"Filter by company entity URNs"},"authorKeyword":{"type":"array","description":"Filter by author job titles"},"authorIndustry":{"type":"array","description":"Filter by author industry"}},"required":["keyword"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"content":[{"actor":{"followerCount":15000,"name":"Jane Smith","profileType":"PERSON","url":"https://www.linkedin.com/in/..."},"commentary":"Just published my deep dive into AI trends...","content":{"image":null},"numComments":16,"numReactions":108,"reactionType":{"appreciation":3,"interest":2,"like":101},"shareUrl":"https://www.linkedin.com/posts/...","time":"2 hours ago","urn":"urn:li:activity:7429959579599532032"}],"first":true,"last":true,"numberOfElements":1,"totalElements":1,"totalPages":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.1,"result_count_field":"numberOfElements"}}},"/predict_gender":{"post":{"operationId":"predict_gender","summary":"Predict Gender","description":"Predict the gender of a person from their first name.\n\n**Pricing:** 1 credit per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"First name to predict gender for"}},"required":["name"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"confidence":1,"gender":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/profile_activities":{"post":{"operationId":"profile_activities","summary":"Profile Activities","description":"Get a profile's recent posts, comments and reactions for engagement analysis.\n\n**Pricing:** 2 credits per result","tags":["Activity"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urn":{"type":"string","description":"LinkedIn entity URN of the profile"},"type":{"type":"string","description":"Activity type filter: POST, COMMENT, or REACTION (default: all)","enum":["POST","COMMENT","REACTION"]},"pagination_token":{"type":"string","description":"Token from previous response for next page"},"limit":{"type":"integer","description":"Number of items per page","default":0}},"required":["urn"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"commentCount":1,"likeCount":1,"publishedAt":"example","text":"example","type":"example","url":"example"}]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":2,"result_count_field":"content"}}},"/profile_search":{"post":{"operationId":"profile_search","summary":"LinkedIn Profile Search","description":"Search LinkedIn profiles by name, title, company, location and more.\n\n**Pricing:** 0.1 credits per result","tags":["Search"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"search":{"type":"string","description":"Name to search (supports fuzzy matching)"},"first_name":{"type":"string","description":"Strict first-name filter"},"last_name":{"type":"string","description":"Strict last-name filter"},"title":{"type":"string","description":"Job title filter"},"current_company":{"type":"string","description":"Company ID or LinkedIn URL; comma-separated for multiple"},"past_company":{"type":"string","description":"Past company ID or URL; comma-separated for multiple"},"school":{"type":"string","description":"School ID or URL; comma-separated for multiple"},"location":{"type":"string","description":"Location text (LinkedIn autocomplete)"},"geo_id":{"type":"string","description":"LinkedIn Geo ID — overrides location; use geo_id_search to resolve"},"industry_id":{"type":"string","description":"Industry ID; comma-separated for multiple"},"page":{"type":"integer","description":"Page number for pagination (1-based)","default":1},"follower_of":{"type":"string","description":"Filter profiles following a LinkedIn profile. URL or ID. Comma-separated."},"keywords_company":{"type":"string","description":"Keyword filter on company name"},"keywords_school":{"type":"string","description":"Keyword filter on school name"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"elements":[{"linkedinUrl":"example","name":"example","position":"example","publicIdentifier":"example"}],"pagination":{}}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":0.1,"result_count_field":"elements"}}},"/profile_social_metrics":{"post":{"operationId":"profile_social_metrics","summary":"Profile Social Metrics","description":"Get LinkedIn profile verification status, follower count, and connection count.\n\n**Pricing:** 1 credit per call","tags":["Enrichment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"LinkedIn profile URL to retrieve social metrics for.","pattern":"^https?://([a-z]{2,3}\\.)?linkedin\\.com/in/[^/?#]+/?(?:[?#].*)?$"},"useCache":{"type":"boolean","description":"Use the provider's cached profile data when available.","default":true}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"connectionsCount":8,"followersCount":39886493,"verified":false}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/remove_whitespace":{"post":{"operationId":"remove_whitespace","summary":"Remove Whitespace","description":"Strip and collapse extra whitespace from a string.\n\n**Pricing:** 0.5 credits per call","tags":["Utilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input_text":{"type":"string","description":"String to strip and collapse whitespace from"}},"required":["input_text"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"output":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0.5}}},"/search_bing":{"post":{"operationId":"search_bing","summary":"Bing Search","description":"Search Bing and get structured SERP results with titles, URLs, and descriptions.\n\n**Pricing:** 1 credit per call","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query string"},"limit":{"type":"integer","description":"Number of results to return (default 10, max 50)","default":0},"page":{"type":"integer","description":"Page number for pagination","default":0}},"required":["limit","query"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"results":[{"description":"example","position":1,"title":"example","url":"example"}]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/search_google_trends":{"post":{"operationId":"search_google_trends","summary":"Google Trends","description":"Get Google Trends data: interest over time, related queries, and rising queries for any keyword.\n\n**Pricing:** 1 credit per call","tags":["Search"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword to fetch trend data for"},"geo":{"type":"string","description":"Country code to filter by (e.g. US, GB); omit for worldwide"},"timeframe":{"type":"string","description":"Time range (e.g. today 12-m, today 5-y); default today 12-m"}},"required":["keyword"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"interestOverTime":[],"relatedQueries":{},"relatedTopics":{}}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/search_reference_data":{"post":{"operationId":"search_reference_data","summary":"Search Reference Data","description":"Returns all valid filter labels (seniority levels, industries, functions, etc.) for use with Lead Search.\n\n**Pricing:** 0 credits per call","tags":["Search"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"companySize":[],"function":[],"geography":[],"industry":[],"seniority":[]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":0}}},"/similarweb_scraper_sync":{"post":{"operationId":"similarweb_scraper_sync","summary":"Similarweb Scraper","description":"Scrape Similarweb overview data for one or more domains.\n\n**Pricing:** 2 credits per result","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain of the website to analyze (e.g. stripe.com)"}},"required":["domain"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"category":"example","domain":"example","engagement":{},"rankGlobal":1,"similarSites":[],"topKeywords":[],"totalVisits":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":2,"result_count_field":"_list_count"}}},"/slack_channel_members":{"post":{"operationId":"slack_channel_members","summary":"Slack Channel Members","description":"Extract Slack channel members with names, emails, titles, timezones, admin status. Requires your Slack cookie.\n\n**Pricing:** 2 credits per call","tags":["Social"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"workspace":{"type":"string","description":"Slack workspace subdomain (e.g. acme for acme.slack.com)"},"channel_id":{"type":"string","description":"Slack channel ID (e.g. C0123456789)"},"cookie":{"type":"string","description":"Your Slack xoxd- session cookie"},"token":{"type":"string","description":"Your Slack xoxc- client token"},"max_members":{"type":"integer","description":"Maximum number of members to return","default":0},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["channel_id","cookie","token","workspace"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"members":[{"email":"example","id":"example","isAdmin":true,"name":"example","timezone":"example","title":"example"}]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":2}}},"/web_emails":{"post":{"operationId":"web_emails","summary":"Website Email Extractor","description":"Extract email addresses by crawling multiple pages of a website.\n\n**Pricing:** 2 credits per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Root URL to start crawling from"},"max_pages":{"type":"integer","description":"Maximum number of pages to crawl (default 5)","default":0},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"emails":[],"pagesCrawled":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":2}}},"/web_json_ld":{"post":{"operationId":"web_json_ld","summary":"JSON-LD Extractor","description":"Extract structured JSON-LD data (Schema.org) from any web page — products, articles, organizations.\n\n**Pricing:** 1 credit per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Page URL to extract JSON-LD from"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"items":[],"items[][@type]":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/web_meta_tags":{"post":{"operationId":"web_meta_tags","summary":"Meta Tags Extractor","description":"Extract OpenGraph, Twitter Card, and SEO meta tags from any URL. Returns title, description, images, favicon.\n\n**Pricing:** 1 credit per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Page URL to extract meta tags from"},"cache":{"type":"boolean","description":"Use cached data if available","default":false},"cache_bust":{"type":"boolean","description":"Force fresh fetch, ignoring cache","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"canonical":"example","description":"example","favicon":"example","og":{},"title":"example","twitter":{}}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/web_pixels":{"post":{"operationId":"web_pixels","summary":"Tracking Pixel Detector","description":"Detect Google Tag Manager, GA4, Facebook Pixel, LinkedIn Insight, TikTok Pixel and more on any site.\n\n**Pricing:** 1 credit per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Website URL to scan for tracking pixels"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"facebookPixel":[],"ga4":[],"gtm":[],"linkedinInsight":true,"pixels":[],"tiktokPixel":true}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/web_scrape":{"post":{"operationId":"web_scrape","summary":"Web Scraper","description":"Scrape full page HTML and markdown with anti-bot protection via Firecrawl.\n\n**Pricing:** 1 credit per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"URL of the page to scrape"},"formats":{"type":"array","description":"Output formats to include (e.g. html, markdown, links)"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"html":"example","markdown":"example","statusCode":1,"title":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/web_sitemap":{"post":{"operationId":"web_sitemap","summary":"Sitemap Extractor","description":"Extract all URLs from a website's sitemap (XML, robots.txt, or crawl discovery).\n\n**Pricing:** 1 credit per result","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Website root URL or direct sitemap URL"},"limit":{"type":"integer","description":"Maximum number of URLs to return","default":10},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["limit","url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"count":1,"urls":[]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_result":1,"result_count_field":"data.urls"}}},"/web_social_links":{"post":{"operationId":"web_social_links","summary":"Social Links Finder","description":"Find all social media profile links (Facebook, Twitter, LinkedIn, Instagram, YouTube, TikTok, etc).\n\n**Pricing:** 1 credit per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Website URL to scan for social links"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"all":[],"facebook":"example","github":"example","instagram":"example","linkedin":"example","tiktok":"example","twitter":"example","youtube":"example"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/web_tech_stack":{"post":{"operationId":"web_tech_stack","summary":"Tech Stack Detector","description":"Detect 100+ technologies (CMS, analytics, CDN, frameworks, payments) + GTM intelligence signals.\n\n**Pricing:** 1 credit per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Website URL to analyze"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"categories":{},"gtmSignals":{},"technologies":[]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/website_intelligence":{"post":{"operationId":"website_intelligence","summary":"Website Intelligence","description":"Flagship: comprehensive website report — meta tags, tech stack, pixels, social links, emails, SSL, headers in one call.\n\n**Pricing:** 5 credits per call","tags":["Web Scraping"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Website URL to analyze"},"modules":{"type":"array","description":"Specific modules to run (defaults to all). Options: meta_tags, json_ld, pixels, tech_stack, social_links, emails, ssl, headers"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"emails":[],"headers":{},"jsonLd":[],"metaTags":{},"pixels":[],"socialLinks":{},"ssl":{},"techStack":[]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":5}}},"/youtube_channel":{"post":{"operationId":"youtube_channel","summary":"YouTube Channel Info","description":"Get channel info: name, subscriber count, description, avatar, banner, external links.\n\n**Pricing:** 1 credit per call","tags":["YouTube"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"YouTube channel URL (@handle, /c/, or /channel/ format)"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"avatar":"example","banner":"example","channelId":"example","description":"example","externalLinks":[],"name":"example","subscriberCount":1,"videoCount":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/youtube_channel_videos":{"post":{"operationId":"youtube_channel_videos","summary":"YouTube Channel Videos","description":"List up to 50 most recent videos from a YouTube channel with titles, view counts, and durations per call.\n\n**Pricing:** 2 credits per call","tags":["YouTube"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"YouTube channel URL"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"videos":[{"duration":"example","publishedAt":"example","thumbnail":"example","title":"example","videoId":"example","viewCount":1}]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":2}}},"/youtube_search":{"post":{"operationId":"youtube_search","summary":"YouTube Search","description":"Search YouTube videos — returns up to 20 video IDs, titles, channels, view counts, and thumbnails per call.\n\n**Pricing:** 1 credit per call","tags":["YouTube"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["query"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"results":[{"channelName":"example","publishedAt":"example","thumbnail":"example","title":"example","videoId":"example","viewCount":1}]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/youtube_video":{"post":{"operationId":"youtube_video","summary":"YouTube Video Details","description":"Get full video details: title, description, view/like counts, duration, tags, thumbnails, chapters.\n\n**Pricing:** 1 credit per call","tags":["YouTube"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"YouTube video URL or video ID"},"include_captions":{"type":"boolean","description":"Include video captions/subtitles in the response","default":false},"cache":{"type":"boolean","description":"Use cached data if available","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"additionalProperties":true},"example":{"channelId":"example","channelName":"example","chapters":[],"description":"example","duration":"example","likeCount":1,"publishedAt":"example","tags":[],"thumbnails":{},"title":"example","videoId":"example","viewCount":1}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}],"x-pricing":{"credits_per_call":1}}},"/my-endpoints":{"get":{"operationId":"my_endpoints","summary":"My endpoints","description":"List the endpoints available to the supplied API key.","tags":["Getting Started"],"responses":{"200":{"description":"The API key's available endpoints.","content":{"application/json":{"schema":{"type":"object","properties":{"rate_tier":{"type":"string"},"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/MyEndpoint"}},"total":{"type":"integer"}},"required":["rate_tier","endpoints","total"]}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}]}},"/usage":{"get":{"operationId":"usage","summary":"Usage","description":"Return the supplied API key's team-wide credit consumption and current balance.","tags":["Credits & Pricing"],"parameters":[{"name":"month","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$"}},{"name":"months","in":"query","schema":{"type":"integer","minimum":1,"maximum":12}},{"name":"include_previous","in":"query","schema":{"type":"boolean"}},{"name":"start_date","in":"query","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","schema":{"type":"string","format":"date"}},{"name":"include","in":"query","schema":{"type":"string","enum":["history"]}},{"name":"history_limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000}},{"name":"sort_by","in":"query","schema":{"type":"string","enum":["credits","calls","name"]}},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":0}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Usage totals for the selected period.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}},"4XX":{"description":"Client error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"5XX":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"API Key":[]}]}}},"components":{"securitySchemes":{"API Key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"EndpointPricing":{"type":"object","description":"The API key's effective, customer-safe price for this endpoint.","properties":{"credits_per_call":{"type":"number"},"credits_per_result":{"type":"number"},"base_credits_per_call":{"type":"number"},"result_count_field":{"type":"string"},"min_credits_per_call":{"type":"number"},"max_credits_per_call":{"type":"number"},"conditional_components":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"when":{"type":"object","properties":{"field":{"type":"string"},"equals":{}}},"credits_per_call":{"type":"number"},"description":{"type":"string"}}}}},"additionalProperties":false},"ErrorResponse":{"type":"object","description":"Every error response is a flat JSON object with an `error` string describing what went wrong, plus extra fields specific to that failure — see the endpoint description or the Error Handling section above for examples.","properties":{"error":{"type":"string"},"richapi_meta":{"$ref":"#/components/schemas/RichAPIMeta"}},"required":["error"],"additionalProperties":true},"MyEndpoint":{"type":"object","properties":{"name":{"type":"string"},"pricing":{"$ref":"#/components/schemas/EndpointPricing"},"status":{"type":"string","enum":["active","maintenance"]},"display_name":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"request_schema":{"type":"array","items":{}},"input_schema":{"type":"array","items":{}},"example_response":{"oneOf":[{"type":"object"},{"type":"array"}]}},"required":["name","pricing","status","request_schema","input_schema","example_response"],"additionalProperties":false},"RichAPIMeta":{"type":"object","description":"Request timing and credit outcome metadata.","properties":{"request_id":{"type":"string","description":"Correlation id for this request."},"response_time_ms":{"type":"integer","minimum":0},"credits":{"type":"object","properties":{"charged":{"type":["number","null"],"description":"Final credits charged; `null` while settlement is pending."},"remaining":{"type":["number","null"],"description":"Effective team credit balance after this outcome, when available."},"status":{"type":"string","enum":["charged","not_charged","pending"]},"reason_code":{"type":"string","description":"Stable billing outcome code. Clients must tolerate new values."},"reason":{"type":"string","description":"Customer-readable billing explanation."},"estimated_charge":{"type":"number","description":"Estimated credits reserved for a pending request only."}},"required":["charged","remaining","status","reason_code","reason"]}},"required":["request_id","response_time_ms","credits"]},"UsageResponse":{"type":"object","properties":{"months":{"type":"array","items":{"type":"string"}},"total_credits":{"type":"number"},"total_cost":{"type":"number"},"credit_value":{"type":"number"},"total_records":{"type":"integer"},"apis":{"type":"object","additionalProperties":{"type":"object"}},"credits_by_category":{"type":"object","additionalProperties":{"type":"number"}},"credits_remaining":{"type":["number","null"]},"monthly_breakdown":{"type":"object","additionalProperties":{"type":"object"}},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"history":{"type":"array","items":{"type":"object"}},"history_count":{"type":"integer"},"pagination":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total_records":{"type":"integer"},"current_count":{"type":"integer"},"has_more":{"type":"boolean"}},"required":["limit","offset","total_records","current_count","has_more"]}},"required":["months","total_credits","total_cost","credit_value","total_records","apis","credits_by_category","credits_remaining"]}}}}