How to Verify if a Company Is on the 996.ICU Blacklist: 4 Methods Explained
You can verify if a company is on the 996.ICU blacklist by searching the markdown table in blacklist/README.md using GitHub's web interface, local grep commands, Python scripts, or the GitHub Search API.
The 996.ICU repository maintains a community-driven blacklist of companies implementing the controversial "996" work schedule. To verify if a company is on the blacklist, you must query the master table located in blacklist/README.md. This guide demonstrates four reliable methods to check if a company is blacklisted, from simple web searches to automated API queries.
Where the 996.ICU Blacklist Is Stored
The canonical blacklist resides in blacklist/README.md as a markdown table. Each row represents a company entry with the following structure:
- City: Location of the office or headquarters
- Company name: Markdown-linked company name (second column)
- Exposure/Implementation time: When the 996 schedule was reported
- Regime description: Details about the work schedule
- Evidence links: URLs or references supporting the claim
Because company names appear in the second column wrapped in markdown link syntax (e.g., [Company Name](url)), text searches must account for the bracket notation or use pattern matching.
How to Verify if a Company Is on the Blacklist
Method 1: Search via GitHub Web Interface
The simplest way to verify if a company is on the blacklist uses GitHub's built-in search:
- Navigate to
blacklist/README.mdathttps://github.com/996icu/996.ICU/blob/master/blacklist/README.md - Press
Ctrl+F(orCmd+Fon macOS) to open the browser's find function - Type the company name (e.g., "字节跳动" or "ByteDance")
- Review the highlighted row to confirm the entry and view evidence links
If no results appear, the company is not currently listed on the blacklist.
Method 2: Local Grep Search (Bash)
For offline verification or batch checking, clone the repository and use grep:
# Clone the repository
git clone https://github.com/996icu/996.ICU.git
cd 996.ICU
# Search for a specific company (case-insensitive)
COMPANY="字节跳动"
grep -i -A2 -B2 "\[${COMPANY}\]" blacklist/README.md
The -A2 and -B2 flags display two lines of context after and before the match, revealing the full table row including evidence links. Adjust the pattern to match partial names by removing the square brackets from the regex.
Method 3: Python Script Parsing
For programmatic verification, parse the markdown table using Python:
import re
import pathlib
import sys
def check_blacklist(company_name):
"""Check if company is listed in 996.ICU blacklist."""
blacklist_path = pathlib.Path('blacklist/README.md')
if not blacklist_path.exists():
print("Error: blacklist/README.md not found. Run from repo root.")
sys.exit(1)
# Pattern matches company name in markdown table (handles linked names)
pattern = re.compile(
r'\|\s*[^|]*\|\s*\[?' + re.escape(company_name) + r'\]?\s*[\|\(]',
re.IGNORECASE
)
with blacklist_path.open(encoding='utf-8') as f:
for line_num, line in enumerate(f, 1):
if pattern.search(line):
print(f"Company found on blacklist (line {line_num}):")
print(line.strip())
return True
print(f"'{company_name}' not found on blacklist.")
return False
if __name__ == "__main__":
company = sys.argv[1] if len(sys.argv) > 1 else "字节跳动"
check_blacklist(company)
Run the script with: python check_blacklist.py "Company Name". The regex handles both plain text and markdown-linked company names.
Method 4: GitHub API Query
For integration with CI/CD pipelines or automated monitoring, use GitHub's Search API:
# Search for company name in the blacklist file via GitHub API
curl -s \
"https://api.github.com/search/code?q=repo:996icu/996.ICU+filename:README.md+path:blacklist+\"字节跳动\"" \
| jq '.total_count'
A total_count greater than zero confirms the company appears in the blacklist. The API returns the exact file URL and line references for direct verification.
Checking for Removed Companies
The blacklist includes a "已取消996名单列表" (Cancelled 996 List) section within the same blacklist/README.md file. Companies listed here were previously blacklisted but have since been removed after verification or policy changes.
When you verify if a company is on the blacklist, always check both sections:
- The active blacklist table (companies currently enforcing 996)
- The cancellation section (companies no longer on the list)
If a company appears in the cancellation section, it is no longer considered blacklisted by the repository maintainers.
Key Files and References
| File | Purpose | Location |
|---|---|---|
blacklist/README.md |
Master blacklist table and cancellation list | View on GitHub |
archived/licenses[WIP]/tools/gen-license/genlicense/licenses/996.icu.template.en-us.txt |
License template referencing blacklist URL | View template |
README.md (root) |
Project overview with blacklist link | Repository root |
The license template confirms that blacklist/README.md serves as the canonical source for blacklist data across the project's tooling ecosystem.
Summary
- The 996.ICU blacklist is stored as a markdown table in
blacklist/README.md. - To verify if a company is on the blacklist, search for the company name in the second column of the table.
- Use GitHub's web interface for quick manual checks, or grep/Python/API methods for automated verification.
- Always check the cancellation section ("已取消996名单列表") to confirm a company hasn't been removed from the blacklist.
- The repository does not provide a REST API; verification relies on parsing the markdown source directly.
Frequently Asked Questions
Is there an official API to check if a company is on the 996.ICU blacklist?
No, the repository does not expose a dedicated REST API for blacklist queries. Verification requires directly searching the blacklist/README.md markdown table using GitHub's web interface, local text search tools, or the GitHub Search API to query file contents. All methods ultimately parse the static markdown source maintained by the community.
What information is included for each company on the blacklist?
Each row in the blacklist table contains the city where the office operates, the company name (as a markdown link in the second column), the exposure or implementation time of the 996 schedule, a regime description detailing the work hours policy, and evidence links supporting the claim. This structure allows you to verify both the company's presence and the documentation backing the listing.
Can a company be removed from the blacklist after being listed?
Yes, the repository maintains a "已取消996名单列表" (Cancelled 996 List) section within the same blacklist/README.md file. Companies appearing in this section were previously blacklisted but have since been removed after policy changes or dispute resolution. When verifying a company's status, always check both the active blacklist and this cancellation section to determine current standing.
How accurate and up-to-date is the 996.ICU blacklist?
The blacklist is community-maintained through GitHub pull requests and issues, meaning accuracy depends on contributor submissions and maintainer verification. The repository accepts evidence links for each entry, allowing users to independently verify claims. However, there is no automated validation pipeline; entries are manually reviewed. For the most current data, always reference the latest commit on the master branch of blacklist/README.md.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →