Integration Guide

Vetting an Influencer's Brand Deals From Their Link-in-Bio Page

A Linktree is a list of shortened and wrapped links. Follow every one of them to its real destination and you can see the actual brands, retailers, and affiliate networks a creator is promoting — not the checklist advice everyone else gives.

Written by Alex P.

  • influencer vetting
  • Linktree
  • affiliate marketing
  • link-in-bio
  • brand partnerships
  • redirect resolution

Search for how to vet an influencer before a partnership and you’ll get the same checklist from a dozen different vendors: check the engagement rate, look for fake followers, request past campaign metrics, Google their name for controversy. All reasonable advice, and none of it looks at the one page almost every creator already maintains specifically to list what they’re promoting: their link-in-bio page.

That’s the gap. Not “how do I scrape a Linktree” — plenty of tools already do that — but “what is this creator actually selling, and who’s paying them to.”


A Linktree, Lnk.Bio, or AllMyLinks page shows you what a creator wants a visitor to click. It does not, by itself, tell you where that click actually lands. A “shop my favorites” link is routinely a wrapped or shortened URL — a redirector, an affiliate link, a UTM-tagged campaign link — and the label tells you nothing about the retailer, the affiliate network, or the brand relationship behind it. Reading the page is step one. Following every link through its redirects to where it truly resolves is the step that turns a list of labels into a list of actual business relationships — and it’s the step none of the standard vetting checklists include, because it’s not a question of judgment, it’s a question of following a chain of HTTP redirects that the page itself doesn’t show you.


What that looks like against a real page

Take Charli D’Amelio’s Linktree. The labels alone read like a normal creator page — a download link, a snack brand, a footwear line, a beauty product. Resolving each one’s destination is what turns that into a map of actual brand relationships:

const res = await fetch('https://api.fetchlayer.dev/link-in-bio/links', {
  method: 'POST',
  headers: { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({
    profile: 'https://linktr.ee/charlidamelio',
    resolveDestinations: true,
  }),
});
const { links } = await res.json();

The labels and the resolved destinations, side by side:

Link labelResolves to
”shop be happy snacks @ walmart!”walmart.com — a real retail listing
”D’AMELIO FOOTWEAR”dameliofootwear.com — the creator’s own brand
”shop born dreamer”ulta.com search results for the product line
”download vinivia”doesn’t resolve at all — the destination domain is dead

Three of four links land exactly where the label implies. The fourth is a link that looks live on the page but goes nowhere — a dead promotional link a manual read of the page would never catch, because the page renders the label, not the failure behind it.


Where this reveals the thing checklists can’t: the affiliate tag itself

The stronger case is a page built specifically around affiliate links. LIKEtoKNOW.it’s own Linktree links a Hatch Restore product through what displays as a normal product link. Resolved, the destination is an Amazon URL carrying tag=liketoknowi0d-21 and linkCode=ll2 in the query string — an Amazon Associates affiliate tag, sitting in plain sight once you’re looking at the actual destination instead of the label on the page:

const { links } = await (await fetch('https://api.fetchlayer.dev/link-in-bio/links', {
  method: 'POST',
  headers: { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({ profile: 'https://linktr.ee/liketoknowit', resolveDestinations: true }),
})).json();

const affiliateLinks = links.filter(l => l.monetized || l.destination?.url.includes('tag='));
// { title: "Hatch Restore 3 Greige", monetized: true,
//   destination: { host: "www.amazon.es", url: "...tag=liketoknowi0d-21&linkCode=ll2..." } }

That’s a checkable, specific answer to “is this creator running Amazon affiliate links” — not an inference from vibes or a generic disclosure checklist, but the actual tag in the actual URL. The same pattern holds for any affiliate network that identifies itself in its query string or its redirect domain: the tag doesn’t show up anywhere on the rendered page, only in the resolved destination.


Building a brand-relationship report

The same call, run across every link on a page, turns into a straightforward classification pass — group by resolved host, and you have a list of who a creator is actually promoting, not who they say they’re promoting:

async function brandReport(profile) {
  const res = await fetch('https://api.fetchlayer.dev/link-in-bio/links', {
    method: 'POST',
    headers: { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
    body: JSON.stringify({ profile, resolveDestinations: true, limit: 100 }),
  });
  const { links } = await res.json();

  return links.map((l) => ({
    label: l.title,
    resolvedHost: l.destination?.host ?? null,
    reachable: l.destination?.unresolvedReason == null,
    monetized: l.monetized,
  }));
}

Run that against a page you’re vetting before a sponsorship, and you get a table: which links are dead weight (unreachable, worth asking about before you pay for placement), which are the creator’s own commercial ventures versus someone else’s brand, and which are flagged monetized — the platform’s own signal that money changes hands on a click, before you’ve read a single destination URL.


Where this leaves “Linktree scraper API”

If what you need is the general capability — read any supported link-in-bio page, list its links, identify which service a page belongs to — that’s the Linktree Scraper API page. This piece is for the narrower question that “linktree scraper” doesn’t capture: who is this creator actually in business with, which is a brand-partnerships and affiliate-vetting question, not a scraping question. Nobody currently ranking for that question is answering it by resolving redirects — the existing advice is checklists about engagement rate and fake followers, not destination data.


Practical notes

  • A dead link is itself a signal. unresolvedReason explains exactly why a destination couldn’t be reached — worth surfacing on its own in a vetting report rather than silently dropping it, since a broken “shop now” link on a page you’re paying to be featured on is worth asking about.
  • monetized is the page’s own flag, not your inference. Where a link-in-bio provider marks a link as monetized, that’s the platform saying money is involved — a stronger signal than trying to guess from the URL alone, and worth checking alongside the resolved destination rather than instead of it.
  • Provider coverage varies. Linktree, Lnk.Bio, AllMyLinks, and solo.to pages resolve directly; a page on a service that isn’t supported yet is identified as such rather than silently returning nothing, so a vetting workflow can flag “couldn’t read this one” instead of reporting a false empty result.

Next Steps