API Hop

Backlink research

How we use a data API and LLMs to find backlink opportunities: kie.ai and evolink.ai

We fetched 100 Active backlink records each for kie.ai and evolink.ai. After removing broken records, we had 195 links from 29 source hostnames. We use this real data to show how we remove duplicates, classify sources with an LLM, and check backlink candidates.

Reviewed:

While running API Hop, we wanted to answer a specific question: Which backlink sources used by other AI API websites are worth looking into?

We chose kie.ai and evolink.ai and fetched the first page of 100 backlink records for each. We did not study traffic, keywords, or overall site rankings for this article. We just wanted a useful backlink list.

Here is the main finding: Of the 200 raw records, 195 remained after we removed 5 broken records. Grouping them by source hostname left just 29 distinct sources. Of evolink.ai’s 100 records, 95 came from GitHub, across just 9 GitHub pages.

In this article, we use this dataset to explain how we collected the records, counted them, used AI to organize them, and decided what to do next.

What did the same parameters return for the two sites?

Metrickie.aievolink.ai
TotalRecords returned by the API42,00910,959
Valid records95100
Unique source pages8514
Unique source hostnames256
Did we fetch more pages in this round?NoNo

2. How did we request these two datasets?

The endpoint we used

We first read API Hop’s SimilarwebAPI documentation.

ParameterValue used
Keykie.ai / evolink.ai
Page1
PageSize100
StatusActive
FollowTypeAll
sortDomainScore
ascfalse

The request format was:

curl --fail-with-body --max-time 90 --get \
  'https://api.apihop.ai/v1/similarweb/websites/backlinks' \
  --header "Authorization: Bearer ${APIHOP_API_KEY}" \
  --data-urlencode 'Key=kie.ai' \
  --data-urlencode 'Page=1' \
  --data-urlencode 'PageSize=100' \
  --data-urlencode 'Status=Active' \
  --data-urlencode 'FollowType=All' \
  --data-urlencode 'sort=DomainScore' \
  --data-urlencode 'asc=false'

The actual structure of a successful response

The top-level structure of the kie.ai response is shown below. For readability, we kept only a few fields from the first record and left out the other records:

{
  "TotalRecords": 42009,
  "Records": [
    {
      "UrlFrom": "https://github.com/yitao2020/Vue-AI-web-game-asset-generator",
      "UrlTo": "https://kie.ai/",
      "Anchor": "KIE.ai",
      "DomainScore": 89,
      "IsLost": false,
      "IsBroken": false
    }
  ],
  "Page": 1,
  "PageSize": 100
}

3. How did we turn 200 records into sources to research?

Use code to remove duplicates and do the counting first

We followed a fixed order:

  1. Save both raw JSON files, keeping every field returned by the service.
  2. Give each raw row an ID, starting with K001 for kie.ai and E001 for evolink.ai.
  3. Keep valid records and retain exclusion flags in the CSV.
  4. For each competitor, remove exact duplicates by UrlFrom + UrlTo.
  5. Group records by normalized source hostname and count distinct UrlFrom pages.
  6. Combine hostnames across the two samples to get 29 distinct sources.

You can ask AI to help with all of these steps. For data analysis, we recommend Claude Opus5.5 and ChatGPT Astra.

The clearest difference was how concentrated the sources were

Source hostnameLinks kept for kie.aiLinks kept for evolink.ai
github.com2195
saashub.com260
skool.com140
dev.to40
note.com30
producthunt.com30
icons8.com01
4.bing.com21

evolink.ai had far more GitHub records than kie.ai. That caught our attention, so we took a closer look: 95 links came from 9 pages. The source paths included account names close to the brand, such as EvoLinkAI, Evolink-AI, and evolinkai. This shows that its open-source project backlinks were largely concentrated in these 9 projects.

For kie.ai on SaaSHub, 26 links came from 24 pages.

GitHub was the only hostname shared by the two cleaned samples. This fits their positioning well, as developers are one of their main audiences. We think this type of backlink is worth trying.

4. How do we give AI the right material for useful results?

Let code handle the numbers and the model handle classification and analysis

To add this step to your own automation, you can convert the cleaned CSV to JSON and use this prompt:

We are researching backlink sources for an AI API product.
The input contains actual backlink samples for kie.ai and evolink.ai.

Use only the input to organize up to 15 source hostnames:
- source_hostname
- evidence_ids: must come from the input
- source_urls: must come from the input; keep the original URLs
- target_sites: kie.ai, evolink.ai, or both
- category: developer project / product directory / tutorial / community / editorial article / other
- observation: include only facts supported by the input
- suggested_action: keep suggestions separate from facts
- verification_needed: current page status, relevance, account ownership, submission page, pricing terms
- status: always use "Needs verification"

Group by source_hostname.
Do not invent domains, titles, submission pages, or prices.
Do not describe a brand's own repositories as third-party recommendations.
Do not claim that anything is free, guarantees a listing, brings traffic, or improves rankings.
When there is not enough evidence, write "Cannot determine".

The categories and priorities in the table below reflect our initial judgment of which backlinks are worth pursuing.

SourceSample with recordsExample original source pageOur suggested next step
SaaSHubkie.aifal alternativesCheck relevant product categories, submission rules, and whether our site is already listed
DEV Communitykie.aiVEO3 ad generation project tutorialStudy how to write a tutorial around a complete task, and check the publishing rules separately
GitHubBothVue game asset generation project; OpenClaw use cases repositoryReview repository content and ownership, then assess what useful code we can deliver
Product Huntkie.aiRedirect URL returned by the serviceFind the matching product page first; the redirect record alone does not prove submissions are currently open
SourceForgekie.aiKie.ai Veo 3 API pageCheck what kind of product listing it is, who maintains it, and the publishing requirements
Icons8 blogevolink.aiVideo generation models articleRead the context around the reference, then decide whether it makes sense to offer verifiable technical material
note.comkie.aiMidjourney automation articleReview the Japanese content and target audience, then assess whether we have a complete case study to write
The Automation Exchangekie.aiVeo3 video ad workflow newsletterCheck whether the newsletter is still active, how the author works with partners, and what case studies need to include
PyPIkie.aiai-influencer packageStudy how real packages describe their API dependencies; consider this only when we have a working Python package
CodeCanyonkie.aiInfluencify product pageCheck what types of APIs the product uses and whether an integration partnership would be a good fit

6. How much did it cost in total?

In this round, we made two successful backlink API calls through the native service described above. Users making the same requests through API Hop at this standard price can budget as follows:

Collection scopeSuccessful requestsBudget at the public standard price
1 page per site2$0.001
3 pages per site6$0.003
5 pages per site10$0.005

7. Summary

Our focus was to use API Hop to turn an open-ended question into a repeatable task: Use two queries to get 200 real records, clean and group them by source hostname, then pick 10 URLs worth pursuing further. The data API provides leads, code makes the numbers reproducible, AI helps organize the text, and we make the final checks to decide whether to act.