Specter
B2B data for deal sourcing
- Category
- Data & Analytics
- Primary Subcategory
- Private Markets, Deals & Expert Networks
Integration details
Description
Specter is a B2B intelligence platform that helps investment professionals research companies, investors, and people for due diligence, deal sourcing, portfolio monitoring, competitive analysis, and relationship mapping. Through ChatGPT you can resolve a company or person from a name, domain, email, or LinkedIn URL, run natural-language discovery searches across companies, investors, funding rounds, acquisitions, and IPOs, and pull deep profiles with funding history, valuations, revenue estimates, competitive landscapes, and talent or investor-interest signals. You can save searches, curate private lists, and fetch professional or personal contact emails for the people you are researching. All results come from Specter's curated dataset, your saved searches, and your own lists.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Private Markets, Deals & Expert Networks
- Secondary Subcategories
- None listed
- Brand
- Specter
- Access
- Account required
- First tracked
- 2026-09-08
- Tool count
- 31
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Private Markets, Deals & Expert Networks
View Category31 tools agents can invoke
Create a new Specter list owned by the current user and shared with the API. Optionally seed it with items. `item_ids` are the external ids returned by other tools, matching `product_type`: company → `external_company_id`, people → `external_person_id` (per_...), investors → investor id, talent → talent id, stratintel → strategic id. Duplicate ids are ignored, but an id that is malformed for `product_type` or names no entity Specter knows fails the whole call and no list is created — resolve ids with a find/search tool first. Fails if you already own a list of this product with the same name — pick a new name or add the items to the existing list with `update_list`. Note: only `company` and `people` lists can be read back via `get_lists`/`get_list_items`; the other product types are still created successfully and are accessible via the Specter API.
create_list
Save a search so it persists in Specter and is shared with the API. Run the `search` tool first to build the query — it returns a `query_id` — then pass that `query_id` here with a `name` to store it as a named saved search owned by the current user. The product type is taken from the query, so no product argument is needed. Every product a query can carry — company, people, talent-signal, interest-signal, investor (firm), funding-round, acquisition and IPO — is listed by `get_saved_searches` and readable via `get_saved_search_items`. Fails if you already have a saved search with the same name.
create_saved_search
Delete (archive) a list you can manage. Works for any list product (the product is resolved from the list ID). Use `get_lists` to resolve a list name to its ID. The list is soft-deleted and stops appearing in `get_lists`.
delete_list
Delete a saved search you own. Use `get_saved_searches` to resolve a search name to its ID. Only the owner can delete a saved search; otherwise this returns Not Found.
delete_saved_search
Find ONE SPECIFIC company you can already name — by external ID, LinkedIn URL, website/domain, or exact name — and return its core profile. This is a quick LOOKUP of a known entity, not a search: for any descriptive query ('fintech companies in Berlin', 'startups doing X') use `search` / `create_saved_search` instead — a description passed here resolves to nothing. Prefer the company's primary domain when you know it ('Stripe' -> `stripe.com`): it identifies the company exactly, where a bare name has to be disambiguated against every other company sharing it. Do NOT guess a domain by appending '.com'; pass the plain name instead. Render: hyperlink `name` to `https://app.tryspecter.com/signals/company/feed/{external_company_id}`. Show `website` and `linkedin_url` as clickable links. Omit null fields.
find_company
Find an investor by Specter investor ID (inv_...), domain, or name and return a minimal profile. Resolve to an ID here first, then call `get_investor_profile` / `get_investor_funding_rounds` / `get_investor_interest_signals` for detail. Render as a compact line. Omit null fields.
find_investor
Find ONE SPECIFIC person you can already name — by external ID, LinkedIn URL, email, or exact name — and return a minimal profile. This is a quick LOOKUP of a known entity, not a search: for any descriptive query ('CTOs in Munich', 'people who left McKinsey') use `search` / `create_saved_search` instead. Render: hyperlink `name` to `https://app.tryspecter.com/signals/people/table/{external_person_id}`. Show `linkedin_url` as a clickable link. Omit null fields.
find_person
Get the acquisitions a company is party to by Specter organization ID — deals where it is the **acquirer** and deals where it is the **acquired** company, in one feed. Supports date-range filtering (`date_from` / `date_to`, on the deal date) and pagination. Render as a table: Date | Acquirer | Acquired | Type | Price. State which side the queried company is on; write "Undisclosed" when `price_usd` is null. Deals are ordered newest first. When `total` exceeds the returned count, offer to fetch the next page. Omit null fields.
get_company_acquisitions
Competitive landscape for a Specter company ID: the top competitors ranked by competitiveness, the dimensions the market splits on, and an analyst summary. Competitiveness balances similarity with commercial scale (funding, revenue, headcount). Render competitors as a table (name, score, dimensions, focus, funding, employees, est. revenue, est. valuation); hyperlink each `name` to `https://app.tryspecter.com/signals/company/feed/{external_company_id}`. Format funding/revenue/valuation compactly (e.g. $120M). `focus` is always present; omit other null fields. Show the top 10 rows by default — more only when the user asks. The chat offers the full ranked set on the company's profile, so never apologise for the cut or list the remainder in prose. When `insufficient_data` is true, say Specter doesn't hold enough on this company yet to analyse its market — never present that as the company having no competitors, and don't ask the user to supply the competitor set for you.
get_company_competitors
Get the funding rounds a company raised by Specter organization ID, with per-round valuations and the investors on each round. Supports date-range filtering (`date_from` / `date_to`, on the announcement date) and pagination. Render as a table: Date | Round | Raised | Lead Investors | Post-Money Valuation. Write "Undisclosed" when `post_money_valuation_usd` is null. Rounds are ordered newest first. When `total` exceeds the returned count, offer to fetch the next page. Omit null fields.
get_company_funding_rounds
Get a company's IPO events by Specter organization ID: listing date, exchange and ticker, share price, and the valuation and capital raised at listing. Supports pagination. Render as a table: Date | Exchange | Ticker | Share Price | Valuation | Raised. Events are ordered most recent first. A company with no public listing returns an empty `ipos`. Omit null fields.
get_company_ipos
Get company intelligence by Specter organization ID: department headcount, investor signals, key people, founders, highlights, and the latest revenue and valuation estimates. Headcount: from `headcount_by_department`, show only the most recent month as a table (department, count, % of total). Highlight engineering % as an R&D investment proxy. Investor signals: render as a table (Date | Source | Score | Type). Scores 1-10. Include description when present. Team: render founders and key people with background highlights. Highlights: translate to plain English bullets. Financial position: `latest_revenue` and `latest_valuation` are already here — no follow-up call needed. Report revenue with its period and valuation with its date, and say plainly when either is null; an absent figure is not zero.
get_company_intelligence
Get investor-interest signals for a company by Specter organization ID: the funding, growth, and market-activity signals that indicate investor attention on that company. Supports date-range filtering (`date_from` / `date_to`, on the signal date) and pagination. Render as a table: Date | Score | Type | Summary. Scores are 1-10. Signals are ordered newest first. `signal_investors` names the investors behind a signal — offer `get_investor_profile` for any of them. Omit null fields. `get_company_intelligence` returns a short inline preview of the same signals; use this tool when the full or date-filtered feed is wanted.
get_company_investor_interest_signals
Get a company's latest revenue by Specter organization ID: the most recent reported revenue figure (with its date and metric) and the ML-estimated revenue with its growth trend. Report `latest_revenue_reported_usd` (with date and `revenue_type`) as the reported figure and `est_revenue_usd` as the Specter estimate. Format money compactly (e.g. $120M). Growth percentages: 4.05 means +4.05% (can be negative). Omit null fields.
get_company_latest_revenue
Get a company's latest valuation by Specter organization ID: the most recent reported post-money valuation (with its date) and the ML-estimated valuation with its growth trend. Report `latest_valuation_reported_usd` (with date) as the reported figure and `est_valuation_usd` as the Specter estimate. Format money compactly (e.g. $1.2B). Growth percentages: 4.05 means +4.05% (can be negative). Omit null fields.
get_company_latest_valuation
Get news signals attributed to a company by Specter organization ID: funding, revenue, traction, profit, and deal updates surfaced from news coverage. Supports date-range filtering (`date_from` / `date_to`, on the article publication date) and pagination. Render as a table: Date | Title (hyperlinked to `article_url`) | Updates | Score | What's New. Scores are 1-10 (>= 4 is major news). Signals are ordered most-recent first. When `total` exceeds the number of returned signals, offer to fetch the next page.
get_company_news_signals
Get a detailed company profile by Specter organization ID. First-time presentation: render as a mini investment memo. Memo skeleton (skip empty sections): 1. Snapshot — name (linked to `website`), HQ, founded, employees, growth_stage, total_funding, monthly web visits. 2. What They Do — short_description, typical_customer_profile, traction. 3. Industry & Tech Verticals — see below. 4. Funding History — table (call `get_company_funding_rounds`; add `get_company_acquisitions` / `get_company_ipos` when the company has exited). 5. Investor Signals — table (call `get_company_intelligence`). 6. Team — founders + key people (call `get_company_intelligence`). 7. Headcount — most recent month (call `get_company_intelligence`). 8. Reported Clients. Hyperlink `name` to `https://app.tryspecter.com/signals/company/feed/{external_company_id}`. Show `linkedin_url` as a clickable link. Omit null fields. Render `growth_stage` value `growing` as "Growth". Render `traction` as a bullet list, not the raw comma-separated string. Industry & Tech Verticals (proprietary dual-lens classification, complementary — show both when present): - `industry`: 3-level economic-activity hierarchy (21 L1 → L2 → L3). Render with ` > ` separator. - `tech_verticals`: 2-level tech-domain hierarchy (33 verticals → 300+ sub-verticals). Render with ` > ` separator.
get_company_profile
Get funding rounds a given investor participated in by Specter investor ID, with the funded company and co-investors. Supports date-range filtering (`date_from` / `date_to`, on the announcement date) and pagination. Render as a table: Date | Company | Round | Raised | Lead. Rounds are ordered newest first. When `total` exceeds the returned count, offer to fetch the next page. Omit null fields.
get_investor_funding_rounds
Get investor-interest signals sourced from a given investor by Specter investor ID: the funding, growth, and market-activity signals attributed to that investor. Supports date-range filtering (`date_from` / `date_to`, on the signal date) and pagination. Render as a table: Date | Entity | Score | Type | Summary. Scores are 1-10. Signals are ordered newest first. `entity_id` links the company / person the signal concerns — offer `get_company_profile` / `get_person_profile`. Omit null fields.
get_investor_interest_signals
Get a detailed investor profile by Specter investor ID: firmographics, investment activity (counts, stages, industries, tech verticals), and portfolio company IDs. Render as a mini profile: name, type, HQ, founded, then activity (investments / lead / exits / funds) and focus (stages, industries, tech verticals). Show `linkedin_url` / `crunchbase_url` as links. When `company_id` or `person_id` is present the investor is itself an entity — offer `get_company_profile` / `get_person_profile`. Omit null fields.
get_investor_profile
Get items in a specific list by list ID. Use `get_lists` first to resolve a list name to an ID. Show list name, item count, and list ID at the top. Render items as a concise table: name (hyperlinked), social links, key metric (stage, funding, employees). Hyperlink companies to `https://app.tryspecter.com/signals/company/feed/{external_company_id}` and people to `https://app.tryspecter.com/signals/people/table/{external_person_id}`. Offer to pull full details on any result. For company items, render `industry` and `tech_verticals` with ` > ` separator when present. Investor items: render name, type, HQ, #investments and #exits; investors are not hyperlinked.
get_list_items
List accessible lists for the current user. Supports optional name filtering and pagination. Render as a concise table: list name, item count, list ID. Offer to pull items via `get_list_items`.
get_lists
Get a personal or professional email address for a person by external person ID.
get_person_email
Get a detailed person profile by external person ID, including role history and education. First-time presentation: {full_name} · LinkedIn {tagline} · Current: {current_position.title} at {current_position.company_name} Then: career timeline (most recent first) → education → highlights (plain English). Hyperlink `name` to `https://app.tryspecter.com/signals/people/table/{external_person_id}`. Show `linkedin_url` as clickable link. Surface `top_university` from education when true. Highlight: domain expertise, founder-market fit, prior exits, track record, years of experience.
get_person_profile
Get the talent signals for one person by Specter person ID: the career moves Specter tracked for them — founding a company, going stealth, coming out of stealth, executive hires, promotions. Supports date-range filtering (`date_from` / `date_to`, on the signal date) and pagination. Render as a table: Date | Signal | From → To | Score. Scores are 1-10. Signals are ordered newest first. `new_position_company_external_id` is a Specter company ID — offer `get_company_profile` for it. Surface `out_of_stealth_advantage` when present as how many days early the move was caught. Append (Est.) to industries and tech verticals when `is_industry_estimated` is true. When `total` exceeds the number of returned signals, offer to fetch the next page. Omit null fields.
get_person_talent_signals
List results returned by a specific saved search ID. Use `get_saved_searches` first to resolve a search name to an ID. The product — company, people, talent signals, investor interest signals, investors (firms), funding rounds, acquisitions, IPOs — is inferred from the saved search; you do not pass it. For a people search, `signal_mode='new_talent_signals'` returns TalentSignalItem entries, not PeopleSearchItem. Show search name, item count and search ID at the top. Render `industry` / `industries` and `tech_verticals` with a ` > ` separator, noting the industry is estimated when `is_industry_estimated` is true. Signal scores are 1-10. Default — concise table: name (hyperlinked), social links, key metric. Hyperlink companies to `https://app.tryspecter.com/signals/company/feed/{external_company_id}`, people to `https://app.tryspecter.com/signals/people/feed/{external_person_id}`. Talent signals (people movements: stealth founders, exec departures, new ventures): Date | Person | Title | Company | Score | Signal Type | Signal Summary | Industry | Tech Vertical. Always show `signal_summary` (background + why notable) as a brief narrative below the row; a stealth company explains an estimated industry. Offer `get_person_profile` / `get_person_email` for follow-up. Investor interest signals (investor activity patterns): Date | Name | Score | Signal Type | Signal Summary | Industry | Tech Vertical. Investors (firms, e.g. VC funds): Name | Type | HQ | #Investments | #Exits — not hyperlinked. Funding rounds: Date | Company | Round | Raised (USD) | #Investors. Acquisitions: Date | Acquirer | Acquiree | Type | Price (USD), saying undisclosed rather than leaving a blank. IPOs: Date | Company | Exchange:Ticker (`stock_exchange_symbol`:`stock_symbol`) | Share Price (USD) | Raised (USD) | Valuation (USD). Hyperlink each company to `https://app.tryspecter.com/signals/company/feed/{external_company_id}` via `company_id`, or `acquirer_company_id` / `acquiree_company_id` for acquisitions.
get_saved_search_items
List saved searches accessible to the current user, for any product: company, people, talent signals, investor interest signals, investors (firms), and the transaction feeds — funding rounds, acquisitions and IPOs. Supports optional name filtering and pagination. Render as a concise table: search name, item count, search ID. The count fields are named per product (e.g. `full_companies_count`, `full_funding_rounds_count`, `full_acquisitions_count`, `full_ipos_count`). Offer to pull results via `get_saved_search_items`. To link a search, open its product feed with BOTH `queryId=<query_id>` and `searchId=<search_id>`.
get_saved_searches
Return the Specter MCP usage instructions and presentation guidelines.
get_usage_instructions
Run a Specter search from a natural-language DESCRIPTION of the records you want (e.g. 'climate-focused VC investors', 'high-growth fintech companies in Germany') and — when you know the kind of record you want — set `product`. Omit it to let Specter infer the product from the query. This is for DISCOVERY, never for looking up an entity you can already name — 'find Stripe' / 'the person Jane Doe' belongs in `find_company` / `find_person`, which resolve a known name or domain directly. `product` is one of: company, people, investors, talent_signals, interest_signals, funding_rounds, acquisitions, ipos. Use `investors` for the investor firms themselves (e.g. VC funds), not their portfolio companies. Returns a compact list per product — the same fields the saved-search tools return, not the full record. Drill into a single result via the per-record tools (`get_company_profile`, `get_person_profile`, …) for the complete object. Also returns `query_id` / `agent_query_id`, a `search_url` to reopen the whole search in the app, and the `product` actually searched. Hyperlink each item's name to its Specter page: `company` (field `id`), `funding_rounds`/`ipos` (field `company_id`) and `acquisitions` (field `acquiree_company_id`) link to a company feed at `https://app.tryspecter.com/signals/company/feed/{external_company_id}`; `people` (field `id`) and `talent_signals` (field `specter_person_id`) link to `https://app.tryspecter.com/signals/people/feed/{external_person_id}`. `investors` and `interest_signals` are not hyperlinked.
search
Update a list: rename it, change whether it is shared with the API, and/or change its membership. Works for any list product (the product is resolved from the list ID, so item ids must match that product). Use `get_lists` to resolve a list name to its ID and `get_list_items` to see what is in it. Membership can be changed on any list you can access; renaming and `is_shared_with_api` are limited to lists you own or administer. Pass at least one of `name` / `is_shared_with_api` / `add_item_ids` / `remove_item_ids`. Item ids are the external ids returned by other tools: company → `external_company_id`, people → `external_person_id` (per_...), investors → investor id, talent → talent id, stratintel → strategic id. Membership changes are idempotent and reported per direction: items already in the list count towards `already_present`, requested removals that were not members towards `not_present` — neither is an error. Removals are applied after additions. An id that is malformed for the list's product, or that names no entity Specter knows, fails the whole call and nothing is written — resolve ids with a find/search tool first. Fails too if you already own another list of the same product with the requested name.
update_list
Get the current user information.
whoami
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Specter alternatives on ChatGPT?
As of 2026-09-08, Specter competes with CapitalDart, CB Insights, Cookiedeal, Dakota Marketplace, Datasite, Evertrace, GLG, Guidepoint, Hadaly, Harmonic, Hebbia, In Practise, PitchBook, Sacra, Third Bridge, TrustMRR, Venturu in ChatGPT Private Markets, Deals & Expert Networks, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.