--- title: Get Technologies And Buying Intents description: List all keywords tracked by TheirStack, including both technologies and buying intent topics. Search for any keyword and filter by one or more categories. url: https://theirstack.com/en/docs/api-reference/catalog/get_catalog_keywords_v0 --- Calls to this endpoint don't cost you [credits](/en/docs/pricing/credits). - To get technologies only: filter with `keyword_type=technology` - To get only [buying intent](/en/docs/data/buying-intent) topics: filter with `keyword_type_not=technology` - By default this endpoint returns 25 keywords. To get all keywords, set `limit=100000`. Response always includes `data` (array of keywords) and `metadata` (total\_results, page, limit). ## GET /v0/catalog/keywords — Get Technologies And Buying Intents List all keywords tracked by TheirStack, including both technologies and buying intent topics. Search for any keyword and filter by one or more categories. Calls to this endpoint don't cost you credits. - To get technologies only: filter with \`keyword\_type=technology\` - To get only buying intent topics: filter with \`keyword\_type\_not=technology\` - By default this endpoint returns 25 keywords. To get all keywords, set \`limit=100000\`. Response always includes \`data\` (array of keywords) and \`metadata\` (total\_results, page, limit). ### Parameters | Name | In | Type | Required | Description | | --- | --- | --- | --- | --- | | `keyword_type` | query | enum(technology, software\_product, technology\_concept, operational\_activity, strategic\_initiative, metric\_or\_concept, product\_or\_service\_offered, regulation, threat\_or\_risk, event, commodity, industry\_vertical, physical\_equipment, medical\_research, government\_body) | No | Keyword type to filter by | | `keyword_type_not` | query | array | No | Exclude keywords of these types | | `name_pattern` | query | string | No | Case-insensitive text to search for in the keyword name | | `slug` | query | array | No | Keyword slug of a single keyword | | `slugs` | query | array | No | Keyword slugs of one or many keywords | | `category_pattern` | query | string | No | Case-insensitive text to search for in the keyword category. For example, \`data\` to find 'data tools'. | | `category_slug` | query | string | No | Keyword category slug | | `parent_category_slug` | query | string | No | Keyword parent category slug | | `parent_category_pattern` | query | string | No | Case-insensitive text to search for in the keyword parent category name | | `q` | query | string | No | General search query. Searches across keyword name, keyword type, category, and parent category (case-insensitive). Results where the keyword name starts with the query are ranked first. | | `starts_with` | query | string | No | Filter keywords whose name starts with this string (e.g. 'A' for glossary). Special value '\_\_other\_\_' selects keywords whose name does not start with letters A-Z. | | `include_metadata` | query | boolean | No | Deprecated, metadata is always included now | | `page` | query | integer | No | Page number. | | `limit` | query | integer | No | Number of results per page | ### Responses #### 200 — Successful Response | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | No | | | `metadata` | CatalogKeywordsMetadata | Yes | | ##### `data` | Field | Type | Required | Description | | --- | --- | --- | --- | | `category` | string | No | Category of the keyword | | `category_slug` | string | No | Slug of the category of the keyword | | `companies` | integer | Yes | Number of companies using this keyword | | `companies_found_last_week` | integer | Yes | Number of companies found using this keyword in the last week for the first time | | `description` | string | No | Description of the keyword | | `jobs` | integer | Yes | Number of jobs found mentioning this keyword | | `logo` | string | No | Logo of the keyword | | `logo_thumbnail` | string | No | Thumbnail of the keyword | | `name` | string | Yes | | | `one_liner` | string | No | One-line description of the keyword | | `parent_category` | string | No | Parent category of the keyword | | `parent_category_slug` | string | No | Slug of the parent category of the keyword | | `slug` | string | Yes | Slug of the keyword | | `type` | string | No | Type of the keyword (e.g. technology, operational\_activity) | | `url` | string | No | URL of the keyword | ##### `metadata` | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | Yes | Page size | | `page` | integer | Yes | Current page (0-based) | | `total_results` | integer | Yes | Total number of keywords | #### 400 — Bad Request | Field | Type | Required | Description | | --- | --- | --- | --- | | `error` | Error | Yes | | | `request_id` | integer | No | The request id. This is useful to contact us to help you debug the issue. The request\_id won't be present in all errors. | ##### `error` | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | string | No | The error code. Eg: \`E-001\`, \`E-002\`, \`E-003\`, \`E-004\`, \`E-005\`, \`E-006\`, \`E-007\`, \`E-008\`, \`E-009\`, \`E-010\`, \`E-011\`, \`E-012\`, \`E-013\`, \`E-014\`, \`E-015\`, \`E-016\` | | `description` | string | No | The error description | | `title` | string | Yes | The error title. | #### 402 — Payment Required | Field | Type | Required | Description | | --- | --- | --- | --- | | `error` | Error | Yes | | | `request_id` | integer | No | The request id. This is useful to contact us to help you debug the issue. The request\_id won't be present in all errors. | ##### `error` | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | string | No | The error code. Eg: \`E-001\`, \`E-002\`, \`E-003\`, \`E-004\`, \`E-005\`, \`E-006\`, \`E-007\`, \`E-008\`, \`E-009\`, \`E-010\`, \`E-011\`, \`E-012\`, \`E-013\`, \`E-014\`, \`E-015\`, \`E-016\` | | `description` | string | No | The error description | | `title` | string | Yes | The error title. | #### 422 — Unprocessable Entity | Field | Type | Required | Description | | --- | --- | --- | --- | | `error` | Error | Yes | | | `request_id` | integer | No | The request id. This is useful to contact us to help you debug the issue. The request\_id won't be present in all errors. | ##### `error` | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | string | No | The error code. Eg: \`E-001\`, \`E-002\`, \`E-003\`, \`E-004\`, \`E-005\`, \`E-006\`, \`E-007\`, \`E-008\`, \`E-009\`, \`E-010\`, \`E-011\`, \`E-012\`, \`E-013\`, \`E-014\`, \`E-015\`, \`E-016\` | | `description` | string | No | The error description | | `title` | string | Yes | The error title. | #### 500 — Internal Server Error | Field | Type | Required | Description | | --- | --- | --- | --- | | `error` | Error | Yes | | | `request_id` | integer | No | The request id. This is useful to contact us to help you debug the issue. The request\_id won't be present in all errors. | ##### `error` | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | string | No | The error code. Eg: \`E-001\`, \`E-002\`, \`E-003\`, \`E-004\`, \`E-005\`, \`E-006\`, \`E-007\`, \`E-008\`, \`E-009\`, \`E-010\`, \`E-011\`, \`E-012\`, \`E-013\`, \`E-014\`, \`E-015\`, \`E-016\` | | `description` | string | No | The error description | | `title` | string | Yes | The error title. |