URL Resolver & Enricher
Pricing
from $1.00 / 1,000 results
URL Resolver & Enricher
Resolves redirects, strips tracking parameters, and enriches URLs with Open Graph metadata, language, and content type. Bulk-ready and proxy-capable.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Aleksandr Dvorzhitckii
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
URL Resolver & Enricher is a high-performance, cost-effective Apify Actor that expands shortened links, resolves complex multi-hop redirect chains, cleans invasive tracking parameters, and enriches URLs with page metadata (Open Graph tags, content type, language, favicon) — all in a single pass.
🎯 Why You Need This
When building web scrapers, data pipelines, CRM integrations, or marketing analytics datasets, you frequently encounter raw, "dirty" URLs:
- Shortened links:
bit.ly,t.co,tinyurl.com,youtu.be,amzn.tothat hide the real destination. - Tracking & Affiliate bloat: invasive query strings like
utm_*,fbclid,gclid, Amazon affiliate tags, social media referrer IDs that break deduplication and privacy. - Search engine wrappers:
google.com/url?q=...redirects that don't need real HTTP roundtrips. - Missing context: raw links lack title, preview image, language, or content classification.
URL Resolver & Enricher solves all of this automatically: it normalizes URLs, strips unwanted parameters, and turns links into rich, structured content cards.
✨ Key Features
- Lightweight & Fast (HEAD-first):
- Follows HTTP redirects using lightweight
HEADrequests without downloading page bodies. - Falls back to
GETonly when encountering HTMLmeta refreshor JavaScript redirects.
- Follows HTTP redirects using lightweight
- Instant Google Redirect Unpacking:
- Detects
google.com/url?q=...links and resolves them instantly in-memory with zero network overhead.
- Detects
- Deep Parameter Sanitization:
- Strips 180+ known tracking, analytics, and affiliate parameters:
- Google Analytics / Ads (
utm_*,gclid,gbraid,wbraid) - Meta / Facebook (
fbclid,fb_action_*,fb_source) - Social trackers (Twitter, TikTok, Reddit, Medium, LinkedIn)
- Affiliate & Marketplace tags (Amazon
tag,ref_,pd_rd_*,creative,qid, eBay, ShareASale)
- Google Analytics / Ads (
- Preserves all legitimate application parameters (e.g.
vfor YouTube videos, search queries, pagination).
- Strips 180+ known tracking, analytics, and affiliate parameters:
- Smart Metadata Enrichment:
- Downloads only the first 64 KB (configurable) of HTML to extract
<head>tags without loading full pages or media. - Extracts:
- Open Graph:
og:title,og:description,og:image,og:site_name,og:type - Page language from
<html lang>,og:locale, or linguistic heuristics - Inferred content type:
article,video,product,social,audio, orwebpage - Publication time (
article:published_time) - Website favicon
- Open Graph:
- Downloads only the first 64 KB (configurable) of HTML to extract
- Apify Residential Proxy Integration:
- One-click toggle (
use_proxy: true) routes requests through Apify Residential Proxies with optional country selection (proxy_country: "US").
- One-click toggle (
- Anti-Bot Browser Impersonation:
- Built-in support for TLS fingerprint mimicry (
curl_cffiChrome/Safari impersonation) to resolve antibot-protected websites (Cloudflare, Akamai).
- Built-in support for TLS fingerprint mimicry (
📥 Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | Single URL to process |
urls | array | — | List of URLs to process (automatically deduplicated) |
enrich | boolean | true | Extract Open Graph tags and page metadata |
use_proxy | boolean | false | Enable Apify Residential Proxy |
proxy_country | string | — | 2-letter ISO country code for proxy (e.g. US, DE, GB) |
concurrency | integer | 10 | Number of simultaneous concurrent requests (1–50) |
max_redirects | integer | 5 | Maximum redirect hops to follow per URL |
timeout_sec | integer | 15 | Request timeout per URL in seconds |
head_bytes | integer | 65536 | Maximum bytes to fetch for <head> parsing (default: 64 KB) |
impersonate | boolean | false | Use browser TLS fingerprint impersonation |
Example Input (INPUT.json)
{"urls": ["https://youtu.be/dQw4w9WgXcQ?feature=shared","https://www.google.com/url?q=https://www.apify.com/","https://www.amazon.com/dp/B08N5WRWNW?tag=myaffiliate-20&ref_=as_li_ss_tl","https://www.bbc.com/news/world-us-canada-68542388?at_medium=custom7"],"enrich": true,"use_proxy": false,"concurrency": 10}
📤 Output Dataset Format
Every resolved URL is pushed to the default Apify Dataset in structured format:
{"input_url": "https://youtu.be/dQw4w9WgXcQ?feature=shared","final_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","clean_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","http_status": 200,"redirect_chain": ["https://youtu.be/dQw4w9WgXcQ?feature=shared","https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"redirect_count": 1,"removed_params": ["feature"],"removed_count": 1,"og_title": "Rick Astley - Never Gonna Give You Up (Official Music Video)","content_type": "video","lang": "en"}
Output Schema Fields
input_url: The original input URL.final_url: The destination URL after following all redirect hops.clean_url: The destination URL with all tracking/affiliate parameters stripped.http_status: HTTP response status code (e.g.200,404,301).redirect_chain: Full list of intermediate URLs in the redirect chain.redirect_count: Total number of redirects followed.removed_params: List of query parameter names removed.removed_count: Number of removed query parameters.og_title: Page Open Graph title.og_description: Page Open Graph description.og_image: Primary preview image URL.og_site_name: Website name.og_type: Raw Open Graph type.content_type: Inferred category (article,video,product,social,audio,webpage).lang: Detected language code (e.g.en,ru,es).published_time: Article publication timestamp if available.favicon: Website favicon URL.fetch_error: Non-fatal error during enrichment (e.g.http_404,timeout).error: Fatal error during URL resolution.
💰 Monetization & Pricing
- Pay per event: $0.001 per resolved URL ($1.00 per 1,000 URLs).
- Only successfully resolved and enriched URLs are charged.
- Zero extra fees for uncharged or failed links.
🛠️ Usage via Apify API / Python Client
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"urls": ["https://t.co/example","https://bit.ly/example"],"enrich": True}run = client.actor("dvorzhik/url-resolver-enricher").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["clean_url"], item.get("og_title"))