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.
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
- All anchorsEvery <a> tag on the rendered page in one call.
- Internal vs externalFilter by same-domain or external links.
- Rel detectionnofollow, sponsored, and ugc flags per link.
- Link summaryTotal, unique, internal, external, and nofollow counts.
- Anchor textLink text, or the aria-label or image alt when empty.
- Position contextPage section (nav, main, footer) and nearest heading.
- CSV exportOne CSV with every link from every page.
- Bulk URLsPaste a list of pages and extract them in one run.
Use cases
- SEO audits of internal linking structure
- Audit outbound links and their rel attributes
- Check which links are nofollow or sponsored
- Link mapping during site migrations
- Build a link graph for content recommendation
API examples
View full API referencecurl -X POST https://api.agenty.ai/v1/links \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'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"
}'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));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
| Feature | Agenty | Screaming Frog | Ahrefs | SEMrush |
|---|---|---|---|---|
| Extract all links | Yes (hosted API) | Desktop only | Yes | Yes |
| Anchor text & page section | Yes | Yes | Partial | Partial |
| nofollow / sponsored / ugc detection | Yes | Yes | Yes | Yes |
| API-first (no desktop app) | Yes | No | Partial | Partial |
| Free tier | Yes | Limited | No | No |
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.