https://github.com/sottey/setgo-api
Unauthorized, no affiliation API to serve up Setapp applications and metadata in an API
https://github.com/sottey/setgo-api
api golang setapp
Last synced: over 1 year ago
JSON representation
Unauthorized, no affiliation API to serve up Setapp applications and metadata in an API
- Host: GitHub
- URL: https://github.com/sottey/setgo-api
- Owner: sottey
- License: mit
- Created: 2024-03-10T05:50:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-10T05:58:35.000Z (over 2 years ago)
- Last Synced: 2025-03-06T09:16:53.553Z (over 1 year ago)
- Topics: api, golang, setapp
- Language: Go
- Homepage:
- Size: 8.13 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

An unofficial, unauthorized, unknown, unapproved caching API for [SetApp](https://setapp.com) data
## Features
- Programmatic access to SetApp data
- Complete app data including icons, links, release date and more
- Caching to minimize impact on SetApp servers
- Full text search of app names and descriptions
- Category listing
- Subcategory id and name listing
- Apps by category
## API REFERENCE
#### SHOW HELP
```
GET /
```
| Parameter | Type | Description |
| :-------- | :------- | :------------------------- |
| `none` | `none` | `none` |
*Returns API information*
#### GET ALL APPS
```
GET /apps
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| none | none | none |
*Returns all apps*
#### GET APP INFORMATION BY ID
```
GET /apps/{id}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `string` | `ID of app in collection` |
*Returns app information for app with specified id*
#### GET ALL CATEGORY NAMES
```
GET /cats
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `none` | `none` | `none` |
*Returns all category names*
#### GET ALL APPS IN CATEGORY
```
GET /cats/{category}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `category` | `string` | `Name of category` |
*Returns all apps in specified category*
#### GET SUBCATEGORY IDS AND NAMES
```
GET /subcats
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `none` | `none` | `none` |
*Returns all subcategories*
#### SEARCH APPS
```
GET /search/{query}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `query` | `string` | `Term to search for` |
*Return all items which have the query provided in their name or description*
## TECH STACK
- [Go](https://go.dev)
- [SetApp data](https://setapp.com)
## DEPLOYMENT
To deploy this project get the release executable for your OS or clone the source and build
```bash
git clone https://www.github.com/sottey/setgo-api
sudo go build setgo-api.go
```
## .ENV FILE
To run, edit the **./.env** file and set the following values:
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| SETAPP_URL| string | SetApp apps page (probably https://setapp.com/apps) |
| CACHE_FILE | string | File location of cached json data |
| SUBCAT_FILE | string | Id and name mapping json |
| HELP_TEMPLATE | string | File location of HTML template for help (/)|
| SERVER_URL | string | URL and port to server the data |
| FAVICON | string | File location of favicon |
## RUNNING THE SERVER
```bash
./setgo-api
```
Once running, you will be able to access the help page at the url specified in the .env file
## LICENSE
[MIT](https://choosealicense.com/licenses/mit/)
## AUTHORS
- [@sottey](https://www.github.com/sottey)