Anchor Text & Link Extractor avatar

Anchor Text & Link Extractor

Pricing

$1.00 / 1,000 results

Go to Apify Store
Anchor Text & Link Extractor

Anchor Text & Link Extractor

Extract every link from the pages you name, with anchor text, nofollow/sponsored/ugc flags and internal or external. Use when you need a page's outbound links.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

Plain Pipe

Plain Pipe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Extract every link from the pages you name: absolute URL, anchor text or image alt, nofollow/sponsored/ugc flags, target, internal or external, and domain.

What it does

Give it a list of page URLs. It fetches each page once (robots.txt respected) and returns one row per link found on that page: the absolute link URL, the cleaned anchor text, the rel flags (nofollow, sponsored, ugc), the target attribute, whether the link stays on the same domain, the link's domain and its position on the page. For image links the anchor text is the image's alt text and the row is marked "anchorType": "image".

It only reads the pages you list. It does not crawl a site and it is not a database of links pointing to a site from elsewhere.

Use cases

  • Review internal linking and anchor text on your own or a client's key pages.
  • Check which outbound links carry nofollow, sponsored or ugc before publishing.
  • Find image links with empty alt text (anchorType: "image" with an empty anchorText).
  • List every external domain a page links to, for example to review partner and affiliate links.
  • Export a page's navigation and footer links to compare two versions of a site.

How to use it

  1. Paste the page URLs into Page URLs, one per line.
  2. Optionally tick Only external links, or untick Remove duplicates to keep repeated links.
  3. Set Max results to cap the number of link rows, and with it the cost.
  4. Run the Actor. Results land in the dataset; export them as JSON, CSV or Excel, or read them through the Apify API.

Input

FieldWhat it isDefaultExample
urls (required)Pages to read. example.com is read as https://example.com. Invalid entries are skipped with a log warning.none["https://example.com/blog/post"]
onlyExternalReturn only links to other domains.falsetrue
dedupeWithin one page, keep each URL + anchor text pair once.truefalse
maxItemsStop after this many link rows in total.1002000

Example input:

{ "urls": ["https://docs.apify.com"], "onlyExternal": false, "dedupe": true, "maxItems": 20 }

Output

One item per link. Real rows from a run on https://docs.apify.com:

[
{
"pageUrl": "https://docs.apify.com/",
"finalPageUrl": "https://docs.apify.com/",
"position": 3,
"href": "https://console.apify.com/",
"anchorText": "Get started",
"anchorType": "text",
"rel": null,
"nofollow": false,
"sponsored": false,
"ugc": false,
"target": null,
"isInternal": false,
"linkDomain": "console.apify.com"
},
{
"pageUrl": "https://docs.apify.com/",
"finalPageUrl": "https://docs.apify.com/",
"position": 5,
"href": "https://docs.apify.com/actors",
"anchorText": "Actors",
"anchorType": "text",
"rel": "dofollow",
"nofollow": false,
"sponsored": false,
"ugc": false,
"target": "_self",
"isInternal": true,
"linkDomain": "docs.apify.com"
}
]
FieldMeaning
hrefThe link, resolved against the page (and any <base href>), with the #fragment removed.
anchorText, anchorTypeVisible text; text, image (alt or svg title) or empty (falls back to aria-label or title).
rel, nofollow, sponsored, ugcThe raw rel value and its three SEO flags.
isInternal, linkDomainSame host as the page (ignoring www.; subdomains count as external) and the link's host.
position1-based index among the web links on the page, counted before filtering and de-duplication.

Pricing

Pay per result: $1.00 per 1,000 results ($0.001 per result). One result is one link row. You only pay for rows the Actor returns. Set a maximum total charge on the run to cap your spend.

Limits

  • Reads the HTML the server returns. It does not run JavaScript, so links added in the browser are not seen.
  • One fetch per URL: it does not follow links or crawl the site.
  • Skips # anchors, javascript:, mailto:, tel: and other non-web links.
  • Pages blocked by robots.txt, non-HTML responses and errors produce no rows and cost nothing. If no page yields a link, the run fails with zero results.

FAQ

How much does it cost? $1.00 per 1,000 link rows. A typical page has 50 to 300 links; use Max results to cap the total.

Does it find backlinks to my site? No. It lists the links on the pages you give it. It is not a backlink database.

Why are there fewer rows than links on the page? Remove duplicates is on by default, and Only external links drops internal ones. position still shows each link's place on the full page.

Need the list of pages first? See Plain Pipe's Sitemap URL Extractor. For the on-page tags of the same pages, see Plain Pipe's SEO Page Audit & On-Page Checker.

Can I run it on a schedule or through the API? Yes, with Apify Schedules, the Apify API, webhooks and integrations such as Zapier, Make or spreadsheet tools.

This Actor processes only what you give it or public, non-personal technical data. It does not log in anywhere, does not collect personal data, and does not bypass paywalls, CAPTCHAs or access controls. You are responsible for having the right to process the inputs you provide.

Support

Open an issue on the Issues tab. Issues are answered within 14 days.

Use this when: you need every link on a set of pages with its anchor text and rel flags, for a link audit or outbound-link review.

Why this one

  • $1.00 per 1,000 results: one result is one link row; pages that fail cost nothing.
  • Each row has the absolute URL (resolved against <base href>, fragment removed), anchor type (text, image alt or empty with aria-label fallback), raw rel plus nofollow, sponsored and ugc flags, link domain and on-page position.
  • Plain HTTP fetch with robots.txt respected: no browser and no proxy needed; the 20-row prefill run finishes in a few seconds.
  • The prefilled input is test-run daily.

Built and maintained by Plain Pipe.