nexxt-change Scraper - Businesses for Sale & Buyers avatar

nexxt-change Scraper - Businesses for Sale & Buyers

Pricing

from $2.10 / 1,000 listings

Go to Apify Store
nexxt-change Scraper - Businesses for Sale & Buyers

nexxt-change Scraper - Businesses for Sale & Buyers

Scrape businesses for sale and buyers looking for a company from nexxt-change, Germany's official succession marketplace: price, revenue and employee bands, region, industry and full description. Filter by region, industry, size or new listings. Export to Excel, CSV, JSON or API.

Pricing

from $2.10 / 1,000 listings

Rating

0.0

(0)

Developer

Shivam Prajapati

Shivam Prajapati

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

nexxt-change Scraper - Businesses for Sale & Buyers in Germany

Get both sides of Germany's business succession market from nexxt-change.org, the official succession marketplace backed by the German Federal Ministry for Economic Affairs and KfW: about 6,400 companies for sale and 2,300 buyers looking for a company, with price, revenue and employee bands, region, industry and the full description. Filter by region (down to county), industry, size, price or new listings, and export to Excel, CSV, JSON or the API.

Actively maintained. Last update: 2026-11-04. Every release passes 1,200+ automated tests on saved nexxt-change pages plus a check against the live site, and Apify test-runs it every day.

Auf Deutsch: Unternehmensnachfolge-Börse nexxt-change – Verkaufsangebote und Kaufgesuche, Unternehmen kaufen, Firma kaufen, Nachfolger finden, als Excel, CSV oder API.

What can you use it for?

  • Find acquisition targets. Search funders, private equity, family offices and entrepreneurs can screen thousands of German SMEs for sale by region, industry, revenue and price band.
  • Find buyers for a business (matchmaking). M&A advisors, business brokers, chambers and banks can see who is actively looking for a company in a region and industry, with budget band, and approach them through nexxt-change.
  • Supply vs. demand research. Compare how many companies are for sale and how many buyers are searching, per industry and region.
  • Daily deal alerts. Schedule it with Only listings from the last N days = 1 and send new sale offers or buy requests to Google Sheets, Slack or email.

What data do you get?

Every row is either a company for sale (listingType = sale) or a buyer looking for a company (listingType = buy). Fields marked details are filled when Open each listing for full details is on (the default).

FieldWhat it is
listingIdnexxt-change listing ID
listingTypesale (company for sale) or buy (buyer looking for a company)
referenceThe listing's reference code (Chiffre), e.g. A-534867 (details)
urlLink to the listing
titleHeadline (German)
dateListing date (new or updated), YYYY-MM-DD
statusnew or updated when the search results mark it
advertiserTypeOwner/company (Privatperson/Firma) or broker (Makler) (details)
shortDescriptionShort description
descriptionFull description (details)
locationsRegions as "State > District > County". Buyers often list several
stateGerman state, when all regions are in one state
districtAdministrative district, for single-region listings
countyCounty or city, for single-region listings
industriesIndustries as "Group > Industry". Buyers often list several
industryFirst industry
employeesRangeEmployee band, e.g. "6 - 10 Beschäftigte" (details)
employeesMin / employeesMaxThe same band as numbers (details)
revenueRangeAnnual revenue band, e.g. "über 250 - 500 Tsd. Euro" (details)
revenueMinEur / revenueMaxEurThe same band in EUR (details)
priceRangeAsking price band (sale) or budget band (buy) (details)
priceMinEur / priceMaxEurThe same band in EUR (details)
internationalActivityActive internationally (details)
hasImageListing has a photo
imageUrlPhoto URL (details)
exposeUrlDownloadable exposé (PDF), when the seller provides one (details)
hasDetailstrue if the listing page was opened for full details
foundOnThe search page where the listing was found
scrapedAtWhen it was scraped (UTC)

Open-ended bands have an empty maximum: "über 2,5 Mio. Euro" gives priceMinEur 2500000 and priceMaxEur null.

Privacy

nexxt-change listings are anonymous: they show a reference code, never a name, and contact goes through nexxt-change's own form. This scraper never reads the contact tab, and it removes any e-mail address, phone number or web link that a poster typed into the title or description (replaced with [removed]). You get market data, not personal data.

Example result

{
"listingId": "408026",
"listingType": "sale",
"reference": "AC-A-1574-EX",
"title": "Unternehmensnachfolge: Know-how der Göllner Maschinenbau GmbH sichern",
"date": "2026-10-29",
"advertiserType": "Privatperson/Firma",
"locations": ["Nordrhein-Westfalen > Köln > Städteregion Aachen"],
"state": "Nordrhein-Westfalen",
"industry": "Verarbeitendes Gewerbe > Maschinenbau",
"employeesRange": "bis 5 Beschäftigte",
"revenueRange": "über 250 - 500 Tsd. Euro",
"revenueMinEur": 250000,
"revenueMaxEur": 500000,
"priceRange": "über 50 - 250 Tsd. Euro",
"priceMinEur": 50000,
"priceMaxEur": 250000,
"internationalActivity": true,
"exposeUrl": "https://www.nexxt-change.org/cae/servlet/pdfs/629585/expose.pdf",
"hasDetails": true
}

How to use it

  1. Choose Listing types: companies for sale, buyers, or both.
  2. Optionally pick Regions, Industries, a Keyword or size/price bands.
  3. Set Maximum listings, click Start, and download the results.

