Transfermarkt Football Agency Directory Scraper avatar

Transfermarkt Football Agency Directory Scraper

Pricing

from $8.00 / 1,000 record scrapeds

Go to Apify Store
Transfermarkt Football Agency Directory Scraper

Transfermarkt Football Agency Directory Scraper

Football agency directory from Transfermarkt: name, address, staff, licensing, and client roster. Email/phone/website included where the agency has published them publicly.

Pricing

from $8.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Build a directory of football player agencies from Transfermarkt: company identity, address, staff roster, licensing status, and the full list of players each agency represents — with email, phone, and website included on the agencies that have published them.


What You Get

  • Identity: agency name, street, ZIP/city, and country.
  • Contact: phone, fax, email, website, and social links — on the agencies that have published them. Many haven't; pair with website-contact-details-scraper or linkedin-bulk-email-finder to cover the rest.
  • Licensing: whether the agency has at least one officially licensed agent.
  • Staff: every listed employee, with role (e.g. Executive Director, Agent) and individual licensing status where shown.
  • Client roster: every player the agency represents, with age, current club, contract expiry, and market value.
  • Every field is flattened to plain strings/numbers/booleans for direct use in a spreadsheet or database.

Who Uses This

  • Sports agencies and player representatives — map the competitive landscape: who represents whom, and where.
  • Cold-outreach and business-development teams — build a prospect list of football agencies, then chain into a contact-enrichment actor for the ones missing published details.
  • Journalists and analysts — trace which agency represents a given roster of players, and how large each agency's book is.
  • Recruiters and scouts — find the right agency contact for a client relationship.

Input

Two ways to run it:

1. Direct lookup — you already know which agencies you want:

{
"agencyIds": ["12", "2048"],
"maxItems": 10
}

2. Full-directory enumeration (default) — walks the agency directory from the start:

{
"maxItems": 50
}
FieldTypeDefaultDescription
agencyIdsarray[]Specific Transfermarkt agency IDs to fetch directly (the numeric tail of a .../beraterfirma/berater/<id> URL). Leave empty to enumerate the full agency directory instead.
startIdinteger1Agency ID to begin full-directory enumeration from. Only used when agencyIds is empty.
maxAgencyIdinteger30000Safety-cap ceiling for full-directory enumeration. The crawl stops on its own well before this cap once it runs into a long stretch of unassigned IDs — raise it only if you want to push further.
maxItemsinteger10Maximum number of agency records to return. Keep this low for a test run — a full-directory run with no cap will walk the entire directory.

Find an agency ID by opening its Transfermarkt profile — it's the number at the end of the URL (.../beraterfirma/berater/20482048).


Output

{
"agency_id": "12",
"agency_name": "PRO Profil GmbH",
"profile_url": "https://www.transfermarkt.com/-/beraterfirma/berater/12",
"street": "Hörder Burgstr. 18",
"zip_location": "44263, Dortmund",
"country": "Germany",
"phone": "0231 9410920",
"fax": null,
"email": "info@proprofil.de",
"website": "http://www.proprofil.de",
"social_links": [],
"is_licensed": true,
"staff": ["Thomas Kroth | Executive Director | licensed", "Lukas Pfeifer"],
"client_count": 25,
"clients": ["Jonathan Burkardt | 26 | Eintracht Frankfurt | 2030 | €30.00m"],
"scraped_at": "2026-08-11T13:29:59.315Z"
}
FieldTypeDescription
agency_idstringTransfermarkt agency ID.
agency_namestringAgency (or individual agent) name.
profile_urlstringCanonical Transfermarkt profile URL.
streetstring or nullStreet address, when published.
zip_locationstring or null"ZIP, city" as shown on Transfermarkt, when published.
countrystring or nullRegistered country, when published.
phonestring or nullPhone number, when published.
faxstring or nullFax number, when published.
emailstring or nullContact email, when published.
websitestring or nullAgency website, when published.
social_linksarray of stringsSocial profile URLs, when published.
is_licensedbooleanWhether at least one agent at the company is officially licensed.
staffarray of stringsEach entry is "Name", "Name | Role", or "Name | Role | licensed" depending on what Transfermarkt shows for that person.
client_countnumberNumber of players in clients — the agency's book size.
clientsarray of stringsEach entry is "Player | Age | Club | Contract Until | Market Value".
scraped_atstringISO-8601 timestamp of when the record was captured.

A field reads null when Transfermarkt has not filled it in — not when the scraper failed to find it.


Notes

  • A full-directory run (no agencyIds, no maxItems cap) covers the whole directory in one pass.
  • client_count always equals clients.length for that record.