We’re seeing unexpected behaviour when searching contacts by email, where the only difference is an accented character in the local part of the email address.
We have two different contacts:
Contact 1: sudipè@testuser.com
Contact 2: sudipe@testuser.com
When we search using the Search API, the results don’t reliably distinguish between these two emails. Depending on the query, we can get both contacts when we expect only one, or we can’t reliably target just one of them.
Example request:
http
Copy code
POST https://api.hubapi.com/crm/v3/objects/contacts/search
Content-Type: application/json
Authorization: Bearer <REDACTED>
{
“filterGroups”: [
{
“filters”: [
{
“propertyName”: “email”,
“operator”: “EQ”,
“value”: “sudipè@testuser.com”
}
]
}
],
“properties”: [“email”]
}
Observed behavior:
The search may return both contacts (sudipè@testuser.com and sudipe@testuser.com) or otherwise treat them as not clearly distinct when we expect an exact match on the full email address.
In general, the search API does not appear to clearly distinguish between accented (è) and non‑accented (e) characters in the local part for our use case.
Expected behavior:
sudipè@testuser.com and sudipe@testuser.com should be treated as two distinct email values.
A search with operator: “EQ” and value: “sudipè@testuser.com” should only return the contact whose email is exactly sudipè@testuser.com.
Questions:
Is this behavior expected for the CRM Search API (e.g., any Unicode normalization or tokenization being applied to the email field)?
Is there a supported way to enforce strict, accent‑sensitive, exact matching on the email property via the Search API?
If this is not expected, can you log this as a bug/defect with the search service?