OrbTop

Marketing & Digital Agency Database — Sortlist

LEAD GENERATION

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, and plan on 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_number against a national company registry to build a roll-up target list in a fragmented services market.
  • Agencies tracking competitors — pull listing_position and listing_section per category to monitor where you and your rivals actually rank, sponsored placements aside.
  • Procurement and marketing teams — filter by budget_min/budget_max to 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

  1. Pick one or more service categories (or leave the field empty to cover all 90+).
  2. The scraper walks each category's full agency listing, page by page, until it runs out of pages or hits your maxItems cap.
  3. Every agency is deduplicated by its Sortlist ID as it's collected, so overlapping categories never produce repeat rows.
  4. 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 resumeCursor is no longer valid.
  • resumeCursor is 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 hiddenpaid_member/sponsored/plan are on every record, so organic ranking is something you can actually read off the data.