searchUsers
Search members by keyword, category, and location with sorting options such as reviews or name.
Instructions
Search members/users - Full-text search across members with category, location, and sorting options.
Lean-by-default keep-list: same shape as listUsers — identity + routing + location core. Restore extras via the same include flags including include_extras=1 for stripped fields (billing/analytics rollups, duplicate location fields, social URLs, awards, credentials, work_experience, etc.).
Use when: (1) mirroring the public member-search experience - embedding search results in an external app, building a custom search-results page, or letting users search BD from outside the site; (2) verifying what is publicly findable for a given keyword / category / location combo (SEO coverage audits, "who shows up if a visitor searches X?"); (3) keyword / partial-name / location / category lookup in general. For exact-field lookup (by email, by user_id, by phone, by any admin column) use listUsers + property / property_value - faster, more precise, and supports admin-only filters (join date, subscription status, meta fields) that this endpoint does not.
Pagination: cursor-based (limit, page). See Rule: Pagination for full cursor/cap/stop semantics.
Enums: sort: reviews, name ASC, name DESC, last_name_asc, last_name_desc.
Parameter interactions:
q- keyword (matches first name, last name, company, about, search_description)pid(category ID),tid(sub-category/service ID),ttid(sub-sub-category) - taxonomy filters, use IDs fromlistTopCategories/listSubCategoriesaddress+dynamic=1- proximity/geographic filtering
See also: getUser (single record by ID), listUsers (full enumeration).
Returns: { status: "success", message: [...records] }. Supports pagination fields when result set is large.
Profile URL: every user record has a filename field. To get the full public profile URL, concatenate: <site-domain>/<user.filename>. The filename is the complete relative path (e.g., united-states/monterey-park/doctor/harrison-hasanuddin-d-o) - DO NOT prepend /business/, /profile/, /member/, or any other segment. BD's router resolves filename verbatim.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search keyword | |
| pid | No | Category ID | |
| tid | No | Sub-category ID | |
| ttid | No | Sub-sub-category ID | |
| address | No | ||
| sort | No | ||
| page | No | ||
| limit | No | ||
| dynamic | No | ||
| include_password | No | Opt in to return bcrypt `password` hash. | |
| include_subscription | No | Opt in to return full `subscription_schema`. Heavy — when set, `limit` is auto-capped at 25 for transport stability. | |
| include_clicks | No | Opt in to return `user_clicks_schema.clicks` array. | |
| include_photos | No | Opt in to return `photos_schema` array. Heavy — when set, `limit` is auto-capped at 25 for transport stability. | |
| include_transactions | No | Opt in to return full `transactions` array. Heavy — when set, `limit` is auto-capped at 25 for transport stability. | |
| include_profession | No | Opt in to return `profession_schema`. | |
| include_tags | No | Opt in to return `tags` array. | |
| include_services | No | Opt in to return `services_schema` array. Heavy — when set, `limit` is auto-capped at 25 for transport stability. | |
| include_seo_hidden | No | Opt in to return SEO-hidden meta fields. | |
| include_about | No | Opt in to return the `about_me` HTML bio. Heavy — when set, `limit` is auto-capped at 25 for transport stability. | |
| include_legacy_fields | No | Return image-import state on `photos_schema` rows: `original`, `resized`, `error`. Requires `include_photos=1`. | |
| include_extras | No | Opt in to return ALL remaining user fields not in the lean keep-list and not gated by another `include_*` flag (social URLs, awards, credentials, quote, gmap, work_experience, ref_code, booking_link, listing_type, profession_name, verified, featured, etc.). |