bcorporation APIbcorporation.net ↗
Search and retrieve public profiles of Certified B Corporations including impact scores, certification dates, industry, and headquarters data via 2 endpoints.
What is the bcorporation API?
The bcorporation.net API exposes 2 endpoints for querying the official B Corp directory maintained by B Lab. Use search_companies to find certified companies by name, industry, country, or keyword, and get_company to pull a full profile including B Impact scores across Governance, Workers, Community, and Environment areas, certification dates, operating locations, and company size.
curl -X GET 'https://api.parse.bot/scraper/141970e4-6335-45e3-817f-5e80c18aa6c5/search_companies?page=2&query=coffee&per_page=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over the B Corp directory. Matches against company name, description, keywords, location, industry, and sector. Optionally filter by headquarters country or industry. Results are ordered by relevance when a query is provided, or newest-first when browsing all companies. Each result includes certification status, date, overall B Impact score, headquarters location, and operating countries. Paginated via page (1-based, default 1) and per_page (default 25, max 250); total is the directory's count of matching companies. A query with no matches returns an empty companies array.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| query | string | Search keyword(s) matched against company name, description, website keywords, location, industry, and sector. Empty string or omitted returns all companies. |
| country | string | Filter by headquarters country name exactly as listed in the directory (e.g. 'United States', 'United Kingdom', 'Netherlands The'). |
| industry | string | Filter by industry name exactly as listed in the directory (e.g. 'Apparel', 'Food products', 'Software publishing and SaaS platforms'). |
| per_page | integer | Number of results per page (1-250). |
{
"type": "object",
"fields": {
"page": "integer — current page number",
"total": "integer — total number of matching companies",
"per_page": "integer — results per page",
"companies": "array of company summary objects (id, name, slug, description, industry, sector, hq_city, hq_province, hq_country, countries, size, is_certified, certification_date, latest_verified_score, company_logo, demographics)"
},
"sample": {
"data": {
"page": 2,
"total": 268,
"per_page": 5,
"companies": [
{
"id": "thread-coffee-roasters",
"name": "Thread Coffee Roasters",
"size": "1-9",
"slug": "thread-coffee-roasters",
"sector": "Manufacturing",
"hq_city": "Baltimore",
"industry": "Food products",
"countries": [
"United States"
],
"hq_country": "United States",
"description": "Thread Coffee started in 2012 as a women-and-queer owned worker coop. They are centered around transparency, solidarity, dignity.",
"hq_province": "Maryland",
"company_logo": "https://s3.amazonaws.com/blab-impact-published-production/pjIBvw7h8zhvjveUwm5wtVrQ7SVEkXGu",
"demographics": [],
"is_certified": true,
"certification_date": "2021-01-15",
"latest_verified_score": "100.7"
},
{
"id": "truestart-coffee",
"name": "TrueStart Coffee",
"size": "1-9",
"slug": "truestart-coffee",
"sector": "Wholesale/Retail",
"hq_city": "Bristol",
"industry": "Beverages",
"countries": [
"United Kingdom"
],
"hq_country": "United Kingdom",
"description": "TrueStart Coffee makes absolutely delicious, healthier coffee to make you feel amazing.",
"hq_province": "City of Bristol",
"company_logo": "https://s3.amazonaws.com/blab-impact-published-production/0t9HA5xLe2HKEDf813GjTa50gVLUVKZk",
"demographics": [],
"is_certified": true,
"certification_date": "2021-11-08",
"latest_verified_score": "100.9"
}
]
},
"status": "success"
}
}About the bcorporation API
Endpoints
The API provides two endpoints covering the full public B Corp directory. search_companies accepts free-text query strings matched against company name, description, website keywords, location, industry, and sector. Results can be narrowed with country (e.g. 'United States', 'United Kingdom') and industry (e.g. 'Apparel', 'Software publishing') filters. Pagination is controlled via page and per_page (1–250 results per page). The response includes a total count and an array of company summary objects — useful for building filtered lists or running bulk exports of certified companies.
Company Profiles
get_company takes a slug (returned in search results, e.g. 'patagonia-inc') and returns the full directory profile. Response fields include name, size (employee count range), sector, industry, hq_city, website, cities, and countries representing all operating locations. Critically, it returns the overall B Impact Score and per-area scores for Governance, Workers, Community, and Environment — the core certification data that B Lab publishes for each company.
Data Scope and Freshness
Coverage is limited to companies that hold active or historical certification through B Lab's assessment process. The directory reflects the public-facing profile data as B Lab maintains it, including certification status and dates. Companies with no listed website return null for the website field. Industry and country filter values must match the directory's exact taxonomy — check values returned in search results before constructing filter queries.
The bcorporation API is a managed, monitored endpoint for bcorporation.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bcorporation.net changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official bcorporation.net API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a filterable map of Certified B Corps by country and industry using
countries,hq_city, andindustryfields - Track B Impact Score distributions across sectors by bulk-fetching profiles with
get_company - Identify newly certified companies by browsing the directory newest-first via
search_companieswith no query - Compare certification dates across competitors in a given industry using the certification fields from
get_company - Enrich a sustainability database with verified B Corp status, sector classification, and employee size range
- Generate a dataset of B Corps operating in specific countries using the
countryfilter andcountriesresponse field
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does B Lab offer an official developer API for the B Corp directory?+
What does `search_companies` return compared to `get_company`?+
search_companies returns summary objects — enough data to identify and list companies (name, slug, sector, industry, location). get_company returns the full profile including B Impact scores per area (Governance, Workers, Community, Environment), certification dates, all operating cities and countries, employee size range, and the company website URL.Do the industry and country filter values accept partial matches?+
industry and country parameters in search_companies require exact strings as listed in the directory (e.g. 'Food products' not 'food'). The safest approach is to run a broad search_companies query first, inspect the returned industry and sector values, then use those exact strings as filters.