Skip to content

Instantly share code, notes, and snippets.

@iamarsenibragimov
Created April 21, 2026 19:11
Show Gist options
  • Select an option

  • Save iamarsenibragimov/8b7a9d38e92cfb6bf16c0ebf2dd0228e to your computer and use it in GitHub Desktop.

Select an option

Save iamarsenibragimov/8b7a9d38e92cfb6bf16c0ebf2dd0228e to your computer and use it in GitHub Desktop.
CrustData RT strict_title_and_company_match bug — reproduction + impact

CrustData RT Search — strict_title_and_company_match: true does NOT enforce strict matching

Endpoint: POST /screener/person/search Date: 2026-04-21 Reproducible: yes, every call

TL;DR

We pass post_processing.strict_title_and_company_match: true expecting your API to return only profiles where a role at the target company also matches the title filter. Instead, the API returns profiles where:

  • the target company appears in one work entry, AND
  • a filter title appears in a different work entry (often many years apart, at a totally unrelated company).

This violates the documented contract. In our production traffic 78% of returned profiles on a representative sample violate the constraint. We are being billed 1–5 credits per profile for results the flag should have filtered out.

Request we send

POST https://api.crustdata.com/screener/person/search

{
  "filters": [
    {
      "filter_type": "PAST_COMPANY",
      "type": "in",
      "value": [
        "https://www.linkedin.com/company/zendesk",
        "zendesk.com"
      ]
    },
    {
      "filter_type": "PAST_TITLE",
      "type": "in",
      "value": [
        "Chief Revenue Officer", "CRO",
        "Chief Sales Officer", "CSO",
        "Chief Commercial Officer", "CCO",
        "VP Sales", "VP of Sales", "SVP Sales", "Senior VP Sales",
        "VP Revenue", "VP of Revenue",
        "VP Commercial", "VP of Commercial",
        "General Manager", "Managing Director", "MD", "Geschäftsführer"
      ]
    }
  ],
  "page": 1,
  "post_processing": {
    "strict_title_and_company_match": true
  }
}

Intent (plain English): return people who held one of these executive sales titles while working at Zendesk.

API reports: total_display_count = 557

What we expect vs. what we get

We pulled the first 3 pages (9 profiles). For each profile we checked: does any of the profile's roles at Zendesk (company_linkedin_id 418095) match the PAST_TITLE filter?

Result Count
✅ Legit (matching title is at a Zendesk role) 2 / 9 (22%)
❌ Violation (no Zendesk role matches the title filter) 7 / 9 (78%)

Concrete violation: Vidhur Bhagat

Profile URL: https://www.linkedin.com/in/vidhurbhagat

Here is his full employer array exactly as returned by your API in the same response:

[
  { "company_name": "Bright Data",                     "company_linkedin_id": "4000016", "title": "Managing Director Sales, India & MEA",              "start_date": "2026-03-01", "end_date": null },
  { "company_name": "Branch",                          "company_linkedin_id": "3813083", "title": "Regional Vice President Sales, APAC",              "start_date": "2023-10-01", "end_date": "2026-03-01" },
  { "company_name": "Branch",                          "company_linkedin_id": "3813083", "title": "Regional Vice President Sales, India",             "start_date": "2023-06-01", "end_date": "2023-10-01" },
  { "company_name": "New Relic, Inc.",                 "company_linkedin_id": "426253",  "title": "General Manager Enterprise Business, India",       "start_date": "2021-04-01", "end_date": "2023-06-01" },
  { "company_name": "New Relic, Inc.",                 "company_linkedin_id": "426253",  "title": "Enterprise Account Executive",                     "start_date": "2020-09-01", "end_date": "2021-04-01" },
  { "company_name": "Zendesk",                         "company_linkedin_id": "418095",  "title": "Enterprise Named Accounts Manager- India & SAARC", "start_date": "2020-01-01", "end_date": "2020-09-01" },
  { "company_name": "Zendesk",                         "company_linkedin_id": "418095",  "title": "Strategic Account Executive",                      "start_date": "2019-01-01", "end_date": "2020-01-01" },
  { "company_name": "Zendesk",                         "company_linkedin_id": "418095",  "title": "Account Executive",                                "start_date": "2016-07-01", "end_date": "2019-01-01" },
  { "company_name": "MetricStream",                    "company_linkedin_id": "164954",  "title": "Customer Engagement Consultant",                   "start_date": "2014-08-01", "end_date": "2016-07-01" },
  { "company_name": "MetricStream",                    "company_linkedin_id": "164954",  "title": "International Sales Executive",                    "start_date": "2015-10-01", "end_date": "2016-06-01" },
  { "company_name": "Beatinfo Consulting & Solutions", "company_linkedin_id": "2717783", "title": "Inside Sales Account Manager- Freshdesk",          "start_date": "2013-08-01", "end_date": "2014-08-01" },
  { "company_name": "ITC Infotech",                    "company_linkedin_id": "7190",    "title": "Business Analyst",                                 "start_date": "2012-05-01", "end_date": "2013-08-01" }
]

