Skip to main content

Documentation Index

Fetch the complete documentation index at: https://api.lensmor.com/llms.txt

Use this file to discover all available pages before exploring further.

Exhibitors list

List exhibitors for a specific event with access-aware pagination. Use this endpoint when you want a paginated exhibitor catalog scoped to one event, with exhibitor and personnel filters plus preview/full-access guidance.

Endpoint

GET /external/exhibitors/list

Authentication

See Authentication

Success status code

200 OK

Query parameters

NameRequiredTypeNotes
event_idYesstringEvent identifier returned by Lensmor event endpoints.
pageNointegerDefaults to 1.
pageSizeNointegerDefaults to 50 when omitted; maximum 100.
keywordNostringExhibitor keyword search.
countryNostringCountry filter.
categoryNostring[]Exhibitor category filters; repeated query params are supported.
industryNostring[]Exhibitor industry filters; repeated query params are supported.
jobTitleNostring[]Personnel job-title filters; repeated query params are supported.
managementLevelNostring[]Personnel management-level filters; repeated query params are supported.
departmentNostring[]Personnel department filters; repeated query params are supported.
personnelLimitNointegerMaximum nested personnel rows to load per exhibitor. 0 or omitted means no nested personnel.

Response body

Top-level fields

FieldTypeNotes
itemsobject[]Exhibitors associated with the resolved event.
totalintegerTotal matched exhibitors.
pageintegerCurrent page number.
pageSizeintegerPage size used for this response.
totalPagesinteger0 when total is 0.
hasMorebooleantrue when another page exists.
recommendationProcessingbooleantrue when recommendation data for the current caller is still being prepared; otherwise false.
semanticsobjectPreview/full-access guidance for the current event query.

items[] fields

FieldTypeNotes
idstringLensmor exhibitor identifier.
companyNamestringExhibitor company name.
domainstring or nullExhibitor domain.
descriptionstring or nullExhibitor description.
websitestring or nullWebsite URL.
industrystring or nullIndustry label.
employeeCountinteger or nullEmployee count, when available.
countrystring or nullCountry.
logostring or nullLogo URL.
linkedinUrlstring or nullLinkedIn URL.
fundingRoundstring or nullFunding-round label.
matched_event_idsstring[]Related event identifiers for the current result.
isRecommendedbooleanWhether this exhibitor is recommended for the authenticated caller.
recommendationRankinteger or nullRecommendation rank when available.
matchStatusstring or nullRecommendation state. Values can include pending_unlock, processing, ready, and failed.
matchScorenumber or nullRecommendation match score when available.
matchTierstring or nullRecommendation tier when available. Values can include top_match, strong_match, and qualifying_match.
matchReasonstring or nullRecommendation explanation when available.
techStacksstring[]Normalized tech-stack names.
categoriesstring[]Optional exhibitor categories. Present only when non-empty.

semantics fields

FieldTypeNotes
accessModestringpreview when the event is still preview-locked, full when full event access is active.
previewLimitinteger or nullCurrently 50 in preview mode; null in full mode.
countsobjectActual-versus-visible match counts for the current query.
pageStateobjectWhether the requested page is currently accessible.
unlockobjectWhether an event unlock is required to see more results.
guidanceobjectStructured guidance for the current access state.

semantics.counts fields

FieldTypeNotes
actualTotalintegerTotal matching exhibitors for the current query before preview gating.
visibleTotalintegerTotal currently accessible under the present access mode.
remainingLockedCountintegerCount of matching exhibitors that remain inaccessible until event unlock.

semantics.pageState fields

FieldTypeNotes
requestedPageintegerRequested page number.
accessiblebooleanfalse when the requested page falls outside the preview-accessible window.
maxAccessiblePageintegerHighest page currently accessible under the present access mode.

semantics.unlock fields

FieldTypeNotes
requiredForMoreResultsbooleantrue when event unlock is required to continue beyond the current preview boundary.
actionTypestring or nullSuggested follow-up action type, currently unlock_event_exhibitors when unlock is needed.
creditsinteger or nullCredits required by the suggested unlock action when present.

semantics.guidance fields

FieldTypeNotes
codestringCurrent codes include preview_page_inaccessible, preview_results_truncated, preview_complete_for_query, full_access, and no_matching_results.
messagestringHuman-readable explanation of the current access state.

Response example

{
  "items": [
    {
      "id": "456",
      "companyName": "Acme",
      "domain": "acme.com",
      "description": null,
      "website": "https://acme.com",
      "industry": "Retail Technology",
      "employeeCount": 120,
      "country": "United States",
      "logo": null,
      "dataSource": "Lensmor",
      "linkedinUrl": null,
      "fundingRound": null,
      "isRecommended": true,
      "recommendationRank": 1,
      "matchStatus": "ready",
      "matchScore": 91,
      "matchTier": "top_match",
      "matchReason": "Strong fit for the buyer profile.",
      "matched_event_ids": [
        "139574"
      ],
      "techStacks": [
        "React",
        "PostgreSQL"
      ],
      "categories": [
        "Retail",
        "Fintech"
      ]
    }
  ],
  "total": 50,
  "page": 1,
  "pageSize": 50,
  "totalPages": 1,
  "hasMore": false,
  "recommendationProcessing": false,
  "semantics": {
    "accessMode": "preview",
    "previewLimit": 50,
    "counts": {
      "actualTotal": 87,
      "visibleTotal": 50,
      "remainingLockedCount": 37
    },
    "pageState": {
      "requestedPage": 1,
      "accessible": true,
      "maxAccessiblePage": 1
    },
    "unlock": {
      "requiredForMoreResults": true,
      "actionType": "unlock_event_exhibitors",
      "credits": 2000
    },
    "guidance": {
      "code": "preview_results_truncated",
      "message": "This event is locked. Only the first 50 matching exhibitors are currently accessible. Unlock the event to access the remaining matching results."
    }
  }
}

Error responses

  • 400 Bad Request when event_id is invalid.
  • 401 Unauthorized when the API key is missing, malformed, or invalid.
  • 404 Not Found when the target event cannot be resolved.

Notes

  • Use the event_id returned by Lensmor event endpoints when requesting exhibitors for an event.
  • In preview mode, only the first 50 matching exhibitors are currently accessible.
  • If semantics.pageState.accessible is false, the current page can be empty even when semantics.counts.actualTotal shows additional locked results.
  • Recommendation fields are personalized for the authenticated caller and may be null when recommendation data is not available.