{"id":37207365,"url":"https://github.com/soundhound/houndify-sdk-go","last_synced_at":"2026-01-14T23:51:00.063Z","repository":{"id":47680105,"uuid":"85359633","full_name":"soundhound/houndify-sdk-go","owner":"soundhound","description":"The official Houndify SDK for Go","archived":false,"fork":false,"pushed_at":"2022-09-04T02:03:15.000Z","size":424,"stargazers_count":23,"open_issues_count":0,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-06-20T12:07:50.238Z","etag":null,"topics":["go","golang","houndify","sdk","speech-recognition","voice-recognition","voice-search"],"latest_commit_sha":null,"homepage":"https://www.houndify.com","language":"Go","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/soundhound.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-17T22:26:13.000Z","updated_at":"2023-08-09T01:16:15.000Z","dependencies_parsed_at":"2022-09-13T20:01:43.435Z","dependency_job_id":null,"html_url":"https://github.com/soundhound/houndify-sdk-go","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/soundhound/houndify-sdk-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soundhound%2Fhoundify-sdk-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soundhound%2Fhoundify-sdk-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soundhound%2Fhoundify-sdk-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soundhound%2Fhoundify-sdk-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soundhound","download_url":"https://codeload.github.com/soundhound/houndify-sdk-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soundhound%2Fhoundify-sdk-go/sbom","scorecard":{"id":839091,"data":{"date":"2025-08-18","repo":{"name":"github.com/soundhound/houndify-sdk-go","commit":"d4fca53e6a1a424702f272493d82868e1619bc6d"},"scorecard":{"version":"v5.2.1-41-g40576783","commit":"40576783fda6698350fcbbeaea760ff827433034"},"score":3.2,"checks":[{"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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/25 approved changesets -- score normalized to 1","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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#dangerous-workflow"}},{"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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#pinned-dependencies"}},{"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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#token-permissions"}},{"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/40576783fda6698350fcbbeaea760ff827433034/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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#security-policy"}},{"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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#fuzzing"}},{"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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#license"}},{"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/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 13 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T19:58:44.872Z","repository_id":47680105,"created_at":"2025-08-23T19:58:44.872Z","updated_at":"2025-08-23T19:58:44.872Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28439559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T22:37:52.437Z","status":"ssl_error","status_checked_at":"2026-01-14T22:37:31.496Z","response_time":107,"last_error":"SSL_read: 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":["go","golang","houndify","sdk","speech-recognition","voice-recognition","voice-search"],"created_at":"2026-01-14T23:50:59.067Z","updated_at":"2026-01-14T23:50:59.969Z","avatar_url":"https://github.com/soundhound.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Houndify SDK for Go [![Build Status](https://travis-ci.org/soundhound/houndify-sdk-go.svg?branch=master)](https://travis-ci.org/soundhound/houndify-sdk-go) [![GoDoc](https://godoc.org/github.com/soundhound/houndify-sdk-go/houndify?status.svg)](https://godoc.org/github.com/soundhound/houndify-sdk-go/houndify)\n\nhoundify-sdk-go is the official Houndify SDK for the Go programming language.\n\nThe SDK allows you to make voice and text queries to the Houndify API. The SDK comes with a fully functional example app that demonstrates usage and the various SDK features. The SDK has no third party dependencies.\n\n## Requirements\n\n- Go v1.8+\n- Houndify account available from [Houndify.com](https://www.houndify.com)\n\n## Installing\n\nTo use the SDK and/or example app, you will need a client ID and client key. You can get those after creating a [Houndify](https://www.houndify.com) account and registering a client.\n\nOnce you have set your `$GOPATH`, you can use both the Go Houndify SDK and example app.\n\n```\ngo get github.com/soundhound/houndify-sdk-go\n```\n\nThe example app will be compiled and available at `$GOPATH/bin/houndify-sdk-go` and the SDK will be ready to import and use.  \n\n## Example App\n\n`example.go` provides a working example using the SDK.\n\nThe example app features three modes of interacting with the Houndify API:\n\n1. Voice\n2. Text\n3. Stdin Interactive Text\n\nTo run the voice search:\n\n```\nhoundify-sdk-go --id YOUR_CLIENT_ID --key YOUR_CLIENT_KEY --voice ./test_audio/whattimeisitindenver.wav\n```\n\nTo run a text search:\n\n```\nhoundify-sdk-go --id YOUR_CLIENT_ID --key YOUR_CLIENT_KEY --text \"tell me a joke\"\n```\n\nTo run an interactive text search:\n\n```\nhoundify-sdk-go --id YOUR_CLIENT_ID --key YOUR_CLIENT_KEY --stdin\n```\n\nYou will then be prompted to type a query.\n\nAfter Houndify replies with a response, you can follow up with additional text queries. Houndify will keep track of the conversation history, and interpret new queries in the context of previous ones.\n\nAn example set of queries:\n - \"what is two plus six\"\n - \"minus 4\"\n - \"what is the square root of that\"\n\nInstead of using the `--id` and `--key` flags, you may set the environment variables `HOUNDIFY_CLIENT_ID` and `HOUNDIFY_CLIENT_KEY`.\n\n## Using the SDK\n\nTo use the SDK, you must import the `houndify` package:\n\n```go\nimport (\n    \"github.com/soundhound/houndify-sdk-go\"\n)\n```\n\nCreate a new client\n\n```go\nclient := houndify.Client{\n    ClientID:  \"YOUR_CLIENT_ID\",\n    ClientKey: \"YOUR_CLIENT_KEY\",\n}\n```\n\nFor a voice search, create a VoiceRequest and channel for partial transcripts. The audio to be streamed must already be the correct encoding that the server requires. See the [Houndify Docs](https://www.houndify.com/docs/) for details. There are example audio files to test with in `test_audio`.\n\n```go\nreq := houndify.VoiceRequest{\n    AudioStream:       bytes.NewReader(audioDataByteArray),\n    UserID:            \"appUser123\",\n    RequestID:         \"uniqueRequest456\",\n    RequestInfoFields: make(map[string]interface{}),\n}\n\n//listen for partial transcripts while audio is streaming\npartialTranscripts := make(chan houndify.PartialTranscript)\ngo func() {\n    for partial := range partialTranscripts {\n        fmt.Println(partial.Message)\n    }\n}()\n\nserverResponse, err := client.VoiceSearch(req, partialTranscripts)\n```\n\nFor a text search, create a TextRequest\n\n```go\nreq := houndify.TextRequest{\n    Query:             \"what time is it in paris\",\n    UserID:            \"appUser123\",\n    RequestID:         \"uniqueRequest456\",\n    RequestInfoFields: make(map[string]interface{}),\n}\n\nserverResponse, err := client.TextSearch(req)\n```\n\n### Conversation State\n\nHoundified domains can use context to enable a conversational user interaction. For example, users can say \"show me coffee shops near me\", \"which ones have wifi?\", \"sort by rating\", \"navigate to the first one\". You can enable, disable, clear, set and get the client's conversation state with the following houndify.Client methods.\n\n```go\nclient.EnableConversationState()\n\nclient.DisableConversationState()\n\nclient.ClearConversationState()\n\ncurrentState := client.GetConversationState()\n\nclient.SetConversationState(newState)\n```\n\n## Contributing\n\nThere are multiple ways to contribute to the SDK.\n\nIf you found a bug or have a feature request, please open an [Issue](https://github.com/soundhound/houndify-sdk-go/issues).\n\nIf you would like to make a code contribution, please sign the [CLA](https://cla-assistant.io/soundhound/houndify-sdk-go), and make a [Pull Request](https://github.com/soundhound/houndify-sdk-go/pulls) with your changes.\n\nFor account issues, security issues, or if you are unable to post publicly, please [contact us](https://www.houndify.com/contact) directly.\n\n## License\n\nThe Houndify SDK for Go is distributed under the MIT License. See the LICENSE file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoundhound%2Fhoundify-sdk-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoundhound%2Fhoundify-sdk-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoundhound%2Fhoundify-sdk-go/lists"}