How to Scrape Sortlist Agency Profiles and Budgets with Python
Description and use
A Python script uses the Apify Sortlist Scraper to extract structured agency data from the public Sortlist directory.
Problem
Manually evaluating agency partners across multiple service and country listings in Sortlist is tedious.
Outcome
The script retrieves up to the specified maxItems of agencies matching the criteria, applying post‑fetch filters, and outputs structured JSON records.
Workflow
- Install apify-client via pip
- Export APIFY_API_TOKEN to environment
- Instantiate ApifyClient with token
- Define run_input with services, countries, maxItems and optional filters (minRating, minReviews, minTeamSize, languages, locationContains)
- Call actor with client.actor("reventadata/sortlist-scraper").call(run_input=run_input)
- Wait for run to succeed
- Retrieve dataset items via client.dataset(run.default_dataset_id).list_items().items
- Iterate over items to use or export data
Evidence
By the end of this tutorial, you will have a working Python script that extracts public B2B digital agency directories from Sortlist into structured records: agency name, website, client rating, review counts, team size, office locations, languages, service budgets, and verified badges.
The Actor constructs the target URL (https://www.sortlist.com/s/web-application/belgium-be?page=1) and fetches the page.
In testing on Apify platform, direct HTTP requests without proxy succeeded reliably (25 of 25 listing pages).
- Record date: 2026-10-25T09:41:07.841Z