Stepping through this profile against the filter

Work entry Matches PAST_COMPANY (Zendesk)? Matches PAST_TITLE (our exec list)?
Bright Data — Managing Director Sales, India & MEA ✅ (Managing Director)
Branch — Regional Vice President Sales, APAC
Branch — Regional Vice President Sales, India
New Relic — General Manager Enterprise Business, India ✅ (General Manager)
New Relic — Enterprise Account Executive
Zendesk — Enterprise Named Accounts Manager - India & SAARC
Zendesk — Strategic Account Executive
Zendesk — Account Executive
MetricStream — Customer Engagement Consultant
MetricStream — International Sales Executive
Beatinfo — Inside Sales Account Manager
ITC Infotech — Business Analyst

No single row has both columns checked. → Under strict_title_and_company_match: true this profile must not have been returned.

Visually:

PAST_COMPANY filter hits:       ────────────● ● ●────────── (3 Zendesk rows, all Account Executive-level)
PAST_TITLE   filter hits:  ●────────────●───────────────── (Bright Data MD, New Relic GM — other companies)
                                        ^^^^^^^^^^^^^
                                        NO OVERLAP — still returned

More violation examples from the same response

Profile Roles at Zendesk Title-filter hit (actual company)
Kévin Artaud Commercial AE; SMB AE none in top employers
Joe Lazewski Senior Strategic Account Executive none in top employers
Andreas Iatridis Senior SMB AE; Enterprise BD Managing Director at The Sales Organisation
Doug Baudler Senior AE; AE none in top employers
Vidhur Bhagat Enterprise Named Accounts Mgr; Strategic AE; AE Managing Director at Bright Data

Profile URLs available on request.

Business impact

  • We run this pattern across thousands of companies per client project.
  • Between 2026-04-03 and 2026-04-21 we spent $2,009.90 on 20,099 RT credits. On a representative 30-profile sample from one project, 83% of returned profiles failed an independent strict-match check identical to the one above.
  • Per-profile billing (min 5 credits, ~$0.50 per profile) means we are paying for a service whose documented filter flag is not functioning.
  • Downstream cost is also significant: each junk profile we create enters scoring/enrichment pipelines which cost additional money.

What we need

  1. Bug fix. strict_title_and_company_match: true should enforce that the matching title and matching company come from the same work experience entry (same position_id). That is the only sensible interpretation and is what the flag name says.
  2. Credit refund for RT search results returned in violation of this flag since we enabled it. We can share our request logs to quantify; as a lower bound, 78% of our $2,009.90 recent RT spend would be $1,567.
  3. Timeline on when the fix will ship.

Reproduction

Any /screener/person/search request with:

  • PAST_COMPANY (or CURRENT_COMPANY) in a single company
  • PAST_TITLE (or CURRENT_TITLE) in a narrow exec-level list
  • post_processing.strict_title_and_company_match: true

will exhibit the bug. You can replay the exact request above.


Contact: Arsen Ibragimov, Topliner — arsen@topliner.app

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment