{"id":19219324,"url":"https://github.com/bullhorn/taurus","last_synced_at":"2026-04-22T20:00:41.851Z","repository":{"id":28402594,"uuid":"118166433","full_name":"bullhorn/taurus","owner":"bullhorn","description":"Typescript client for the Bullhorn REST API","archived":false,"fork":false,"pushed_at":"2026-04-03T15:21:56.000Z","size":5041,"stargazers_count":11,"open_issues_count":26,"forks_count":8,"subscribers_count":37,"default_branch":"master","last_synced_at":"2026-04-03T18:56:24.894Z","etag":null,"topics":["bullhorn","rest","taurus","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bullhorn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-01-19T19:06:15.000Z","updated_at":"2026-04-03T15:21:18.000Z","dependencies_parsed_at":"2024-06-20T22:03:02.013Z","dependency_job_id":"366f3e8a-f68e-4e3c-828a-178ee943c6b7","html_url":"https://github.com/bullhorn/taurus","commit_stats":{"total_commits":132,"total_committers":27,"mean_commits":4.888888888888889,"dds":0.8560606060606061,"last_synced_commit":"a8eafff015b618ae71d708164378c02c873aa2f8"},"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"purl":"pkg:github/bullhorn/taurus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bullhorn%2Ftaurus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bullhorn%2Ftaurus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bullhorn%2Ftaurus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bullhorn%2Ftaurus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bullhorn","download_url":"https://codeload.github.com/bullhorn/taurus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bullhorn%2Ftaurus/sbom","scorecard":{"id":258097,"data":{"date":"2025-08-11","repo":{"name":"github.com/bullhorn/taurus","commit":"230ef77b098701aa4cfdbdfad7e82c4e750ae1ad"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Code-Review","score":9,"reason":"Found 11/12 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/main.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/bullhorn/taurus/main.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/bullhorn/taurus/main.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/bullhorn/taurus/main.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/bullhorn/taurus/main.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/bullhorn/taurus/main.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/bullhorn/taurus/main.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yaml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/bullhorn/taurus/main.yaml/master?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   1 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"63 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q","Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38","Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-wrw9-m778-g6mc","Warn: Project is vulnerable to: GHSA-pp7h-53gx-mx7r","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx","Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-7wwv-vh3v-89cq","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-xf5p-87ch-gxw2","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-4xcv-9jjx-gfj3","Warn: Project is vulnerable to: GHSA-7wpw-2hjm-89gp","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-8hfj-j24r-96c4","Warn: Project is vulnerable to: GHSA-wc69-rhjr-hc9g","Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p","Warn: Project is vulnerable to: GHSA-hj9c-8jmm-8c52","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-x2pg-mjhr-2m5x","Warn: Project is vulnerable to: GHSA-x6fg-f45m-jf5q","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-4x5v-gmq8-25ch","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T10:08:39.617Z","repository_id":28402594,"created_at":"2025-08-17T10:08:39.618Z","updated_at":"2025-08-17T10:08:39.618Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32141588,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T14:31:12.705Z","status":"ssl_error","status_checked_at":"2026-04-22T14:27:43.037Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bullhorn","rest","taurus","typescript"],"created_at":"2024-11-09T14:30:30.541Z","updated_at":"2026-04-22T20:00:41.827Z","avatar_url":"https://github.com/bullhorn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [![TAURUS](taurus-banner.gif)](https://bullhon.github.io)\n\n\u003e The official client library for connecting to Bullhorn REST API\n\n---\n\n[![Dependency Status](https://dependencyci.com/github/bullhorn/taurus/badge)](https://dependencyci.com/github/bullhorn/taurus)\n[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)\n[![npm version](https://badge.fury.io/js/%40bullhorn%2Ftaurus.svg)](https://badge.fury.io/js/%40bullhorn%2Ftaurus)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n---\n\n[Website](http://bullhorn.github.io) • [Docs](http://bullhorn.github.io/taurus) • [Blog](https://medium.com/bullhorn-dev)\n\n## What can Taurus do?\n\n- **Authentication** - built-in authentication functionality.\n- **Realtime bindings** - Synchronize database collections as objects or lists.\n- **Note** - Taurus is designed for use only in client side environments.\n\n## Install\n\n```bash\nnpm install --save @bullhorn/taurus @bullhorn/bullhorn-types\n```\n\n## Authentication\n\nFirst, in the _src_ folder create an _app.js_ file. Then, you will need setup your Application with the credentials provided to you by Bullhorn.\n\n\u003e Note: Don't have a `clientId`? Partner keys are only available directly from Bullhorn. If you are interested in becoming a partner, send a email message to [partners@bullhorn.com](partners@bullhorn.com) or fill out the form available at the [Bullhorn Marketplace](https://www.bullhorn.com/marketplace/partner-application/).\n\n### app.js\n\n```typescript\nimport { Staffing, StaffingCredentialsAuthProvider } from '@bullhorn/taurus';\n\nconst provider = new StaffingCredentialsAuthProvider('docsamson', 'secrets');\nconst staffing: Staffing = new Staffing({\n  restUrl: 'https://login.bullhorn.com',\n  BhRestToken: '~BULLHORN_REST_TOKEN~',\n});\n\nstaffing.login(provider).then(() =\u003e {\n  console.log('We Are Doing it!');\n});\n\n// or\n\nconst app = Staffing.loginWithPopup('https://login.bullhorn.com');\n```\n\n## Getting the data\n\nNow we need to get some data. Taurus provides several convience function to Search and retrieve entities within the system.\n\n### Object Data\n\nFor this example we are going to get and entiy by id.\n\n```typescript\nimport { EntityTypes, Candidate } from '@bullhorn/bullhorn-types';\nimport { Entity } from '@bullhorn/taurus';\n\nlet record: Entity\u003cCandidate\u003e = new Entity(EntityTypes.Candidate).fields('id', 'name');\n// Populate from server with data for Candidate #100\nrecord.get(100);\n// Listen for changes\nrecord.subscribe((response) =\u003e {\n  console.log(record.data);\n  // output: {id: 100, name: 'Theodore'}\n});\n```\n\n### List Data\n\nFor this example we are going to search for some Jobs and display a list of them.\n\n```typescript\nimport { EntityTypes, Candidate } from '@bullhorn/bullhorn-types';\nimport { EntityList } from '@bullhorn/taurus';\n\nlet list: EntityList\u003cCandidate\u003e = new EntityList(EntityTypes.Candidate, {\n  fields: ['id', 'name'],\n  startAt: 0,\n  limitTo: 25,\n  filter: { isDeleted: 0 },\n});\n\nlist.subscribe((response) =\u003e {\n  let total = list.info.total;\n  // TODO: Finish this\n});\n```\n\n## Lets Get Started\n\nThis tutorial will take you through creating a simple application using Taurus and briefly explain its main concepts. We assume you are familiar with JavaScript, HTML, and CSS. To get a quick overview, we recommend you skip down to the section titled \"Setting Up The HTML Page\" so you can see how to use Taurus straight away. To view the completed results of this tutorial, please have a look at our [examples project](https://github.com/bullhorn/examples).\n\n## Configuring Your Environment\n\nLet's start by getting you set up with a great set of tools that you can use to build modern JavaScript applications. All our tooling is built on [Node.js](http://nodejs.org/). If you have that installed already, great! If not, you should go to [the official web site](http://nodejs.org/), download and install it. Everything else we need will be installed via Node's package manager ([npm](https://docs.npmjs.com/getting-started/what-is-npm)).\n\n## Setting Up The HTML Page\n\nIf you've followed along this far, you now have all the libraries, build configuration and tools you need to create amazing JavaScript apps with Taurus. The next thing we need to do is create our _index.html_ file in the root of our project folder. Create that now and use the markup below.\n\n### index.html\n\n```html\n\u003c!doctype html\u003e\n\u003chtml\u003e\n  \u003chead\u003e\n\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"//cdn.bullhorn.com/bullhorncss/1.0/bullhorn.css\"\u003e\n\t\u003cscript src=\"//unpkg.com/@reactivex/rxjs@5.0.0-beta.12/dist/global/Rx.js\"\u003e\u003c/script\u003e\n\t\u003cscript src=\"//unpkg.com/axios/dist/axios.min.js\"\u003e\u003c/script\u003e\n\t\u003cscript src=\"//unpkg.com/@bullhorn/taurus@1.5.1/lib/index.umd.js\"\u003e\u003c/script\u003e\n\t\u003cscript\u003e\n        var provider = new taurus.StaffingCredentialsAuthProvider('docsamson', 'secretpassword');\n        var staffing = new taurus.Staffing({\n            useCookies: false,\n            client_id: '~~YOUR-BULLHORN-CLIENT-ID~~',\n            apiVersion: '*',\n            redirect_url: 'http://your-app.com',\n            authorization_url: 'http://auth.bullhornstaffing.com/oauth/authorize',\n            token_url: 'http://auth.bullhornstaffing.com/oauth/token',\n            login_url: 'http://rest.bullhornstaffing.com/rest-services/login'\n        });\n\n        staffing.login(provider).then(() =\u003e {\n            // Now we are authenticated\n            var list = new taurus.EntityList('Candidate', {\n                fields: ['id', 'name'],\n                startAt: 0,\n                limitTo: 25,\n                filter: { isDeleted: 0 }\n            });\n            list.subscribe((results) =\u003e {\n\t\t\t\t// The list has retrieved your results\n                console.log('Results: ', results);\n                console.log('Total Candidate: ', list.info.total);\n            });\n        });\n    \u003c/script\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\nYes, that's it. This is the only HTML page in our application.\n\n## View the page\n\nWe can install another npm package called [live-server](https://www.npmjs.com/package/live-server). This with host our application and watch the directory structure for any changes, there is no configuration, so it always works.\n\n```shell\nnpm install -g live-server\n```\n\nYou can now browse to [http://localhost:8080/](http://localhost:8080/) to see the app.\n\nLet's recap. To add a page to your app:\n\n1. Add your SDK Credentials\n2. Authenticate\n3. Get data from Bullhorn\n4. Celebrate.\n\n## Conclusion\n\nWith its strong focus on developer experience, Taurus can enable you to not only create amazing applications, but also enjoy the process. We've designed it with simple conventions in mind so you don't need to waste time with tons of configuration or write boilerplate code just to satisfy a stubborn or restrictive framework.\n\nIf you need more help, check out the [Documentation](http://bullhorn.github.io/taurus) and [Api Reference](http://bullhorn.github.io/taurus)\n\n---\n\n\u003cp\u003e\n\t\u003cimg src=\"bully.png\" align=\"left\" width=\"32\" /\u003e\n\t\u003cspan\u003e\u0026nbsp; built by Bullhorn, copyright (c) forever!\u003c/span\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbullhorn%2Ftaurus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbullhorn%2Ftaurus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbullhorn%2Ftaurus/lists"}