# EDINET Tools
> **Access Japanese corporate financial data with confidence**
A Python package for Japan's [EDINET](https://disclosure2.edinet-fsa.go.jp/) disclosure system. Clean API, comprehensive testing, and optional LLM-powered analysis.
## Features
**Company Data**
- Search 11,000+ Japanese companies by name or ticker
- Convert ticker symbols to EDINET codes instantly
- Access official government financial disclosure data
**Document Processing**
- Download EDINET filings programmatically
- Extract structured data from XBRL documents
- Handle Japanese text encoding automatically
**Optional AI Analysis**
- Generate executive summaries from financial documents
- One-line insights for quick analysis
- Support for Claude, GPT, and other LLM providers
## Installation
Install from PyPI:
```bash
pip install edinet-tools
```
Or install from source:
```bash
git clone https://github.com/matthelmer/edinet-api-tools.git
cd edinet-api-tools
pip install -e .
```
## Quick Start
```python
import edinet_tools
# Search companies
companies = edinet_tools.search_companies("Toyota")
print(companies[0]['name_en']) # TOYOTA MOTOR CORPORATION
# Convert ticker to EDINET code
edinet_code = edinet_tools.ticker_to_edinet("7203") # E02144
# Initialize client
client = edinet_tools.EdinetClient()
# Get recent filings
filings = client.get_recent_filings(days_back=7)
# Download and analyze a filing (requires LLM API key)
structured_data = client.download_filing(filings[0]['docID'], extract_data=True)
```
## Configuration
Set up your environment variables:
```bash
export EDINET_API_KEY=your_edinet_key
export ANTHROPIC_API_KEY=your_anthropic_key
export OPENAI_API_KEY=your_openai_key
```
Or create a `.env` file:
```dotenv
EDINET_API_KEY=your_edinet_key
ANTHROPIC_API_KEY=your_anthropic_key
OPENAI_API_KEY=your_openai_api_key
LLM_MODEL=claude-4-sonnet # Or gpt-5-mini, gpt-4o, etc.
LLM_FALLBACK_MODEL=gpt-5-mini # Optional fallback
# Azure OpenAI Configuration (optional)
# AZURE_OPENAI_API_KEY=your_azure_openai_api_key
# AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
# AZURE_OPENAI_API_VERSION=your_azure_openai_api_version
# AZURE_OPENAI_DEPLOYMENT=your_azure_openai_deployment_name
```
**API Keys:**
- **EDINET_API_KEY**: Get from [EDINET website](https://disclosure2.edinet-fsa.go.jp/) (free)
- **ANTHROPIC_API_KEY**: For Claude models (claude-4-sonnet, etc.)
- **OPENAI_API_KEY**: For GPT models (gpt-5, gpt-5-mini, etc.)
- **AZURE_OPENAI_API_KEY**: Enterprise LLM option via Microsoft Azure
## Demo
Run the interactive demo to see the package in action:
```bash
python demo.py
```
This demonstrates:
- Company search and ticker resolution
- Live EDINET document processing
- LLM-powered summaries
## Testing
Run the comprehensive test suite:
```bash
python test_runner.py --all # Full test suite (94 tests)
python test_runner.py --unit # Unit tests only
python test_runner.py --integration # Integration tests only
python test_runner.py --smoke # Quick validation
```
## LLM Analysis
Generate insights from financial documents using a LLM:
```python
from edinet_tools.analysis import analyze_document_data
# Executive summary
summary = analyze_document_data(structured_data, 'executive_summary')
# One-line summary
insights = analyze_document_data(structured_data, 'one_line_summary')
```
**Models**: Claude-4-Sonnet, GPT-5-Mini, GPT-4o, and more via the `llm` library.
## Contributing
Contributions welcome. Run tests before submitting:
```bash
python test_runner.py --all
```
## Disclaimer
Independent project, not affiliated with Japan's Financial Services Agency (FSA).
Official EDINET: [disclosure2.edinet-fsa.go.jp](https://disclosure2.edinet-fsa.go.jp/)
Provided "as is" for informational purposes. Verify data independently.
## License
This project is licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": null,
"name": "edinet-tools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "finance, japan, edinet, financial-data, xbrl, corporate-filings",
"author": "Matt Helmer",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/07/98/f19bfb7fe03348fc64fb542aa90b7319be34ef7f96eec1e4ef2572539496/edinet_tools-0.1.0.tar.gz",
"platform": null,
"description": "# EDINET Tools\n\n> **Access Japanese corporate financial data with confidence**\n\nA Python package for Japan's [EDINET](https://disclosure2.edinet-fsa.go.jp/) disclosure system. Clean API, comprehensive testing, and optional LLM-powered analysis.\n\n## Features\n\n**Company Data**\n- Search 11,000+ Japanese companies by name or ticker\n- Convert ticker symbols to EDINET codes instantly\n- Access official government financial disclosure data\n\n**Document Processing**\n- Download EDINET filings programmatically\n- Extract structured data from XBRL documents\n- Handle Japanese text encoding automatically\n\n**Optional AI Analysis**\n- Generate executive summaries from financial documents \n- One-line insights for quick analysis\n- Support for Claude, GPT, and other LLM providers\n\n## Installation\n\nInstall from PyPI:\n\n```bash\npip install edinet-tools\n```\n\nOr install from source:\n\n```bash\ngit clone https://github.com/matthelmer/edinet-api-tools.git\ncd edinet-api-tools\npip install -e .\n```\n\n## Quick Start\n\n```python\nimport edinet_tools\n\n# Search companies\ncompanies = edinet_tools.search_companies(\"Toyota\")\nprint(companies[0]['name_en']) # TOYOTA MOTOR CORPORATION\n\n# Convert ticker to EDINET code\nedinet_code = edinet_tools.ticker_to_edinet(\"7203\") # E02144\n\n# Initialize client\nclient = edinet_tools.EdinetClient()\n\n# Get recent filings\nfilings = client.get_recent_filings(days_back=7)\n\n# Download and analyze a filing (requires LLM API key)\nstructured_data = client.download_filing(filings[0]['docID'], extract_data=True)\n```\n\n## Configuration\n\nSet up your environment variables:\n\n```bash\nexport EDINET_API_KEY=your_edinet_key\nexport ANTHROPIC_API_KEY=your_anthropic_key\nexport OPENAI_API_KEY=your_openai_key\n```\n\nOr create a `.env` file:\n\n```dotenv\nEDINET_API_KEY=your_edinet_key\n\nANTHROPIC_API_KEY=your_anthropic_key\nOPENAI_API_KEY=your_openai_api_key\n\nLLM_MODEL=claude-4-sonnet # Or gpt-5-mini, gpt-4o, etc.\nLLM_FALLBACK_MODEL=gpt-5-mini # Optional fallback\n\n# Azure OpenAI Configuration (optional)\n# AZURE_OPENAI_API_KEY=your_azure_openai_api_key\n# AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint\n# AZURE_OPENAI_API_VERSION=your_azure_openai_api_version\n# AZURE_OPENAI_DEPLOYMENT=your_azure_openai_deployment_name\n```\n\n**API Keys:**\n- **EDINET_API_KEY**: Get from [EDINET website](https://disclosure2.edinet-fsa.go.jp/) (free)\n- **ANTHROPIC_API_KEY**: For Claude models (claude-4-sonnet, etc.)\n- **OPENAI_API_KEY**: For GPT models (gpt-5, gpt-5-mini, etc.)\n- **AZURE_OPENAI_API_KEY**: Enterprise LLM option via Microsoft Azure\n\n## Demo\n\nRun the interactive demo to see the package in action:\n\n```bash\npython demo.py\n```\n\nThis demonstrates:\n- Company search and ticker resolution\n- Live EDINET document processing\n- LLM-powered summaries\n\n## Testing\n\nRun the comprehensive test suite:\n\n```bash\npython test_runner.py --all # Full test suite (94 tests)\npython test_runner.py --unit # Unit tests only\npython test_runner.py --integration # Integration tests only\npython test_runner.py --smoke # Quick validation\n```\n\n## LLM Analysis\n\nGenerate insights from financial documents using a LLM:\n\n```python\nfrom edinet_tools.analysis import analyze_document_data\n\n# Executive summary\nsummary = analyze_document_data(structured_data, 'executive_summary')\n\n# One-line summary\ninsights = analyze_document_data(structured_data, 'one_line_summary')\n```\n\n**Models**: Claude-4-Sonnet, GPT-5-Mini, GPT-4o, and more via the `llm` library.\n\n## Contributing\n\nContributions welcome. Run tests before submitting:\n\n```bash\npython test_runner.py --all\n```\n\n## Disclaimer\n\nIndependent project, not affiliated with Japan's Financial Services Agency (FSA).\n\nOfficial EDINET: [disclosure2.edinet-fsa.go.jp](https://disclosure2.edinet-fsa.go.jp/)\n\nProvided \"as is\" for informational purposes. Verify data independently.\n\n## License\n\nThis project is licensed under the MIT License.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python package for accessing Japanese corporate financial data from EDINET",
"version": "0.1.0",
"project_urls": {
"Bug Reports": "https://github.com/matthelmer/edinet-api-tools/issues",
"Homepage": "https://github.com/matthelmer/edinet-api-tools",
"Repository": "https://github.com/matthelmer/edinet-api-tools"
},
"split_keywords": [
"finance",
" japan",
" edinet",
" financial-data",
" xbrl",
" corporate-filings"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "766bc9b5cd4002e3583b79ed902496a0e6dbe0eb3cdc127b97c67625a26d8f06",
"md5": "08abafe934654b996fa94ed65301d693",
"sha256": "3589ba781a240f900152feae959178d934afd12d39efd28a4f177ef82e46317b"
},
"downloads": -1,
"filename": "edinet_tools-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "08abafe934654b996fa94ed65301d693",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 962657,
"upload_time": "2025-08-23T04:36:00",
"upload_time_iso_8601": "2025-08-23T04:36:00.105252Z",
"url": "https://files.pythonhosted.org/packages/76/6b/c9b5cd4002e3583b79ed902496a0e6dbe0eb3cdc127b97c67625a26d8f06/edinet_tools-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0798f19bfb7fe03348fc64fb542aa90b7319be34ef7f96eec1e4ef2572539496",
"md5": "6ae4919ce7c4962ce077fddb873acbd1",
"sha256": "9d734a4867c71775019b40fa05f00d36fb58a945bfca17582b0cd7d3b456fd95"
},
"downloads": -1,
"filename": "edinet_tools-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "6ae4919ce7c4962ce077fddb873acbd1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 962767,
"upload_time": "2025-08-23T04:36:01",
"upload_time_iso_8601": "2025-08-23T04:36:01.968641Z",
"url": "https://files.pythonhosted.org/packages/07/98/f19bfb7fe03348fc64fb542aa90b7319be34ef7f96eec1e4ef2572539496/edinet_tools-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-23 04:36:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "matthelmer",
"github_project": "edinet-api-tools",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "edinet-tools"
}