Alerts for new government subsidies
Uses the public API of jGrants, the Japanese government's subsidy application system, to find open subsidies that match given keywords and a region, and sends only the new ones to Slack or email. Every subsidy found is added as one row to a CSV that opens in Excel.
- Settings
- Keywords, region, and how many days before the deadline to remind
- Output
- Alerts (Slack, email) and a CSV
- Schedule
- Runs at a fixed time, such as once a day
Results of an actual run
Run on 2026-10-05 with the keywords IT導入 (IT adoption) and DX, the region Tokyo (including nationwide programs), and open subsidies only. It found 18.
The alert
The alert as sent, in Japanese. One of the 18 entries is shown. Up to 20 entries go in one alert, and entries with a near deadline get “N days left”.
English translation for this page. It is not part of the alert.
The CSV it builds up
4 of the 9 CSV columns are shown. Titles are shown in Japanese, as published. A blank max amount means the API returned 0: no amount is stated, and the call for proposals has to be checked.
Source: jGrants. Selected columns from data obtained through the API at 2026-10-05 19:02 (Japan time), reformatted. The content is not guaranteed by the Government of Japan or local governments, and may differ from the current calls for proposals.
How it works
- Fetch the list of open subsidies for each keyword.
- Filter by region and remove duplicates.
- Fetch details only for subsidies not seen before.
- Append them to the CSV, one row each.
- Send one alert covering all the new ones.
- Send one reminder for each subsidy whose deadline is near (how near is a setting).
Nothing is announced twice. If the API fails partway, whatever was processed is kept, the rest is fetched again on the next run, and the failure is reported.
Following the API terms of use
To comply with the jGrants API terms of use (the version checked on 2026-10-05):
- At least 1 second between requests, and details are fetched only for new subsidies (the limit in the terms is 10 requests per second).
- Every alert ends with the source and a note that the content was reformatted.
- A max amount of 0 (no amount stated) is never shown as “¥0”. Times are converted to Japan time and labeled as such.
- Attachments such as calls for proposals are not saved.
Limitations
- The implementing ministry or local government is not shown; the API has no such field.
- Keywords are combined with OR; AND search is not available. A subsidy matches even if the word only appears in its description.
- Regions go down to prefectures, not cities.
- Subsidies not listed on jGrants (for example, ones only on a city's own website) are not covered.
- Deadline extensions are reflected in reminders, but rows already in the CSV are not rewritten.
Technology
A command-line tool in Python 3.10, using httpx for HTTP and SQLite to record progress. Alerts go to Slack (webhook), email (SMTP), or the terminal. Slack webhook URLs and email passwords are never written to logs. 124 tests; tested on macOS.