apyhub
ARTIFICIAL INTELLIGENCE · DATA EXTRACTION

Analyse Keywords API

What it does

Keyword Grouping analyzes public article URLs and returns ranked groups of related keywords. Send one or more article links, and get back keyword clusters you can use to understand topical themes, compare coverage, or build content outlines.

The request body accepts urls as an array of public article URLs, with up to 10 links. You can also pass an optional article_length hint to help the parser tune extraction, and return_results_top to limit how many keyword groups come back. The response includes data.keyword_groups, where each group has a numeric score and a keywords array.

Use Keyword Grouping when you need to turn a set of articles into structured SEO or editorial signals. For example, you might analyse competitor pages before drafting a new article, cluster terms from a content library, or identify repeated themes across sources without manually reading each page.

The output is intentionally compact: ranked groups of keywords, not a full article summary. That makes it easy to feed into downstream search, content planning, or classification workflows.

POST
Extract and group keywords from article URLs
https://api.eu.apyverse.com/apyhub/extract-group-keywords

QUICKSTART

GUIDE

Quickstart

Send a list of public article URLs to extract ranked keyword groups.

curl -X POST "https://api.eu.apyverse.com/apyhub/extract-group-keywords" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://assets.apyhub.com/samples/sample.html"
    ]
  }'

What you'll get back

Returns a JSON object with a data object. Inside data, keyword_groups is an array of ranked keyword-group objects, each with a numeric score and a keywords array of strings.

{
  "data": {
    "keyword_groups": [
      {
        "score": 0.98,
        "keywords": ["keyword one", "keyword two"]
      }
    ]
  }
}
TRY ITLIVE · 200 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
urls*
Publicly accessible article URLs to analyse. Maximum 10; extras are ignored.
Expected article character length hint (optional; helps the parser tune extraction).
Maximum number of keyword groups to return (5–50). Omit to return all groups.

About this endpoint

What it does

Extracts keyword groups from the article URLs you provide and returns them in a ranked list. You send a set of publicly accessible article URLs, and the response contains grouped keywords derived from those articles.

Request Body

ParameterTypeMandatoryDescription
urlsString ArrayYesPublicly accessible article URLs to analyse. Maximum 10; extras are ignored. Each item must be a URI.
article_lengthIntegerNoExpected article character length hint (optional; helps the parser tune extraction).
return_results_topIntegerNoMaximum number of keyword groups to return. Allowed range: 5–50. Omit to return all groups.

Response

Returns a JSON object with a data object field. data contains a keyword_groups array of objects, where each item includes a score number and a keywords string array. The schema does not declare a status code.

ParameterTypeMandatoryDescription
dataObjectYesResponse wrapper object.
data.keyword_groupsObject ArrayNoRanked keyword groups extracted from the provided articles. Each item contains a score number and a keywords string array.
data.keyword_groups[].scoreNumberNoRanking score for the keyword group.
data.keyword_groups[].keywordsString ArrayNoKeywords included in the group.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.