Any website. Any data. Get a free sample.

Tell us what you need scraped and we'll send you a sample before you commit.

Bulk Link Extractor & API

Extract every link from any web page with anchor text, internal vs external, nofollow, and the section it sits in, then export to CSV.

Bulk link extractor
Paste one URL per line. Requests run one by one in your browser. 5 of 5 free requests left. Sign in for more.
API reference

Paste one or more URLs above to list every link on each page. With Anchor text & rel on, each link includes its anchor text, whether it is internal or external, its rel values (nofollow, sponsored, ugc), the page section it sits in (nav, header, main, footer), and the nearest heading above it.

Download everything as one CSV for SEO audits and link mapping. To trace where a link ends up, use the redirect checker; to list every page on a site, use the sitemap crawler. Every option is documented in the Links API reference.

Features

Use cases

Extract all links from a URL with cURLbash
curl -X POST https://api.agenty.ai/v1/links \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'
Get details for external links onlybash
curl -X POST https://api.agenty.ai/v1/links \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "details": true,
    "filter": "external"
  }'
List nofollow links on a page in Node.jsjavascript
const res = await fetch('https://api.agenty.ai/v1/links', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ url: 'https://example.com', details: true }),
});
const { summary, result } = await res.json();
console.log(summary); // { total, unique, internal, external, nofollow }
result
  .filter((link) => link.nofollow)
  .forEach((link) => console.log(link.url, link.text, link.section));
List internal links and their anchor text in Pythonpython
import requests

res = requests.post(
    "https://api.agenty.ai/v1/links",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"url": "https://example.com", "details": True, "filter": "internal"},
)
for link in res.json()["result"]:
    print(link["url"], link["text"], link["heading"])

How Agenty compares

FeatureAgentyScreaming FrogAhrefsSEMrush
Extract all linksYes (hosted API)Desktop onlyYesYes
Anchor text & page sectionYesYesPartialPartial
nofollow / sponsored / ugc detectionYesYesYesYes
API-first (no desktop app)YesNoPartialPartial
Free tierYesLimitedNoNo

Frequently asked questions

What is the Link Extractor API?

The Agenty Links API extracts every link from a rendered web page. By default it returns a list of URLs. Pass details: true to also get anchor text, rel values, internal or external, page section, and the nearest heading for each link. See the API reference for the full response.

Can I filter by link type?

Yes. Set filter to "internal" or "external". Each link in the detailed response also has nofollow, sponsored, and ugc flags you can filter on.

What does the position context show?

Each detailed link includes section, the nearest enclosing nav, header, main, aside, or footer, plus the closest heading above it and its position on the page. Use it to tell navigation links apart from links in your content.

How do I extract links from multiple pages?

Paste your URLs into the tool at the top of this page, one per line, and click Extract links. When it finishes, click Download CSV to get every link with its source page in one file.

Is there a free tier?

You can check 5 pages without an account, and all accounts include free credits. Visit our pricing page for details.

Web scraping agent

Web scraping with AI

Start scraping data from any website using the Agenty's web scraping agents with AI.

  • Custom web scraping at scale
  • Real-time price monitoring
  • LLM training data curation
  • Structured JSON & CSV exports
  • Anti-bot bypass built-in
  • 99.9% uptime SLA

Get a free sample dataset from any website before you commit.