The TechSoup Product Bundle is a collection of Open Knowledge Format (OKF) conformant Markdown documents (Data Packages). These documents describe technology donations and discounts available for nonprofits, regardless of where those discounts are found or who publishes them.
This repository is a public version of the exact dataset TechSoup uses to power our own tooling, such as the Offer Center. The entries are researched and audited in TechSoup's internal Verbose Knowledge Base (VKB) and mirrored into products/ automatically, so this copy stays current as offers change.
This repository is structured as a flexible, open information architecture. By treating knowledge as content (file-first), the same set of files can be used to construct many different tools, interfaces, and agents. It acts as a single, portable source of truth that anyone in the sector can build upon without needing to host a complex backend database.
| Path | Contents |
|---|---|
products/ |
One folder per product, grouped by category. Each holds a <product>_README.md entry: YAML frontmatter with the structured data, followed by prose in three levels of detail. |
Schema/ |
The offer entry schema describing every field, and a JSON Schema for validating parsed frontmatter. |
examples/ |
Reference implementations that compile the bundle into a JSON feed and render it on a web page. |
Some product folders also contain empty content/case_studies/ and content/use_cases/ directories. These are intentional placeholders for material planned in the roadmap below; they have no content yet.
We are actively building out this product bundle to contain deeper, richer metadata about each product, including:
- Technical Expertise Required: How much IT experience you need to implement the solution.
- Target Audience: Who the product is best suited for.
- Community Support: Where to find communities and peers to help you with implementation.
This repository is designed to be highly portable so you can weave this data into your own applications. Here are a few examples:
- Build a Web Application Like the Offer Center, you can parse these files into a single JSON object to drive an entire interactive portal.
- Import into LLMs
Because these are structured markdown files, they can be directly imported into an LLM context. For example, our
ask-techsoupskill lets an AI assistant answer questions about this bundle, so users can query it and receive customized tech recommendations. - Create Custom Website Embeds
You can parse the data locally to generate targeted HTML widgets for your own website. We have provided reference examples of this in the
examples/directory.
The examples/ directory contains reference implementations of the
"filter this dataset, drive your own UI" pattern: a Python script compiles a
filtered slice of the bundle into a JSON feed, and a small web component
renders that feed wherever you drop it.
How it works:
- Navigate to
examples/open-source/orexamples/security/in this repository. - Each folder is self-contained: a build script, its generated
products.json, a<ts-offer-list>web component, and a demoindex.html. Run the folder's ownREADME.mdinstructions to see it live. - To regenerate a feed with updated data, run that folder's
build_feed.py. - To adapt the pattern for your own site, host
products.jsonandts-offer-list.jsanywhere reachable over http(s) and point the component'ssrcattribute at it.
- Offer Center — TechSoup's interactive catalog of nonprofit technology offers.
- ask-techsoup — a skill that lets an AI assistant answer questions about the catalog.
Built something too? Tell us about it and we'll add it here.
We welcome community involvement! Whether you want to report an out-of-date offer, suggest a product we're missing, or share something you've built on top of the bundle, please see our CONTRIBUTING.md guide. Because products/ is mirrored automatically, changes to product entries go through issues rather than pull requests.
The data and documentation in this repository are licensed under the Creative Commons Attribution-ShareAlike 4.0 International Public License. The example code in examples/ is licensed under the MIT License; the JSON feeds it generates are derived from the bundle and remain under CC BY-SA 4.0.