GL-001Stale filter vocabulary.
The documented filter values are old LinkedIn taxonomy while the database uses the current one, so published values return ~zero results (“Oil & Energy” → 0; “Oil and Gas” → 4.5M).
GL-033company_size filter cannot find any company with 501 to 10,000 employees
The docs call the middle size bands "501 to 1K", "1K to 5K", "5K to 10K". The database stores them as "501 to 1000", "1001 to 5000", "5001 to 10000". The size filter matches neither version, so mid-size companies never appear when a size filter is used.
- Whole UK: min=501&max=1000 → 0. min=1001&max=5000 → 0. min=5001&max=10000 → 0. The bands next to them work: 201-500 → 1.17M, 10001+ → 3.31M.
- min=1&max=500 and min=1&max=1000 both return exactly 6,988,253 UK contacts. Raising the limit from 500 to 1000 adds zero people.
- gymshark.com is stored as "1001 to 5000" and has 1,509 contacts. Even min=1&max=1,000,000 returns only 1 of them.
Fix: make the labels and the stored values the same ("1K" should be "1000"). Then add a company_size filter that accepts the band strings directly, for example company_size: ["1001 to 5000"], the same way the seniority filter works.
GL-007linkedin_url lookup times out, works sometimes, fails other times
Pasting a profile URL to get its DB row died at the ~60s limit on 50% of the time but the batch version (get_emails_from_linkedin_batch) returns the same profiles fine.
GL-008Round-trip failures.
Results from GetLeads put into another GetLeads endpoint often don't work.
Users will chain tool calls, so this needs to work.
Examples:
- Search shows 18,687 Stripe employees with industry "Technology; Information and Internet" → filter industries=["Technology; Information and Internet"] → 0 results.
- Samuel Houston's (Valentte) search row shows cellphone +44 7753 166875 → phone lookup on that exact number → not found. UK numbers are 0/3 across the QA; a US number from the same search (+1 408-656-5350, Kati Pease, Stripe) hits first try with the full row.
- Search shows luke@valentte.com, status VALID, on Luke Bream's profile → ask for the email from that same profile URL (get_emails_from_linkedin) → success: true, email: null. Their own DB knows the email; the chain can't retrieve it.
- Search rows name his company "Valentte London" → enrich {Luke, Bream, company_name: "Valentte London"} → all nulls — while the same person via email_domain: valentte.com returns his full profile. The exact company string the product displays is a dead input.
- Search returns 23 people at valentte.com → lookup_colleagues_by_domain("valentte.com") → 0 colleagues.
- Bonus, the loop version: luke@valentte.com → email-to-LinkedIn returns profile /in/luke-bream-82115b16 — a different URL than the one search displays for him (/in/luke-bream). Same person, two URLs, and the URL→email direction fails while email→URL succeeds.
GL-003Enrich by company name doesn't work (but domain does)
Enriching with an email domain works (7/8 hits) but a company name alone never resolves - I tested companies like Apple, Google, Tesla, Airbnb, Stripe, Gymshark.
GL-004Fake employees in search.
People who claim a company on LinkedIn show up as its employees, but lookup_decision_makers already filters them out correctly.
We should apply that same gate to the search contacts.
Examples:
GL-019“UK” and “USA” return zero results.
Alias the common forms (UK / U.K. / Great Britain → United Kingdom; USA / US / America → United States) — a day of work, disproportionate trust payoff.
GL-005Acquisition-signals feed is dead.
Every query returns zero rows, including the full last six weeks — the pipeline has stopped populating.
GL-011colleagues_by_domain ignores GetLeads’ own DB.Lower priority
It queries only the external provider (valentte.com → 0 colleagues while the own DB holds three @valentte.com contacts including the CEO),
GL-002What does success: true mean?
High-level decision: today it means “we charged you”, not “we found something”
e.g. right now invalid filter values are silently accepted and return a payload identical to a real empty result.
GL-007bIs description-based company discovery on the roadmap?
company_description invites natural language but behaves as a literal text match.
My ai thought you would be able to search for company_description in natural language, but it's actually a literal text match.
Is making company_description searchable semantically on your radar at all?
GL-016Internally contradictory firmographics.
There are rows that disprove themselves:
- Screwfix at 10,001+ employees with “<$1M” revenue;
- Gap UK at 11–50 employees with $100M–$1B
^ how do we go about making sure these things are cleaned?
GL-010Duplicate people.Lower priority
The same human appears as 2+ rows under different LinkedIn URLs (Valentte’s CEO twice everywhere he appears; Chris Bumstead twice with conflicting personas).