Skip to main content

Search Records

Search the eCore DataCore database with filters. The endpoint returns matching person records with their company and job information. Personally Identifiable Information (PII) fields — email, direct phone, mobile phone — are hidden until you unlock them with Unlock Records.

Endpoint

Method: GET Path: /external/search/ Full URL: https://app.ecoreservice.com/backend/api/v1/external/search/ Auth: Authorization: Token YOUR_API_TOKEN — see Authentication Cost: Free — search itself never charges credits

Query Parameters

All parameters are optional. Provide one or more to filter. With no filters, results are returned newest-first.

ParameterTypeDescription
industrystringFilter by industry (e.g., Technology)
job_titlestringFilter by job title (e.g., Software Engineer)
job_levelstringFilter by job level (e.g., C Level, Vice President Level, Director Level)
company_namestringFilter by company name
contact_office_countrystringFilter by country (e.g., United States)
employee_rangestringFilter by employee count range (e.g., 1001-5000)
revenue_rangestringFilter by revenue range (e.g., $100M-$500M)
limitintegerResults per page. Default: 10
offsetintegerPagination offset. Default: 0

Example Request

curl -X GET \
"https://app.ecoreservice.com/backend/api/v1/external/search/?industry=Technology&job_level=C%20Level&limit=5" \
-H "Authorization: Token YOUR_API_TOKEN"

Successful Response — 200 OK

{
"success": true,
"count": 1250,
"results": [
{
"uuid": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Corp",
"job_title": "CEO",
"job_level": "C Level",
"industry": "Technology",
"contact_linkedin_url": "https://linkedin.com/in/johndoe",
"contact_email": null,
"contact_direct_phone": null,
"contact_mobile_phone": null,
"is_email_unlocked": false,
"is_phone_unlocked": false
}
]
}

Response Fields

FieldTypeDescription
successbooleanAlways true on 200 OK
countintegerTotal records matching the filters (across all pages)
resultsarrayPage slice — up to limit records
results[].uuidstringRecord's UUID. Pass this to Unlock Records to reveal PII
results[].contact_emailstring | nullnull until you unlock email for this record
results[].contact_direct_phonestring | nullnull until you unlock phone for this record
results[].contact_mobile_phonestring | nullnull until you unlock phone for this record
results[].is_email_unlockedbooleantrue if this account has already unlocked email for this record
results[].is_phone_unlockedbooleantrue if this account has already unlocked phone for this record

Pagination

Use limit and offset to walk through results:

# Page 1 — records 0-9
curl ".../external/search/?industry=Technology&limit=10&offset=0" -H "Authorization: Token ..."

# Page 2 — records 10-19
curl ".../external/search/?industry=Technology&limit=10&offset=10" -H "Authorization: Token ..."

The count field gives you the total result size to know when you've reached the end.

Error Responses

HTTPWhenBody
401Missing or invalid token{"detail": "Invalid token."}
400Invalid parameter (e.g., non-integer limit){"error": "..."}

See Error Codes for the full list.