Business Address Scraper avatar

Business Address Scraper

Pricing

from $1.35 / 1,000 business addresses

Go to Apify Store
Business Address Scraper

Business Address Scraper

Find physical business addresses published on company websites. Check submitted domains and URLs plus linked same-site HTML pages, then save each accepted address with its source URL, evidence text, and available address fields.

Pricing

from $1.35 / 1,000 business addresses

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

2

Monthly active users

8 days ago

Last modified

Share

🏢 Business address data from company websites

Business Address Scraper is for sales teams, lead researchers, developers, and operations teams that need physical business addresses from public company websites. Submit domains or URLs and get one dataset row per accepted address, with the source page, evidence text, and available parsed fields so you can check each address before using it.

📍 Address rows with source proof

Each saved row is one accepted physical address. It keeps the normalized input domain and seed URL, the exact source page, the full address text, parsed fields when available, a source type, a confidence level, and evidence text. If the same source address is found again, the first eligible match is kept.

Missing address parts are left out when the website does not show them clearly. The Actor does not fill them from outside sources.

▶️ Check linked site pages

  1. Add one or more public company domains or website URLs.
  2. Keep the default proxy settings unless a site needs a different setup.
  3. Run the Actor and open the default dataset.
  4. Review the source URL and evidence text before legal, compliance, or other high-risk use.

The Actor checks each submitted website and linked same-site HTML pages. Pages that are not linked from a submitted page may be missed. It skips non-HTML resources such as PDFs and images. It does not use private pages, third-party address databases, LLM enrichment, or store-locator form crawling. Other submitted sites and independent pages can continue when a linked resource cannot be checked.

⚙️ Input

The form has no public result-limit field. It checks the submitted websites and the linked same-site HTML pages it can reach during the run.

Input fields

FieldTypeWhat it does
websitesarray of stringsRequired list of public company domains or URLs to use as crawl seeds. Clean domains and full URLs are accepted.
proxyConfigurationobject or nullOptional proxy settings for loading submitted websites and linked same-site HTML pages. The form defaults to the Apify proxy with the US proxy country.
proxyConfiguration.useApifyProxybooleanTurns the Apify proxy on or off when proxy settings are provided.
proxyConfiguration.apifyProxyCountrystringSelects the Apify proxy country when proxy settings are provided.

Input example

This example is copied from a successful current-beta run using the prefilled website and default proxy settings.

{
"websites": [
"stripe.com"
],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyCountry": "US"
}
}

🧾 Output

The results output is a link to the default dataset. Every dataset row uses the same shape, and parsed address parts are present only when the source shows them clearly.

Output fields

FieldTypeWhat it does
resultsstringLink to the default dataset of saved business-address rows.
domainstringNormalized website domain associated with the address.
seedUrlstringURL used to start the crawl for the submitted website.
sourceUrlstringExact page where the address was found.
fullAddressstringComplete address text shown by the source page.
streetAddressstring, when availableStreet address when the source shows it clearly.
citystring, when availableCity or locality when the source shows it clearly.
regionstring, when availableState, region, or province when the source shows it clearly.
postalCodestring, when availablePostal or ZIP code when the source shows it clearly.
countrystring, when availableCountry when the source shows it clearly.
sourceTypestringSource kind: structured-data, map-link, or visible-text.
confidencestringAddress confidence: high, medium, or low.
evidenceTextstringShort source-backed text that supports the address.

Genuine visible-text row

This complete row came from a successful current-beta run. The source did not provide a country field, so that optional field is absent.

{
"domain": "arquidiocesismexico.org.mx",
"seedUrl": "https://arquidiocesismexico.org.mx/2024/01/12/parroquia-de-los-santos-reyes-tor/",
"fullAddress": "Calle de Durango 90 Col, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX",
"streetAddress": "Calle de Durango 90 Col",
"city": "Ciudad de México",
"region": "CDMX",
"postalCode": "06700",
"sourceUrl": "https://arquidiocesismexico.org.mx/2024/01/12/parroquia-de-los-santos-reyes-tor/",
"sourceType": "visible-text",
"confidence": "medium",
"evidenceText": "Calle de Durango 90 Col, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX"
}

Genuine map-link row

This complete row from the same run shows a map-link source. The source supplied an address but no parsed city, region, postal code, or country.

{
"domain": "arquidiocesismexico.org.mx",
"seedUrl": "https://arquidiocesismexico.org.mx/2024/01/12/parroquia-de-los-santos-reyes-tor/",
"fullAddress": "Avenida Río Consulado 3000",
"streetAddress": "Avenida Río Consulado 3000",
"sourceUrl": "https://arquidiocesismexico.org.mx/2024/01/12/parroquia-de-los-santos-reyes-tor/",
"sourceType": "map-link",
"confidence": "high",
"evidenceText": "https://www.google.com/maps/place/Parroquia+de+los+Santos+Reyes/@19.4393807,-99.0854,15z/data=!4m6!3m5!1s0x85d1fbf68f91d4b1:0xb2b823da4b51d6d4!8m2!3d19.4393807!4d-99.0854!16s/g/1tg5vd43?entry=ttu"
}

💳 Pricing

This Actor uses tiered pay-per-event pricing. A run-start charge applies when the Actor begins, and the number of start charges depends on Actor memory. Each accepted address saved to the dataset creates one primary dataset-item charge. A run with no accepted address rows creates no dataset-item charges. See the Pricing panel for current rates.

Buyer-facing events

Run start

At least one charge applies when the Actor starts; the number of charges depends on Actor memory.

Business address

One physical business address found on a submitted website or its linked same-site HTML pages and saved to your dataset.

🔌 Integrations

Review results in Apify Console, read the default dataset through the Apify API, export JSON, CSV, or Excel, schedule repeat runs, or send completed run data to webhooks and supported Apify integrations.

❓ FAQ

Can it find an address on a linked page?

Yes. The Actor checks same-site HTML pages linked from each submitted website and saves addresses supported by those pages.

What happens if one linked resource cannot be checked?

Independent work for other submitted websites and pages can continue. Only addresses supported by pages the Actor can check are saved.

Does it use Google Maps, LinkedIn, or outside databases?

No. It reads submitted-site content. A map link found on that site can be classified as a source, but the Actor does not query outside address databases.

Does it return one row per website?

No. It saves one row per accepted physical address, so one website can produce multiple rows when it publishes multiple distinct addresses.

What happens when the same address appears again?

The first eligible occurrence is saved. Later matches are ignored and do not replace the saved source page or evidence text.

What if part of an address is missing?

The missing field is left out when the source does not show that part clearly. The Actor does not guess or fill it from outside data.

Can I submit a domain instead of a full URL?

Yes. Clean domains such as example.com and full website URLs are accepted. A clean domain is normalized to a website URL for the crawl.

Does it read PDFs or store-locator forms?

No. The Actor checks same-site HTML pages only. It does not parse PDFs or crawl JavaScript-only store-locator forms.

What happens when no address is found?

The run can finish successfully, and that website produces no address row.

📝 Changelog

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré