> ## Documentation Index
> Fetch the complete documentation index at: https://docs.airscale.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Business intent topics

> Check a LinkedIn company for selected business intent topics. A matched result costs 3 credits. Rate limit: 6 requests per second per workspace.

Check a company LinkedIn URL against one or more business intent topics. Submit only a LinkedIn **company** URL; a domain or personal profile URL is not accepted.

## Find topic values

Call [Company filter values](/api-reference/find-companies/filter-values) with `filter=topics` and a search term of at least two characters. This lookup uses the same API key and is free.

```bash Search topics theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --get 'https://api.airscale.io/v1/find-companies/filter-values' \
  -H "Authorization: Bearer $AIRSCALE_API_KEY" \
  --data-urlencode 'filter=topics' \
  --data-urlencode 'q=customer relationship'
```

The response contains `values` with a display `label` and a request `value`. For example, a result can be `{"label":"crm: customer relationship management (crm)","value":"crm: customer relationship management (crm)"}`. Copy the complete `value` string into the `topics` array. Search again with another term to find more topics; send 1–20 values per intent request.

## Check a company

```bash Check business intent theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://api.airscale.io/v1/business-intent-topics' \
  -H "Authorization: Bearer $AIRSCALE_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"linkedin_company_url":"https://www.linkedin.com/company/example-company/","topics":["crm: customer relationship management (crm)"]}'
```

Use an HTTPS `linkedin.com/company/<slug>/` URL without a query or fragment. The request body accepts only `linkedin_company_url` and `topics` and is limited to 16 KiB. Topic strings are trimmed, must be nonempty, and can be at most 150 characters each.

When `matched` is `true`, the response includes `intent_topics`, `level_of_intent`, `date_stamp`, company details when available, and `credits_consumed: 3`. When the company is not matched, `matched` is `false`, `intent_topics` is empty, and `credits_consumed` is `0`. A result with no usable intent topics is treated as an error rather than a paid match. Keep at least 3 credits available before calling this endpoint, including for a possible no-match result.

The limit is 6 requests per second per workspace, shared with Find companies and Company filter values. For `429`, wait and retry with bounded backoff. A repeated POST is a new lookup and can cost another 3 credits. If a `503` response includes `operation_id`, credit settlement is uncertain; contact Airscale support with that ID before retrying.

## Next step

Use the returned `intent_topics` and `level_of_intent` in your workflow, or [search for more topic values](/api-reference/find-companies/filter-values) to run another check.


## OpenAPI

````yaml openapi.json POST /v1/business-intent-topics
openapi: 3.1.0
info:
  title: Airscale Public API
  version: '2026-09-11'
  description: Search, enrich, and resolve public business data with Airscale.
  x-airscale-source-repository: ViceScale/airscale-code
  x-airscale-source-sha: 1de19e1b70a052a4b8d9c2075021a7e5e7a94d51
servers:
  - url: https://api.airscale.io
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Search and discovery
    description: Search people, companies, and the web.
  - name: Contact data
    description: Find professional and personal contact data.
  - name: Profiles and reverse lookup
    description: Extract profiles or resolve a person from known contact data.
  - name: Post engagement
    description: Retrieve and enrich people who liked or commented on LinkedIn posts.
  - name: LinkedIn content
    description: >-
      Search LinkedIn posts, read profile and company feeds, and retrieve
      profile comments and comment reactions.
  - name: Account
    description: Inspect workspace account state.
  - name: Miscellaneous
    description: >-
      Find website technologies and check WhatsApp availability, Meta ads, and
      email deliverability.
paths:
  /v1/business-intent-topics:
    post:
      tags:
        - Search and discovery
      summary: Check business intent topics for a LinkedIn company
      description: >-
        Checks selected business intent topic values for one LinkedIn company
        URL. Search valid topic values with the free GET
        /v1/find-companies/filter-values endpoint. The JSON request body is
        limited to 16 KiB.
      operationId: getBusinessIntentTopics
      requestBody:
        required: true
        description: >-
          Provide one LinkedIn company URL and 1–20 complete topic value strings
          from the free filter-values lookup.
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - linkedin_company_url
                - topics
              properties:
                linkedin_company_url:
                  type: string
                  format: uri
                  pattern: ^https://(?:www\.)?linkedin\.com/company/[A-Za-z0-9_-]+/?$
                  description: >-
                    HTTPS LinkedIn company URL. Domains, person profiles, query
                    strings, and fragments are not accepted.
                topics:
                  type: array
                  minItems: 1
                  maxItems: 20
                  description: >-
                    Copy complete topic value strings from GET
                    /v1/find-companies/filter-values?filter=topics&q=... .
                  items:
                    type: string
                    minLength: 1
                    maxLength: 150
            examples:
              selectedTopic:
                summary: Check a synthetic company for a discovered topic
                value:
                  linkedin_company_url: https://www.linkedin.com/company/example-company/
                  topics:
                    - 'crm: customer relationship management (crm)'
      responses:
        '200':
          description: Matched intent data (3 credits) or a no-match result (0 credits).
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - linkedin_company_url
                  - matched
                  - company_name
                  - company_website
                  - date_stamp
                  - intent_topics
                  - level_of_intent
                  - topic_count
                  - credits_consumed
                properties:
                  linkedin_company_url:
                    type: string
                    format: uri
                    description: Normalized LinkedIn company URL.
                  matched:
                    type: boolean
                    description: >-
                      Whether the company was matched and usable intent topics
                      were found.
                  company_name:
                    type:
                      - string
                      - 'null'
                  company_website:
                    type:
                      - string
                      - 'null'
                  date_stamp:
                    type:
                      - string
                      - 'null'
                    description: Intent data date, when provided.
                  intent_topics:
                    type: array
                    items:
                      type: string
                    description: >-
                      Business intent topics returned for the company; empty on
                      no match.
                  level_of_intent:
                    type:
                      - string
                      - 'null'
                  topic_count:
                    type: number
                    minimum: 0
                  credits_consumed:
                    type: integer
                    enum:
                      - 0
                      - 3
                    description: 3 for a usable matched result; 0 for no match.
              examples:
                matched:
                  summary: Synthetic matched company
                  value:
                    linkedin_company_url: https://www.linkedin.com/company/example-company/
                    matched: true
                    company_name: Example Company
                    company_website: example.com
                    date_stamp: '2026-10-01'
                    intent_topics:
                      - 'crm: customer relationship management (crm)'
                    level_of_intent: high
                    topic_count: 1
                    credits_consumed: 3
                noMatch:
                  summary: No matching company
                  value:
                    linkedin_company_url: https://www.linkedin.com/company/example-company/
                    matched: false
                    company_name: null
                    company_website: null
                    date_stamp: null
                    intent_topics: []
                    level_of_intent: null
                    topic_count: 0
                    credits_consumed: 0
        '400':
          description: The request is invalid or contains an unsupported field or value.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: >-
            The workspace cannot complete this request because access or
            available credits are insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: The JSON request body exceeds the 16 KiB limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >-
            The workspace rate limit has been exceeded. Try again after the
            current window resets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: >-
            The request could not be completed because a required service
            returned an unsuccessful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: The request is temporarily unavailable. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '504':
          description: The business intent lookup timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-codeSamples:
        - label: cURL
          lang: bash
          source: |-
            curl 'https://api.airscale.io/v1/business-intent-topics' \
              --header "Authorization: Bearer $AIRSCALE_API_KEY" \
              --header 'Content-Type: application/json' \
              --data '{"linkedin_company_url":"https://www.linkedin.com/company/example-company/","topics":["crm: customer relationship management (crm)"]}'
components:
  schemas:
    Error:
      type: object
      additionalProperties: true
      properties:
        error:
          type: string
        message:
          type: string
  responses:
    Unauthorized:
      description: The Bearer token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Use an Airscale workspace API key. Never expose the key in client-side
        code.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.