Marketing & Digital Agency Database — Sortlist
Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.
Marketing & Digital Agency Database — Sortlist Directory Scraper
Scrape the Sortlist agency directory for marketing, creative, and tech agencies across 90+ service categories. Returns company registration numbers, min/max project budgets, per-service work history, client reviews, awards, and the paid-placement flags that separate sponsored listings from organic rank.
Sortlist Agency Database Scraper Features
- Pulls the full agency record, not the card — registration number, ISO country, and both budget bounds as integers, none of which show up on the rendered listing.
- Covers 90+ Sortlist service categories: SEO, web development, branding, WordPress, Shopify, cybersecurity, AI, and more. Pick one category or crawl the whole taxonomy in a single run.
- Deduplicates every agency across categories on its stable Sortlist ID, so an agency tagged under five services shows up in your dataset exactly once.
- Returns a per-service work-count breakdown for each agency — how many projects they've shipped in each discipline, not just a list of tags.
- Flags
paid_member,sponsored, andplanon every record, so you can strip promoted placements and read the organic ranking on its own. - Captures reviews, awards, team size, and every office address (English plus the original locale) for firmographic screening.
Who Uses Sortlist Agency Data?
- M&A and PE associates — join
registration_numberagainst a national company registry to build a roll-up target list in a fragmented services market. - Agencies tracking competitors — pull
listing_positionandlisting_sectionper category to monitor where you and your rivals actually rank, sponsored placements aside. - Procurement and marketing teams — filter by
budget_min/budget_maxto shortlist agencies that fit a project's real range before the first call. - Sales teams selling into agencies — build a prospect list segmented by team size, service mix, and country, or feed it straight into a CRM.
- Market researchers — measure category density and service concentration (how many agencies specialize in, say, growth marketing vs. web development) across a live directory.
How Sortlist Agency Directory Scraper Works
- Pick one or more service categories (or leave the field empty to cover all 90+).
- The scraper walks each category's full agency listing, page by page, until it runs out of
pages or hits your
maxItemscap. - Every agency is deduplicated by its Sortlist ID as it's collected, so overlapping categories never produce repeat rows.
- Results land in your dataset as structured JSON — ready to export or pipe into whatever comes next.
Input
{
"expertises": ["seo", "web-development"],
"maxItems": 100
}
| Field | Type | Default | Description |
|---|---|---|---|
expertises |
array | (all categories) | Sortlist service category slugs to crawl (seo, branding, web-development, wordpress-development, ...). Leave empty to crawl all 90+ categories. |
maxItems |
integer | 10 | Maximum number of unique agencies to return, deduplicated across every requested category. |
To crawl a single category, pass just that slug:
{
"expertises": ["branding"],
"maxItems": 500
}
Resuming a large crawl
Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.
- You are not re-charged for records the earlier run already delivered.
- Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its
resumeCursoris no longer valid. resumeCursoris opaque — supply it unmodified.
Sortlist Agency Database Output Fields
{
"agency_id": "d3eba836-6623-406e-9361-0662342ac2ba",
"name": "VIERLESS GmbH",
"slug": "vierless-gmbh",
"tagline": "Achieve more.",
"website": "https://vierless.de/",
"profile_url": "https://www.sortlist.com/agency/vierless-gmbh",
"team_size": 10,
"budget_min": 100,
"budget_max": 1000000,
"registration_number": "HRB 94530",
"registration_country": "DE",
"founded_languages": ["de", "en"],
"hq_address": "Düsseldorf, Germany",
"services": [
{ "expertise_id": 66, "expertise_name": "Website Creation", "works_count": 62 },
{ "expertise_id": 79, "expertise_name": "SEO", "works_count": 62 }
],
"sectors": ["Marketing & Advertising", "Software & Computer Services", "Real Estate"],
"works_count": 62,
"reviews_count": 31,
"reviews_rating_total": 30.9375,
"score": 0,
"is_top_awarded": true,
"verified": true,
"claimed": true,
"trusted_partner": true,
"paid_member": true,
"sponsored": true,
"plan": "value_based",
"listing_expertise": "wordpress-development",
"listing_location": "global",
"listing_section": "organic",
"listing_position": 0,
"source": "sortlist.com",
"scraped_at": "2026-08-21T13:00:00.000Z"
}
| Field | Type | Description |
|---|---|---|
agency_id |
string | Stable Sortlist agency UUID — the dedupe key. |
name |
string | Agency name. |
slug |
string | Agency's Sortlist profile slug. |
tagline |
string | Short agency tagline. |
description / description_text |
string | Long-form agency description, raw HTML and stripped text. |
website |
string | Agency's own website URL. |
logo_url |
string | Agency logo image URL. |
profile_url |
string | Canonical Sortlist agency profile URL. |
team_size |
integer | Reported team size. |
budget_min / budget_max |
integer | Minimum and maximum project budget the agency accepts. |
registration_number |
string | Company registration / VAT number. |
registration_country |
string | ISO 3166-1 country of the registration number. |
founded_languages |
array | Working languages of the agency. |
hq_address / hq_address_localized |
string / object | Headquarters address in English, plus every locale variant. |
offices |
array | Every office the agency lists, English address plus localized sibling. |
services |
array | Per-service breakdown: { expertise_id, expertise_name, works_count }. |
sectors / sectors_localized |
array | Industry sectors the agency claims. |
works_count |
integer | Published portfolio case studies. |
reviews_count / reviews_rating_total |
integer / number | Review count and summed star score (divide for the average). |
recent_recommended_reviews_count |
integer | Recent reviews marked recommended. |
score |
number | Sortlist's internal ranking score. |
awards |
array | Awards won: { name, category, won_at }. |
is_top_awarded / verified / claimed / trusted_partner |
boolean | Trust and status flags. |
paid_member / sponsored / plan |
boolean / boolean / string | Commercial-relationship flags and subscription tier. |
listing_expertise |
string | Category slug this row was first discovered on. |
listing_location |
string | Always global — categories are crawled unfiltered by location. |
listing_section |
string | organic or manual (paid placement). |
listing_position |
integer | Rank position on the page this row was first discovered on. |
source / scraped_at |
string | Source site and scrape timestamp. |
FAQ
How do I scrape Sortlist agency data?
Sortlist Agency Directory Scraper needs no account and no API key. Give it one or more service categories — or leave the field empty — and it returns every agency in those categories, deduplicated, with full firmographic detail.
What data can I get from Sortlist?
Registration number and country, min/max project budget, per-service work counts, reviews, awards, team size, office addresses, and paid-placement flags — the fields Sortlist's own rendered cards leave out.
Can I filter by service category?
Yes. Pass one or more category slugs (seo, branding, web-development, and 90+ others)
in expertises. Leave it empty to crawl the full taxonomy in one run.
How much does Sortlist Agency Directory Scraper cost to run?
Pricing follows Apify's pay-per-event model — you're charged per agency record saved. Check the Pricing tab on this actor's page for the current per-record rate.
Does the data include which listings are paid placements?
Yes. paid_member, sponsored, and listing_section are on every record, so you can
separate Sortlist's sponsored placements from its organic ranking.
Need More Features?
Need custom fields, filters, or a different target site? File an issue or get in touch.
Why Use Sortlist Agency Directory Scraper?
- Fields the cards don't show — registration number, ISO country, and integer budget bounds turn a listing into a legal-entity-resolvable, budget-filterable dataset.
- Deduplicated by design — an agency tagged under ten categories still costs you one row, not ten, because dedup happens before anything is saved.
- Paid placements marked, not hidden —
paid_member/sponsored/planare on every record, so organic ranking is something you can actually read off the data.