Leave everything empty and you get the newest companies for sale. With several searches (e.g. 3 regions, or sale + buy), Maximum listings is shared fairly between them.

Input options

OptionWhat it does
listingTypessale (companies for sale), buy (buyers looking for a company), or both
locationsGerman states, districts or counties (or abroad)
industriesIndustry groups or single industries
keywordFree-text search, e.g. "Bäckerei" or "Software"
excludeKeywordSkip listings containing this word
newListingsDaysOnly listings dated in the last N days (0 = all)
revenueRangesAnnual revenue bands
priceRangesPrice bands (for buyers: their budget)
employeeRangesEmployee bands
advertiserTypesOwner/company, broker or foreign direct investor
onlyWithExposeOnly listings with a downloadable exposé
startUrlsnexxt-change search URLs or single listing URLs
includeDetailsOpen each listing for the full set of fields (default on). Turn off for a fast, cheaper run
onlyNewSkip listings that earlier runs of the same search returned: you get and pay only for ones you haven't had (the first run works as usual)
maxItemsStop after this many listings
maxConcurrencyPages loaded at the same time (keep low to be polite)

Fast mode vs. full details

  • Full details (default): opens every listing. Gives all fields above.
  • Fast mode (includeDetails off): reads only the search results, about 5x cheaper. You get title, date, status, region(s), industry and short description.

How much does it cost?

You pay $3.00 per 1,000 listings returned (plus a tiny $0.00005 per run start). Platform usage is included.

ListingsCost
100$0.30
1,000$3.00
All ~8,700 listings (sale + buy)about $26

Apify's free plan gives you $5 of credit every month, which covers about 1,600 listings. Set a spending limit on any run and the scraper stops exactly there.

Use it via API, on a schedule, or with your tools

  • Schedule it daily with Only listings from the last N days = 1 to get every new listing automatically.
  • Only new listings: turn it on in a scheduled run or task and each run returns only listings you haven't had yet, so you never pay twice for the same listing.
  • Integrations: send results to Google Sheets, Slack, email, Zapier, Make or a webhook.
  • API: run it from your own code and download results as JSON, CSV or Excel.
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("pshivam/nexxt-change-scraper").call(run_input={"listingTypes": ["sale", "buy"], "maxItems": 200})
for listing in client.dataset(run["defaultDatasetId"]).iterate_items():
print(listing["listingType"], listing["title"], listing["priceRange"], listing["state"])

Use it in Clay, n8n, Make or Zapier

Actor: pshivam/nexxt-change-scraper. Paste this input and change the filters to yours:

{"listingTypes": ["sale"], "newListingsDays": 7, "onlyNew": true, "maxItems": 500}
  • Clay: create a table from an Apify source to pull in the results of a scheduled run of this Actor (it refreshes every 24 hours by default), or use the Run Apify Actor enrichment and paste the input.
  • n8n: add the Apify node, choose Run Actor and get dataset items, pick this Actor and paste the input.
  • Make: use Run an Actor with Run synchronously on, then Get Dataset Items with the run's dataset ID.
  • Zapier: schedule this Actor in Apify, then use the Finished Actor Run trigger and Fetch Dataset Items. (Zapier stops waiting for Run Actor after 30 seconds, and a run usually takes about a minute.)

Good to know

  • Filters run on nexxt-change itself, so you only pay for listings that match. Regions and industries are searched one at a time and combined, with duplicates removed.
  • Bands, not exact numbers. nexxt-change publishes revenue, price and employee figures as bands; we give you the band text and its numeric range.
  • Listings are in German. Field names and values like listingType are in English.
  • Removed listings are skipped and replaced with the next one.

This scraper vs. the alternatives

This scraperCopying from nexxt-change by handBuilding your own scraper
100 listings with full detailsAbout 1 minuteHours (open and copy each page)Days to build, then upkeep
OutputExcel, CSV, JSON or API; 32 fields per listingA spreadsheet you typeWhatever you code
Price, revenue and employee bandsBands plus numeric min/max in EURRetyped by handYou write the parsing
Only new listings each dayBuilt in (onlyNew)Compare lists yourselfYou build it
When the site changesWe fix it; Apify test-runs it daily-You fix it
Seller contact detailsRemovedYour responsibilityYour responsibility
Cost$3.00 per 1,000 listingsYour timeYour time plus hosting

FAQ

How many listings are there?

About 6,400 companies for sale and 2,300 buyers looking for a company, across all 16 German states.

How much does it cost?

$3.00 per 1,000 listings (less on paid Apify plans), so 100 cost $0.30 and all of about 8,700 cost about $26.

What's the difference between sale offers and buy requests?

Sale offers (Verkaufsangebote) are companies looking for a successor or buyer. Buy requests (Kaufgesuche) are people or companies looking to buy a business, with their target region, industry and budget.

This scraper reads public listing pages at a polite speed and returns anonymous market data; contact details typed into listings are removed. You are responsible for how you use the data; check the site's terms for your use case.

Can I contact a seller or buyer?

Use the listing url: nexxt-change's own contact form forwards your message to the advertiser.

How do I get only new listings every day?

Save your search as a task, turn on Only new listings and schedule it daily. Each run then skips the listings earlier runs returned, so you get and pay only for ones you haven't had. Tip: set Maximum listings above the number of listings your search has, so the first run gets them all and later runs return just the new ones.

Ready-made examples

Open one, click Try for free, and get data in about a minute:

More business-for-sale scrapers

Other scrapers