richapi
RichAPI is a live B2B GTM data API.
Что умеет
- Ai Enrich: Run an LLM completion against the configured AI provider (OpenAI, Anthropic, Gemini, or Perplexity). Used for classification, extraction, summarization, etc. Example input: {"output_schema"
- Clean Domain: Local utility endpoint. Example input: {"messy_url":"https://www.acme.com/about?ref=google"} Next steps: Returns domain. Feed into email_finder, company_enricher, or web_scrape.
- Count Occurrences: Local utility endpoint. Example input: {"input":"hello world hello","separator":"hello"}
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
RichAPI is a live B2B GTM data API. One key, roughly 70 endpoints: people search and enrichment, company enrichment, email finding and verification, phone finding, web and ad intelligence. Four endpoints run a provider waterfall - email finder, phone finder, email verifier, company enricher - and return an execution_log. On those four, a miss costs zero credits (billed: false). Other endpoints bill on a 2xx result. Credits are $0.02 each, prepaid. No seats, no subscription, no contract. 25 free credits at signup, no card. Hosted MCP, Python and TypeScript SDKs, Postman.
Как подключить
Как подключить richapi к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://richapi--accounts-lx54.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить richapi к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://richapi--accounts-lx54.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить richapi к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://richapi--accounts-lx54.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (60)
Технические названия из tools/list. Нужны только разработчикам.
| ai_enrich | Run an LLM completion against the configured AI provider (OpenAI, Anthropic, Gemini, or Perplexity). Used for classification, extraction, summarization, etc. Example input: {"output_schema":{"properties":{"reason":{"type":"string"},"score":{"type":"number"}},"required":["score","reason"],"type":"object"},"output_type":"json","prompt":"Jane Smith — VP Sales at Acme — logistics SaaS, 200 employees","provider":"openai","system_prompt":"You are a B2B lead scorer. Return JSON matching the schema."} Next steps: Returns {result: <text or parsed JSON>}. When output_type='json', the response is already parsed — no extra parsing needed. |
| clean_domain | Local utility endpoint. Example input: {"messy_url":"https://www.acme.com/about?ref=google"} Next steps: Returns domain. Feed into email_finder, company_enricher, or web_scrape. |
| count_occurrences | Local utility endpoint. Example input: {"input":"hello world hello","separator":"hello"} |
| crunchbase_company_scraper_sync | API endpoint: crunchbase_company_scraper_sync Example input: {"crunchbase_company_url":"https://microsoft.com"} |
| directory_yellowpages | Search Yellow Pages for local businesses by category and location. 1 credit per call. Good for SMB lead generation in the US. Example input: {"location":"Austin, TX","query":"plumbers"} Next steps: Returns business records with {name, phone, address, website}. |
| distribute_leads | Local utility endpoint. Example input: {"assignment_labels":"Team A,Team B,Team C","current_index":0,"values_associated_with_labels":"alice@co.com,bob@co.com,carol@co.com"} |
| email_finder | Find a professional email address from a person's name and company domain (or LinkedIn URL). Returns the first match found across multiple providers. Example input: {"domain":"microsoft.com","first_name":"Satya","last_name":"Nadella"} Next steps: Returns result.email on success. On failure try people_search to get a LinkedIn URL first. |
| email_verifier | Verify whether an email address is deliverable. Returns SMTP/MX validation status, disposable/webmail flags, and a confidence score. Example input: {"email":"satya@microsoft.com"} Next steps: Returns result.status: valid=deliverable, risky=grey-list, invalid=bounce. Never retries — change input if invalid. |
| encode_uri | Local utility endpoint. Example input: {"value":"hello world & foo=bar"} |
| enrich_companies_bulk | Bulk-enrich up to 50 LinkedIn companies in a single call by numeric company ID. 1 credit per RESULT returned. Example input: {"urns":["1586","1587"]} Next steps: Returns an array of company records. For single companies use enrich_company with the full linkedin.com/company/<slug> URL. |
| enrich_company | Enrich a LinkedIn company page URL with firmographic data: industry, employee count, HQ, founded year, specialties, website domain, and follower count. Cached ~24h by default. Example input: {"url":"https://www.linkedin.com/company/microsoft/"} Next steps: Returns {name, industry, employee_count, website, domain, ...}. The `domain` field is the canonical company domain — feed it into email_finder, people_search, or company_enricher. |
| enrich_profile | Enrich a LinkedIn profile URL and return structured personal data: full name, headline, current role, company, location, industry, skills, education, and the LinkedIn URN needed for profile_activities. Cached ~24h by default (set useCache=false for fresh data). 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. Example input: {"url":"https://www.linkedin.com/in/satyanadella/"} Next steps: Returns {entityUrn, firstname, lastname, company.name, company.website, headline, ...}. Feed entityUrn into profile_activities for the person's posts/comments/reactions, or pipe firstname/lastname + company.website into email_finder. |
| enrich_profiles_bulk | Bulk-enrich up to 50 LinkedIn profiles in a single call by entityUrn. 1 credit per RESULT returned, not per call — cheaper than calling enrich_profile in a loop when you have ≥10 URNs already. Example input: {"urns":["ACoAAAGhXV8B9jFBu7w3NLhsepBqpzJ1FdGgkuA"]} Next steps: Returns an array of profile records. Missing URNs are silently skipped — diff the input and output to detect misses. Use enrich_profile for single lookups under ~5 URNs. |
| extract_urls_emails | Local utility endpoint. Example input: {"text":"Contact us at sales@acme.com or visit https://acme.com"} |
| find_linkedin_url_by_email | Find a LinkedIn profile URL from a person's email address. 1 credit per result. Example input: {"email":"satya@microsoft.com"} Next steps: Returns linkedinUrl. Feed it into enrich_profile or email_finder. |
| find_linkedin_url_by_name | Find a LinkedIn profile URL from a person's name and company. 1 credit per result. Example input: {"company_name":"Microsoft","full_name":"Satya Nadella"} Next steps: Returns linkedinUrl. Feed it into enrich_profile. |
| find_personal_email | Find a personal (non-work) email for a person using their LinkedIn URL. 2 credits per result. Example input: {"linkedin_url":"https://linkedin.com/in/satyanadella"} |
| find_redirect | Local utility endpoint. Example input: {"link":"https://bit.ly/example"} Next steps: Returns final_url. Useful for resolving tracking/shortened links before scraping. |
| find_sitemap_urls | Local utility endpoint. Example input: {"domain":"stripe.com","keywords":"pricing"} |
| find_website_by_company_name | Find a company's website domain from its name. 1 credit per call. Example input: {"company_name":"Microsoft"} Next steps: Returns domain. Feed it into email_finder or company_enricher. |
| format_datetime | Local utility endpoint. Example input: {"date":"2026-04-11T14:30:00Z","format":"%B %d, %Y","new_timezone":"America/New_York"} |
| geo_id_search | Resolve a location name to a LinkedIn Geo ID for use in profile_search and linkedin_job_search. 1 credit per call. Example input: {"search":"San Francisco Bay Area"} Next steps: Returns geoId — pass it into profile_search.geoId or linkedin_job_search.geoId for precise location filtering. |
| google_ad_transparency_scraper_sync | API endpoint: google_ad_transparency_scraper_sync Example input: {"google_ad_url":"https://microsoft.com","limit":""} |
| google_maps_places_scraper_keyword | API endpoint: google_maps_places_scraper_keyword Example input: {"search_query":"example","limit":""} |
| google_maps_places_scraper_sync_using_url | API endpoint: google_maps_places_scraper_sync_using_url Example input: {"google_map_search_url":"https://microsoft.com","limit":""} |
| google_maps_reviews_scraper_sync | API endpoint: google_maps_reviews_scraper_sync Example input: {"google_map_review_url":"https://microsoft.com","limit":""} |
| google_search_scraper_sync | API endpoint: google_search_scraper_sync Example input: {"search_query":"example"} |
| identify_email_type | Local utility endpoint. Example input: {"email":"satya@microsoft.com"} |
| lead_search | Search LinkedIn leads (people) using seniority, title, function, industry, geography, and company filters. Costs 10 + (0.5 * returned results) credits. Example input: {"locations":["United States"],"seniority":["Senior","Director"],"page":1} Next steps: Feed results into email_finder or enrich_profile for contact data. |
| linkedin_ad_details | Fetch full details of a specific LinkedIn ad by URL. 1 credit per call. Example input: {"url":"https://www.linkedin.com/ad-library/detail/123456789"} |
| linkedin_ad_search | Search LinkedIn ads by keyword, advertiser, or objective. Returns ad metadata. 2 credits per call. Example input: {"countries":"US","dateOption":"last-30-days","keyword":"marketing automation"} |
| linkedin_company_employees_search | Search employees of a specific LinkedIn company. 0.1 credits per result. Example input: {"company_linkedin_url":"https://linkedin.com/company/microsoft","title":"Engineer"} Next steps: Returns employee profiles. Feed linkedin_url into enrich_profile for full data. |
| linkedin_company_posts | API endpoint: linkedin_company_posts Example input: {"page":"","linkedin_company_url":"","linkedin_company_id":""} |
| linkedin_company_search | API endpoint: linkedin_company_search Example input: {"page":"","search_query":"","location":""} |
| linkedin_job_detail | Fetch full details of a LinkedIn job posting by URL. 1 credit per call. Example input: {"url":"https://linkedin.com/jobs/view/1234567890"} |
| linkedin_job_search | Search LinkedIn job postings by title, company, location, job type, and experience level. 1 credit per call. Example input: {"location":"San Francisco","title":"Software Engineer"} Next steps: Returns job listings. Feed job URLs into linkedin_job_detail for full description. |
| meta_ads_library_scraper_sync | API endpoint: meta_ads_library_scraper_sync Example input: {"meta_ad_url":"https://microsoft.com"} |
| normalize_company | Local utility endpoint. Example input: {"company_name":"ACME TECHNOLOGIES, INC."} |
| normalize_list | Local utility endpoint. Example input: {"input":"apple, Banana, apple, , cherry","remove_empty_values":true} |
| normalize_phone | Local utility endpoint. Example input: {"country_code":"US","phone_number":"(415) 555-1234"} |
| people_search | Search 700M+ indexed LinkedIn profiles by job title, seniority, industry, company, or location. Returns a paginated list of profile previews. 0.1 credits per result returned. Example input: {"account":{"industry":["software development"]},"contact":{"jobTitle":["founder"],"location":["united states"]},"page":0,"size":10} Next steps: Feed linkedin_url values into enrich_profile for fuller records, or into email_finder with the company domain. |
| phone_finder | Find a mobile phone number from a LinkedIn profile URL. Returns the first match found across multiple providers. Example input: {"linkedin_url":"https://www.linkedin.com/in/satyanadella/"} Next steps: Returns result.phone. Soft-fail means no mobile on file — do not retry with same inputs. |
| post_activities | Return the engagement stream (comments or reactions) for a specific LinkedIn post by URN. 3 credits per call. Use this to build a prospect list of people who engaged with a post. Example input: {"urn":"urn:li:activity:7458532524865232896"} Next steps: Returns same structure as post_details: {urn, commentary, actor, numComments, numReactions, reactionType, shareUrl, comments[], reactions[], content, sponsored}. |
| post_details | Fetch the full content of a LinkedIn post by URN or URL: post text, author profile, reaction counts by type, and optionally comments and reactions lists. 1 credit per call. Example input: {"comments":true,"urn":"urn:li:activity:7458532524865232896"} Next steps: Returns {urn, commentary, actor, numComments, numReactions, reactionType, shareUrl, comments[], reactions[], content, sponsored}. Feed the urn into post_activities for the full engagement stream. Actor fields: profileId, firstName, lastName, headline, profilePicture. |
| post_keyword_search | Search recent LinkedIn posts by keyword. Returns post URLs, authors, engagement counts, and snippets. 6 credits per call (not per result). Use for topic monitoring and lead-intent signals. Example input: {"datePosted":"PAST_WEEK","keyword":"AI agents","sort":"DATE_POSTED"} Next steps: Returns {results: [{url, author, snippet, likes, comments, ...}]}. Feed post URLs into post_details for the full body, or into post_activities to harvest commenters. |
| predict_gender | Local utility endpoint. Example input: {"name":"Jordan"} |
| profile_activities | Return recent activity (posts, comments, or reactions) for a LinkedIn profile by URN. Use with the URN from enrich_profile. 2 credits per call. Example input: {"type":"POST","urn":"ACoAAAGhXV8B..."} Next steps: Returns recent activity items. Chain post_details on any item url for the full post body, or post_activities to harvest that post's own commenters. |
| profile_search | Live LinkedIn profile search by name, title, current company, or keywords. Lower latency but smaller filter surface than people_search. 0.1 credits per result. Example input: {"currentCompany":"Microsoft","search":"Satya Nadella"} Next steps: Returns a list of profile hits. When multiple people share a name, always pass currentCompany to disambiguate — otherwise take the top hit at your own risk. |
| profile_social_metrics | API endpoint: profile_social_metrics Example input: {"url":"https://microsoft.com"} |
| remove_whitespace | Local utility endpoint. Example input: {"input_text":" hello world "} |
| search_bing | Run a Bing web search and return the SERP. 1 credit per call. Example input: {"num_results":10,"query":"site:linkedin.com/company microsoft"} Next steps: Returns {results: [{title, url, snippet}]}. Use with site: operators to find LinkedIn company pages, sitemap discoveries, etc. |
| search_google_trends | Get Google Trends interest-over-time data for a keyword in a given geography. 1 credit per call. Use for intent signals and seasonality analysis. Example input: {"geo":"US","keyword":"AI agents","timeframe":"today 12-m"} Next steps: Returns a time-series of normalised search interest (0-100). |
| search_reference_data | Returns all valid filter labels for lead_search. Use this to discover valid values for seniority, industries, job functions, company sizes, years of experience, and profile languages. COST: Free (0 credits). RESPONSE: { seniority: [...], industries: [...], functions: [...], yearsOfExperience: [...], companySize: [...], profileLanguages: {...} } WHEN TO USE: Before building a lead_search query, call this to see all available filter options so you use exact valid labels. |
| similarweb_scraper_sync | API endpoint: similarweb_scraper_sync Example input: {"domain":"microsoft.com"} |
| slack_channel_members | Extract Slack channel members with names, emails, titles, timezones, and admin status. Requires Slack session cookie. 2 credits per call. Example input: {"channel_id":"C0123456789","cookie":"xoxd-...","token":"xoxc-...","workspace":"acme"} Next steps: Returns members list. Feed emails into email_verifier, or names into find_linkedin_url_by_name. |
| web_emails | Crawl a domain for email addresses across multiple pages. 3 credits per call. Use when you need generic contact emails (sales@, support@) — NOT for finding a specific person's email (use email_finder for that). Example input: {"max_pages":10,"url":"https://microsoft.com"} Next steps: Returns a de-duplicated list of emails with the page each was found on. |
| web_json_ld | Extract JSON-LD structured data blocks from a page. 1 credit per call. Example input: {"url":"https://microsoft.com"} Next steps: Returns the @graph array of structured entities. Useful for product/organization/article schemas. |
| web_meta_tags | Extract OpenGraph, Twitter Card, and SEO meta tags from a URL. 1 credit per call. Cached by default. Example input: {"url":"https://microsoft.com"} Next steps: Returns {title, description, og:image, twitter:card, ...}. |
| web_pixels | Detect tracking pixels and analytics tags on a page (GA, GTM, Facebook Pixel, LinkedIn Insight, HubSpot, etc.). 1 credit per call. Useful for competitor analysis. Example input: {"url":"https://microsoft.com"} Next steps: Returns a list of detected tracking/analytics tags with their IDs where available. |
| web_scrape | Fetch the full HTML of a page, optionally also rendering Markdown. 2 credits per call. Use for contextual grounding before summarisation. Example input: {"formats":["markdown"],"url":"https://microsoft.com"} Next steps: Returns {html, markdown}. Pipe markdown into ai_enrich for summarisation. |