Finding people at a company with Brave Search: tested query patterns A developer benchmarked 10 Brave Search query patterns across 100 real B2B companies — 1,000 searches for $0.125 total with zero errors — to find senior employees' LinkedIn profiles. The best single query, `linkedin "at {Company}" (CEO OR founder OR chief OR president OR VP OR "head of" OR "general manager" OR director OR partner OR principal)`, surfaced at least one senior person at 67 of 100 companies, while a three-query combination (F + G + H) reached 81 of 100 and two or more at 56 of 100 for roughly $0.375 per 1,000 companies. The tester reports that `site:` operators returned zero results through the RapidAPI Brave endpoint and that about 1 in 5 raw matches were the wrong company due to name collisions, recommending a cheap LLM review step after searching. We tested 10 Brave Search query patterns on 100 real B2B companies to find senior people currently working there their LinkedIn profiles . 1,000 searches, $0.125 total, 0 errors. Measured 2026-09-28. - Best single query: linkedin "at {Company}" CEO OR founder OR chief OR president OR VP OR "head of" OR "general manager" OR director OR partner OR principal . Found 1+ senior person at 67 of 100 companies. - Best 3-query combo found 1+ senior person at 81 of 100 and 2+ at 56 of 100, for about $0.375 per 1k companies. - site: did nothing for us. Through the RapidAPI Brave endpoint, any query containing site: returned zero results. Brave's own site documents the operator https://search.brave.com/help/operators https://search.brave.com/help/operators , so the official API may behave differently. We did not test it. - Expect about 1 in 5 raw matches to be the wrong company name collisions . Put a cheap LLM review step after the search. A hit = a linkedin.com/in/ result whose title has a senior title, names the company in the employer or headline, and is not "ex-" / "former". | Pattern | Query template | 1+ found | 2+ found | |---|---|---|---| | G | linkedin "at {co}" CEO OR founder OR chief OR president OR VP OR "head of" OR "general manager" OR director OR partner OR principal | 67 | 40 | | B | "{co}" linkedin VP OR "head of" OR "general manager" | 59 | 26 | | C | "{co}" linkedin director OR partner OR principal | 52 | 19 | | J | {co} linkedin CEO founder VP director no quotes, no OR | 50 | 22 | | D | linkedin.com/in "{co}" all titles OR'd | 50 | 14 | | A | "{co}" linkedin CEO OR founder OR chief OR president | 49 | 20 | | E | linkedin.com/in "{domain}" all titles OR'd | 49 | 16 | | H | "{co}" linkedin "vice president" | 45 | 19 | | F | "{co}" linkedin | 35 | 8 | | I | pattern A, page 2 | 0 | 0 | | Queries per company | Patterns | 1+ found | 2+ found | Cost per 1k companies | |---|---|---|---|---| | 1 | G | 67 | 40 | $0.125 | | 2 | F + G | 76 | 47 | $0.25 | | 3 | F + G + H | 81 | 56 | $0.375 | | 4 | B + F + G + H | 84 | 63 | $0.50 | | 10 | all | 86 | 67 | $1.25 | Cost is Brave via RapidAPI at $0.000125 per search. 1. Write the query the way the headline is written. LinkedIn titles read "VP Sales at Acme". Quoting "at Acme" matches that phrasing directly and beat every other pattern. 2. Long OR lists underperform. Splitting titles across separate searches, or one title per search, found more people than one big OR list. 3. The domain is a weak anchor. Profiles rarely print acme.com , so domain queries found fewer people than name queries. 4. site: and page 2 returned nothing on the RapidAPI Brave endpoint. Put linkedin or linkedin.com/in in the query as plain words instead. 5. Name collisions are the main error. In a 25-hit sample, about 5 were the wrong company: "Runway" matched Runway Growth Capital, "Mercor" matched Mercor Slovakia, "SHIELD" matched Shield AI. Short or generic company names are the worst. Pass the target domain plus each candidate's headline to a small model and ask "same company? yes/no". Same shape as pattern G, swapping the title list. These are templates, not measured. Only the senior-leadership numbers above were tested. | Department | Query | |---|---| | Sales | linkedin "at {co}" "VP Sales" OR "Head of Sales" OR "Sales Director" OR CRO OR "Chief Revenue Officer" | | Marketing | linkedin "at {co}" CMO OR "VP Marketing" OR "Head of Marketing" OR "Marketing Director" OR "Head of Growth" OR "Demand Generation" | | RevOps / Sales Ops | linkedin "at {co}" "Revenue Operations" OR RevOps OR "Sales Operations" OR "GTM Operations" | | Engineering | linkedin "at {co}" CTO OR "VP Engineering" OR "Head of Engineering" OR "Engineering Director" | | Product | linkedin "at {co}" CPO OR "VP Product" OR "Head of Product" OR "Director of Product" | | Data / AI | linkedin "at {co}" "Head of Data" OR "Chief Data Officer" OR "VP Data" OR "Head of AI" OR "Director of Analytics" | | Security / IT | linkedin "at {co}" CISO OR CIO OR "Head of Security" OR "VP IT" OR "IT Director" | | Finance | linkedin "at {co}" CFO OR "VP Finance" OR "Head of Finance" OR Controller OR "Finance Director" | | People / HR | linkedin "at {co}" CHRO OR "Chief People Officer" OR "VP People" OR "Head of People" OR "HR Director" | | Talent / Recruiting | linkedin "at {co}" "Head of Talent" OR "Talent Acquisition" OR "Recruiting Manager" OR "Head of Recruiting" | | Customer Success | linkedin "at {co}" "VP Customer Success" OR "Head of Customer Success" OR "Customer Success Director" OR CCO | | Partnerships | linkedin "at {co}" "Head of Partnerships" OR "VP Partnerships" OR "Partnerships Director" OR "Business Development" | | Operations | linkedin "at {co}" COO OR "VP Operations" OR "Head of Operations" OR "Operations Director" | | Legal | linkedin "at {co}" "General Counsel" OR "Chief Legal Officer" OR "Head of Legal" OR "Legal Counsel" | | Procurement | linkedin "at {co}" Procurement OR "Head of Purchasing" OR "Sourcing Manager" OR "Vendor Management" | Tips for departments: - If a department comes back thin, run a second query with fewer titles, or just one linkedin "at {co}" "Head of Marketing" . Short OR lists did better in our test. - Add a plain "{co}" linkedin query as a catch-all. On its own it is weak, but it adds people the titled queries miss. - @ works too: many headlines read "Head of Data @ Acme". Try linkedin "@ {co}" as a variant. python import html, re SENIOR = re.compile r"\b owner|founder|co-founder|chief|ceo|cto|cfo|coo|cmo|cro|cpo|president|vp|vice president|head of|director|general manager|partner|principal \b", re.I FORMER = re.compile r"\b ex|former|formerly|prev|previously|past \b -\s@: ", re.I def norm s : return re.sub r" ^a-z0-9 ", "", str s .lower def parse result, company : """One Brave web result - {name, title, url} if it is a current senior person at company, else None.""" url = str result.get "url" or "" if "linkedin.com/in/" not in url: return None title = html.unescape str result.get "title" or "" .replace " | LinkedIn", "" desc = html.unescape str result.get "description" or "" parts = p.strip for p in re.split r"\s -–| \s", title if p.strip if len parts < 2: return None name, headline = parts 0 , " - ".join parts 1: m = re.search r"Experience:\s ^· +? \s ?:·|$ ", desc employer = m.group 1 .strip if m else "" c = norm company if not c and c in norm employer or c in norm headline : return None if not SENIOR.search headline or FORMER.search headline : return None return {"name": name, "title": headline, "url": url.split "?" 0 } Swap SENIOR for a department regex to score department queries. Dedupe on the /in/