MIX-Basic
8 000 IP · 500–900 threads
dès 50 $ par mois
Un projet : un crawl jusqu'à cent mille URL, la collecte de mots-clés, une vérification des liens par semaine.
Un crawler parcourt un site en centaines de threads, et tout serveur finit par lui répondre 429. Un pool MIX jusqu'à 25 000 IP répartit ces threads sur des adresses différentes, si bien que Screaming Frog, Netpeak Spider, A-Parser et Key Collector tournent à pleine vitesse au lieu d'un thread avec des pauses. Une heure de test coûte 1 $.

Choisissez un forfait, puis déplacez la durée et le nombre de threads. Les threads ici sont ceux que vous réglez dans le crawler : 1 200 threads, ce sont 1 200 URL que l'outil charge à la fois. Le curseur est sur cette valeur.
MIX-Basic couvre l'audit d'un projet : un crawl de 50 à 100 mille URL dans Screaming Frog ou Netpeak Spider, la collecte de mots-clés dans Key Collector, une vérification ponctuelle des liens morts. 8 000 adresses lèvent les limites du serveur, et 500 threads correspondent à ce qu'on règle habituellement dans un crawler.
MIX-Business est pensé pour un pôle SEO et une agence : plusieurs projets par semaine, Sitebulb et SEO PowerSuite en parallèle, A-Parser pour les suggestions et les SERP, ScrapeBox pour les vérifications en masse. 16 000 adresses et 1 200 threads par défaut : c'est ce qu'on règle quand le crawl doit finir en une soirée.
MIX-Elite est fait pour votre propre service ou une grosse équipe interne : des millions d'URL par crawl, logs et crawling en même temps, vos propres vérificateurs d'indexation et de pagination. Un pool de 25 000 adresses et des threads jusqu'à 9 900 — les autres forfaits n'atteignent pas ces chiffres.
Un thread est une connexion simultanée. Plus de threads — plus de travail dans le même temps.
$50 pour 1 moissans supplément pour les threads
économie $250 vs journalierUn thread est une connexion simultanée. Plus de threads — plus de travail dans le même temps.
$100 pour 1 mois+ $20 pour les threads
économie $420 vs journalierUn thread est une connexion simultanée. Plus de threads — plus de travail dans le même temps.
$150 pour 1 moissans supplément pour les threads
économie $450 vs journalierL'accès est lié à l'ordinateur ou au serveur lui-même, donc dans les réglages proxy de Screaming Frog et Netpeak les champs identifiant et mot de passe restent vides. Vous pouvez déclarer jusqu'à dix machines.
Il renvoie un fichier texte au format adresse et port, un proxy par ligne. Screaming Frog et Netpeak attendent la même liste mais en fichier : enregistrez la réponse en .txt et indiquez-le dans les réglages.
A-Parser et ScrapeBox relisent le lien d'eux-mêmes et en prennent toutes les adresses. Key Collector, Sitebulb et SEO PowerSuite lisent un fichier de liste, rafraîchissez-le donc par script toutes les 10 minutes, exemple ci-dessous.
500 sur Basic, 1 000 sur Business, 1 500 sur Elite sans option. Chaque port est un proxy distinct et un thread du crawler occupe un port : mettre dans Screaming Frog plus de threads que de ports n'apporte rien.
SOCKS5 est pris par Screaming Frog, A-Parser, ZennoPoster et ScrapeBox. Netpeak Spider, Key Collector et SEO PowerSuite passent en HTTP(S). Les deux protocoles sont sur le même port, on change seulement dans l'outil.
Voici comment le pool se branche sur un audit à vous. Le script lit les adresses de urls.txt, charge chaque page via un proxy pris au hasard et enregistre dans audit.csv le code de réponse, la redirection, le title, le h1, la description, le canonical et le robots : la même chose qu'un crawler affiche, mais selon vos règles. Remplacez PROXY_LIST_URL_FROM_DASHBOARD par le lien de votre espace client.
# pip install requests[socks]
import csv, random, re, time, requests
from concurrent.futures import ThreadPoolExecutor
PROXY_LIST_URL = "PROXY_LIST_URL_FROM_DASHBOARD"
REFRESH_SEC = 600
THREADS = 1200
HEADERS = {"User-Agent": "Mozilla/5.0 (compatible; SeoAudit/1.0)", "Accept-Language": "en-US,en;q=0.9"}
_pool, _loaded = [], 0
def pool():
global _pool, _loaded
if time.time() - _loaded > REFRESH_SEC:
text = requests.get(PROXY_LIST_URL, timeout=15).text
_pool = [line.strip() for line in text.splitlines() if ":" in line]
_loaded = time.time()
return _pool
def first(pattern, html):
match = re.search(pattern, html, re.S | re.I)
return re.sub(r"\s+", " ", re.sub(r"<[^>]+>", " ", match.group(1))).strip() if match else ""
def audit(url, tries=3):
for _ in range(tries):
proxy = random.choice(pool())
try:
r = requests.get(url, headers=HEADERS, timeout=20, allow_redirects=False,
proxies={"http": f"socks5h://{proxy}", "https": f"socks5h://{proxy}"})
except requests.RequestException:
continue
html = r.text if "html" in r.headers.get("Content-Type", "") else ""
return {
"url": url,
"status": r.status_code,
"redirect": r.headers.get("Location", ""),
"title": first(r"<title[^>]*>(.*?)</title>", html),
"h1": first(r"<h1[^>]*>(.*?)</h1>", html),
"description": first(r'<meta[^>]+name="description"[^>]+content="([^"]*)"', html),
"canonical": first(r'<link[^>]+rel="canonical"[^>]+href="([^"]*)"', html),
"robots": first(r'<meta[^>]+name="robots"[^>]+content="([^"]*)"', html),
}
return {"url": url, "status": 0, "redirect": "", "title": "", "h1": "",
"description": "", "canonical": "", "robots": ""}
urls = [line.strip() for line in open("urls.txt") if line.strip()]
fields = ["url", "status", "redirect", "title", "h1", "description", "canonical", "robots"]
with open("audit.csv", "w", newline="", encoding="utf-8") as out:
writer = csv.DictWriter(out, fieldnames=fields, delimiter=";")
writer.writeheader()
with ThreadPoolExecutor(THREADS) as executor:
for row in executor.map(audit, urls):
writer.writerow(row)
print(row["status"], row["url"], row["title"][:60])
8 000 IP · 500–900 threads
dès 50 $ par mois
Un projet : un crawl jusqu'à cent mille URL, la collecte de mots-clés, une vérification des liens par semaine.
16 000 IP · 1 000–1 400 threads
dès 100 $ par mois
Agence et pôle SEO : plusieurs crawlers à la fois, collecte de suggestions et vérifications en masse sur un seul pool.
25 000 IP · 1 500–9 900 threads
dès 150 $ par mois
Service propre et grosse équipe interne : des millions d'URL par crawl, threads jusqu'à 9 900, à toute heure.
import csv, io, requests
CSV_URL = "PROXY_LIST_URL_FROM_DASHBOARD.csv"
TAKE = 1200
OUT_FILE = "proxies_fast.txt"
text = requests.get(CSV_URL, timeout=15).text
rows = list(csv.DictReader(io.StringIO(text), delimiter=";"))
rows.sort(key=lambda r: int(r["speed"]), reverse=True)
picked = [f"{r['ip']}:{r['port']}" for r in rows[:TAKE]]
with open(OUT_FILE, "w") as f:
f.write("\n".join(picked) + "\n")
print(f"{len(picked)} proxies saved to {OUT_FILE}")
Le reste sur le service est réuni dans la FAQ générale, tous les forfaits avec les prix sur la page d'accueil.
Lancez votre crawler sur le pool pendant une heure, regardez la vitesse de crawl, puis choisissez la durée. Sur les forfaits dès 3 jours, le reste revient sur votre solde.
Tester les proxys pour 1 $