# AI Text Keyword Extraction API

Starting from 500 atoms

## About

This Utility API uses AI to extract keywords, identifying the primary concepts in a given textual content.

This API can analyze textual content to extract key phrases that encapsulate the core themes and concepts, optimizing content for search engines, categorizing large volumes of text, or enhancing the efficiency of information retrieval.

The atoms cost is subjected to change depending on the size of the input file and the provider selected. The list of providers and the atoms cost for each provider is given below:

| Provider (requested_service) | Atoms |
| --- | --- |
| Azure | 500 |
| ApyHub | 2000 |

## API Playground

ApyHub AI

This API endpoint does not have a playground. You can test it with Voiden.

## API Documentation

input json: output json

POST

`https://api.apyhub.com/ai/text/extract/keywords`

#### Request example

```bash
curl --location --request POST 'https://api.apyhub.com/ai/text/extract/keywords' \
--header 'apy-token: {{token}}' \
--header 'Content-Type: application/json' \
--data '{
    "text": "Microsoft was founded by Bill Gates and Paul Allen.",
    "language":"en",
    "requested_service": "azure",
    "azure": {
        "key": "your-azure-key",
        "endpoint": "your-azure-endpoint"
    }
}'
```

| Provider (requested_service) | Atoms |
| --- | --- |
| Azure | 500 |
| ApyHub | 2000 |

**Method:** `POST`

**Content Type:** `application/json`

**Request Body**

| Attribute | Type | Mandatory | Description |
| --- | --- | --- | --- |
| text | String | Yes | Provide the textual content for which you want to perform keyword extraction. <br> 
- The max content size is 125,000 characters. |
| language | String | yes | Provide the language supported by `azure` check list of supported language link - [https://learn.microsoft.com/en-gb/azure/ai-services/language-service/key-phrase-extraction/language-support](https://learn.microsoft.com/en-gb/azure/ai-services/language-service/key-phrase-extraction/language-support). |
| requested_service | String | Yes | Enter the name of service provider. Supported providers are `azure`, `apyhub`. Defaults to `apyhub`. |
| azure.key | String | Yes (if `azure` is selected in requested_service) | Input service key provided by azure. |
| azure.endpoint | String | Yes (if `azure` is selected in requested_service) | Enter the endpoint provided by azure. |

**Sample Response**

A successful request returns the keyword extraction response in the output parameter specified. If the request fails, the response contains an error code and a message to help determine what went wrong.

### HTTP Response Codes

The method may return one of the following HTTP status codes:

| Status Code | Description |
| --- | --- |
| 200 | The request was successful. |
| 400 | Invalid input - the file is corrupt or the supported inputs are not provided. |
| 401 | Required authentication information is either missing or not valid for the resource. |
| 500 | If any unexpected error occurs while processing the request. |

## Authentication

All API requests to ApyHub services need to be authenticated. Currently we support `tokens` or `basic authentication` mechanisms.
You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".

Points to note:

- Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
- Use the `apy-token` as the header parameter to pass the token.
- Use the `Authorization` header to send the basic authentication credentials.

## Error codes

```json
{
  "error": {
      "code": 105,
      "message": "Invalid URL"
  }
}
```

To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.

##### 101 - Missing parameters
This code is returned when mandatory parameters are missing from the request. For example, if you are trying to validate an email address but did not provide the "email" parameter.

##### 102 - Invalid JSON
This code is returned when invalid JSON is passed in the request body. For instance, if you forget to include a "{" at the beginning of the request body.

##### 103 - Invalid input
This code is returned when an invalid input is provided. For instance, if you enter the wrong password while trying to extract secure archives.

##### 104 - Invalid file
This code is returned when there is an issue with a file. The file may be missing or its format may be invalid.

##### 105 - Invalid URL
This code is returned when there is an issue with a URL. The URL may be missing or not accessible.

##### 109 - Invalid input format
This code is returned when input is not provided in the required format. For example, if you send a number instead of a string when a string is expected.

##### 110 - Server error
This code is returned when an unexpected error occurs while processing a request. This is typically an internal server error.

## Reviews

4/5 (33 ratings)

- 5
- 4
- 3
- 2
- 1
