B-Corporation ESG Data Scraper

B-Corporation ESG Data Scraper

Scrapes B-Corporation ESG data from bcorporation.net. Retrieves either paginated lists of certified companies or detailed profiles with assessment scores, demographics, and locations

DEVELOPER_TOOLSLEAD_GENERATIONAUTOMATIONApify

B Corporation Data Scraper

This Apify actor scrapes business data from https://bcorporation.net. You can fetch either a paginated list of certified B Corporations or detailed information for a single company.

Table of Contents

Input Parameters

The input parameters are defined as a JSON object with the following fields:

List Mode

1{
2    "mode": "index",
3    "page": 1,
4    "pageSize": 10 // max page Size is 250
5}

Single Company Mode

1{
2    "mode": "company",
3    "url": "company-name-slug"  // or full URL to company profile
4}

Output Structure

The output structure varies depending on the mode selected:

List Mode Output

1interface IndexResponse {
2  companies: CompanyListItem[];
3}
4
5interface CompanyListItem {
6  id: string;
7  name: string;
8  description: string;
9  slug: string;
10  industry: string;
11  sector: string;
12  size: string;
13  isCertified: boolean;
14  latestVerifiedScore: string;
15  initialCertificationDateTimestamp: number;
16  companyLogo?: string;
17  
18  // Location information
19  hqCity: string;
20  hqCountry: string;
21  hqProvince?: string;
22  hqPostalCode?: string;
23  cities: string[];
24  countries: string[];
25  provinces: string[];
26
27  // Additional metadata
28  demographicsList: string[];
29  websiteKeywords?: string;
30}

Company Mode Output

1interface CompanyDetail {
2  id: string;
3  name: string;
4  slug: string;
5  description: string;
6  sector: string;
7  industry: string;
8  size: string;
9  website?: string;
10  companyLogo?: string;
11  lifestyleLogo?: string;
12  
13  // Demographics
14  demographics: {
15    womenOwned: boolean;
16    minorityOwned: boolean;
17    lgbtqOwned: boolean;
18    blackOwned: boolean;
19    employeeOwned: boolean;
20    familyOwned: boolean;
21    veteranOwned: boolean;
22    indigenousOwned: boolean;
23    personWithDisabilityOwned: boolean;
24    immigrantOwned: boolean;
25  };
26
27  // Location information
28  hqCountry: string;
29  hqProvince: string;
30  hqCity: string;
31  hqPostalCode: string;
32  countries: string[];
33  provinces: string[];
34  cities: string[];
35
36  // B Corp specific data
37  latestVerifiedScore: number;
38  initialCertificationDateTimestamp: number;
39  websiteKeywords?: string;
40  
41  // Assessment details
42  assessments: Array<{
43    overallScore: number;
44    ratingDate: number;
45    fullTimeWorkers: number;
46    impactAreas: Array<{
47      id: number;
48      name: string;
49      score: number;
50      impactTopics: Array<{
51        id: number;
52        name: string;
53        score: number;
54        isIbm: boolean;
55      }>;
56    }>;
57  }>;
58}

Example Company Response

1{
2  "id": "example-id-123",
3  "name": "Example Sustainable Solutions",
4  "description": "A technology company dedicated to sustainable solutions...",
5  "sector": "Service with Significant Environmental Footprint",
6  "industry": "Technology & Software",
7  "size": "50-249",
8  "website": "www.example.com",
9  "latestVerifiedScore": 95.5,
10  "demographics": {
11    "womenOwned": false,
12    "minorityOwned": false,
13    "lgbtqOwned": false,
14    "employeeOwned": true
15  },
16  "hqCity": "Austin",
17  "hqCountry": "United States",
18  "hqProvince": "Texas",
19  "assessments": [
20    {
21      "overallScore": 95.5,
22      "fullTimeWorkers": 75,
23      "impactAreas": [
24        {
25          "name": "Governance",
26          "score": 18.2,
27          "impactTopics": [
28            {
29              "name": "Mission & Engagement",
30              "score": 4.5,
31              "isIbm": false
32            }
33          ]
34        }
35      ]
36    }
37  ]
38}

Usage

  1. Choose operation mode: Decide whether you want to scrape the company index or a single company profile
  2. Configure input: Create a JSON file with your desired input parameters (see Input Parameters section)
  3. Run the actor: Execute the Apify actor with your JSON input
  4. Process results: Access the structured data from Apify's storage

Example

List Mode Example

1{
2  "mode": "index",
3  "index": {
4    "page": 1,
5    "pageSize": 25 // max page Size is 250
6  }
7}

Single Company Example

1{
2  "mode": "company",
3  "company": {
4    "url": "smith-limited"
5  }
6}

Disclaimer

This actor is designed for legitimate data collection from B Lab's public B Corporation directory. Please ensure your usage complies with bcorporation.net's terms of service and robots.txt policies.

Frequently Asked Questions

Is it legal to scrape job listings or public data?

Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.

Do I need to code to use this scraper?

No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.

What data does it extract?

It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.

Can I scrape multiple pages or filter by location?

Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.

How do I get started?

You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!