apyhub-logo
200 atoms
Base tier

About

This Utility API extracts high-frequency keywords, keyphrases, and latent semantic keywords from the URLs that are provided.
This API offers valuable insights for optimizing web content and improving search engine rankings. Its unique aggregated results feature analyzes keyword data across multiple sources, aiding in the creation of well-balanced and keyword-rich content. This utility API is useful for enhancing online visibility and crafting impactful content strategies in the competitive digital landscape.

API Playground

Documentation

Analyse Keywords in Articles
POST
https://api.apyhub.com/extract/keywords/analyse

Request example

1
curl --location --request POST 'https://api.apyhub.com/extract/keywords/analyse' \
2
--header 'apy-token: {{token}}' \
3
--header 'Content-Type: application/json' \
4
--data '{
5
"urls": ["https://techcrunch.com/2023/11/22/chatgpt-everything-to-know-about-the-ai-chatbot/"]
6
}'
Method: POST
Content Type: application/json
Request Body
AttributeTypeMandatoryDescription
urlsArrayYesURLs of websites from which keywords are to be extracted. The number of URLs should be between 1 and 10.
article_lengthNumberYesWord count for the new article.
return_results_topNumberNoNumber of top keywords, keyphrases, and latent semantic keywords to be returned for both individual and aggregated results. Acceptable values are between 5 and 50. Defaults to 10.
Response
AttributeTypeDescription
data.aggregated_resultsObjectAggregated results derived from the input URLs and the length of the new article.
data.aggregated_results.top_keywordsArrayAggregated top keywords, including their maximum and minimum ranges, for inclusion in the new article.
data.aggregated_results.top_keywords.keywordStringA keyword suggested for inclusion in the new article.
data.aggregated_results.top_keywords.max_rangeNumberMaximum suggested range for the frequency of the keyword in the new article.
data.aggregated_results.top_keywords.min_rangeNumberMinimum suggested range for the frequency of the keyword in the new article.
data.aggregated_results.top_phrasesArrayAggregated top keyphrases, including their maximum and minimum ranges, for inclusion in the new article.
data.aggregated_results.top_phrases.phraseStringA keyphrase suggested for inclusion in the new article.
data.aggregated_results.top_phrases.max_rangeNumberMaximum suggested range for the frequency of the keyphrase in the new article.
data.aggregated_results.top_phrases.min_rangeNumberMinimum suggested range for the frequency of the keyphrase in the new article.
data.aggregated_results.top_latent_semantic_keywordsArrayAggregated top latent semantic keywords suggested for inclusion in the new article.
data.individual_resultsArrayResults from the URLs provided by the user.
data.individual_results.urlStringURL of the user-provided article.
data.individual_results.previewStringThe initial segment of the user-provided article.
data.individual_results.high_frequency_keywordsArrayMost frequent keywords in the user-provided article.
data.individual_results.high_frequency_keywords.keywordStringA specific keyword found in the user-provided article.
data.individual_results.high_frequency_keywords.frequencyNumberFrequency count of each keyword in the user-provided article.
data.individual_results.high_frequency_keyphrasesArrayMost frequent keyphrases in the user-provided article.
data.individual_results.high_frequency_keyphrases.keyphraseStringA specific keyphrase found in the user-provided article.
data.individual_results.high_frequency_keyphrases.frequencyNumberFrequency count of each keyphrase in the user-provided article.
data.individual_results.latent_semantic_keywordsArrayLatent semantic keywords identified in the user-provided article.
Sample Response
1
{
2
"data": {
3
"aggregated_results": {
4
"top_keywords": [
5
{
6
"keyword": "eyes",
7
"max_range": 13,
8
"min_range": 11
9
},
10
{
11
"keyword": "volunteer",
12
"max_range": 12,
13
"min_range": 10
14
},
15
{
16
"keyword": "app",
17
"max_range": 9,
18
"min_range": 9
19
},
20
{
21
"keyword": "helping",
22
"max_range": 7,
23
"min_range": 7
24
},
25
{
26
"keyword": "people",
27
"max_range": 7,
28
"min_range": 7
29
}
30
],
31
"top_latent_semantic_keywords": [
32
"able",
33
"accompanying",
34
"among",
35
"always",
36
"analyze"
37
],
38
"top_phrases": [
39
{
40
"max_range": 7,
41
"min_range": 7,
42
"phrase": "virtual volunteer"
43
},
44
{
45
"max_range": 3,
46
"min_range": 3,
47
"phrase": "helping people"
48
},
49
{
50
"max_range": 3,
51
"min_range": 3,
52
"phrase": "gpt4 multimodal"
53
},
54
{
55
"max_range": 3,
56
"min_range": 3,
57
"phrase": "eyes app"
58
},
59
{
60
"max_range": 1,
61
"min_range": 1,
62
"phrase": "openai introduced"
63
}
64
]
65
},
66
"individual_results": [
67
{
68
"preview": "OpenAI has introduced the world to its latest powerful AI model, GPT-4, and refreshingly the first thing they partnered up on with its new capabilities is helping people with visual impairments. Be My Eyes, which lets blind and low vision folks ask sighted people to describe what their phone sees,...",
69
"url": "https://techcrunch.com/2023/03/14/gpt-4s-first-app-is-a-virtual-volunteer-for-the-visually-impaired/",
70
"high_frequency_keyphrases": [
71
{
72
"frequency": 5,
73
"keyphrase": "virtual volunteer"
74
},
75
{
76
"frequency": 2,
77
"keyphrase": "helping people"
78
},
79
{
80
"frequency": 2,
81
"keyphrase": "gpt4 multimodal"
82
},
83
{
84
"frequency": 2,
85
"keyphrase": "eyes app"
86
},
87
{
88
"frequency": 1,
89
"keyphrase": "openai introduced"
90
}
91
],
92
"high_frequency_keywords": [
93
{
94
"frequency": 8,
95
"keyword": "eyes"
96
},
97
{
98
"frequency": 7,
99
"keyword": "volunteer"
100
},
101
{
102
"frequency": 6,
103
"keyword": "app"
104
},
105
{
106
"frequency": 5,
107
"keyword": "helping"
108
},
109
{
110
"frequency": 5,
111
"keyword": "people"
112
}
113
],
114
"latent_semantic_keywords": [
115
"accompanying",
116
"ai",
117
"among",
118
"able",
119
"altman",
120
"always",
121
"analyze"
122
]
123
}
124
]
125
}
126
}

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
400Invalid input - the url is not accessible or the supported inputs are not provided.
401Required authentication information is either missing or not valid for the resource.
500If any unexpected error occurs while processing the request.

Authentication

All 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 workspace settings (on the left side of the navbar) and go to applications.
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

1
{
2
"error": {
3
"code": 105,
4
"message": "Invalid URL"
5
}
6
}
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.