{"id":15664645,"url":"https://github.com/lirantal/typeform-client","last_synced_at":"2025-05-05T22:50:07.613Z","repository":{"id":47264795,"uuid":"162629715","full_name":"lirantal/typeform-client","owner":"lirantal","description":"A friendlier Typeform Node.js API client","archived":false,"fork":false,"pushed_at":"2024-09-05T09:17:19.000Z","size":1373,"stargazers_count":16,"open_issues_count":7,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-19T12:13:44.616Z","etag":null,"topics":["api","nodejs","survey","typeform","typeform-api"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lirantal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2018-12-20T20:47:07.000Z","updated_at":"2023-05-04T18:22:45.000Z","dependencies_parsed_at":"2023-12-27T18:43:25.404Z","dependency_job_id":"e2c4577c-6012-488b-bfd2-a86198b75778","html_url":"https://github.com/lirantal/typeform-client","commit_stats":{"total_commits":27,"total_committers":3,"mean_commits":9.0,"dds":0.4814814814814815,"last_synced_commit":"e7c884e94ed456b9a7cfc50505bb6c7598e6c48a"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Ftypeform-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Ftypeform-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Ftypeform-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Ftypeform-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lirantal","download_url":"https://codeload.github.com/lirantal/typeform-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252590526,"owners_count":21772935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","nodejs","survey","typeform","typeform-api"],"created_at":"2024-10-03T13:43:40.102Z","updated_at":"2025-05-05T22:50:07.582Z","avatar_url":"https://github.com/lirantal.png","language":"JavaScript","funding_links":[],"categories":["Projects by main language"],"sub_categories":["Old Projects"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e @lirantal/typeform-client \u003c/h1\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  a friendlier Typeform Node.js API client\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n      \u003ca href=\"https://www.npmjs.org/package/@lirantal/typeform-client\"\u003e\u003cimg src=\"https://badgen.net/npm/v/@lirantal/typeform-client\" alt=\"npm version\"/\u003e\u003c/a\u003e\n      \u003ca href=\"https://www.npmjs.org/package/@lirantal/typeform-client\"\u003e\u003cimg src=\"https://badgen.net/npm/license/@lirantal/typeform-client\" alt=\"license\"/\u003e\u003c/a\u003e\n      \u003ca href=\"https://www.npmjs.org/package/@lirantal/typeform-client\"\u003e\u003cimg src=\"https://badgen.net/npm/dt/@lirantal/typeform-client\" alt=\"downloads\"/\u003e\u003c/a\u003e\n      \u003ca href=\"https://travis-ci.org/lirantal/typeform-client\"\u003e\u003cimg src=\"https://badgen.net/travis/lirantal/typeform-client\" alt=\"build\"/\u003e\u003c/a\u003e\n      \u003ca href=\"https://codecov.io/gh/lirantal/typeform-client\"\u003e\u003cimg src=\"https://badgen.net/codecov/c/github/lirantal/typeform-client\" alt=\"codecov\"/\u003e\u003c/a\u003e\n      \u003ca href=\"https://snyk.io/test/github/lirantal/typeform-client\"\u003e\u003cimg src=\"https://snyk.io/test/github/lirantal/typeform-client/badge.svg\" alt=\"known vulnerabilities\"/\u003e\u003c/a\u003e\n      \u003ca href=\"https://github.com/semantic-release/semantic-release\"\u003e\u003cimg src=\"https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat\" alt=\"semantic-release\"/\u003e\u003c/a\u003e\n      \u003ca href=\"https://github.com/nodejs/security-wg/blob/master/processes/responsible_disclosure_template.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Security-Responsible%20Disclosure-yellow.svg\" alt=\"Security Responsible Disclosure\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# About\n\n`@lirantal/typeform-client` provides a friendlier access to pulling form data out of Typeform through their API. The official Typeform API client provides only raw access to the API and it is upon the consumer of their SDK to stich all the data. Some of the benefits that this friendlier interface to interface provides are:\n\n- Looping through all the form survey results with the continuation token\n- De-normalizing all the data such as form questions, and their responses, so everything is accessible from an aggregated interface.\n\n# Install\n\n```bash\nnpm install --save @lirantal/typeform-client\n```\n\n# Example\n\n```js\nconst {Form} = require('@lirantal/typeform-client')\n\n// don't hard-code API keys inside the code. Load it via configuration\n// management or another secure form. For convenience only this library\n// also supports falling back to reading the API key from a TYPEFORM_API_KEY\n// environment variable.\n// (note: SECRETS IN ENVIRONMENT VARIABLES ARE HIGHLY DISCOURAGED)\nconst apiKey = config.apiKey\n// provide the form id for the typeform survey, which is present as part\n// of a URL resource\nconst formId = config.formId\n\nconst typeform = new Form({apiKey: apiKey})\nconst form = await typeform.fetchFormResponses(formId)\n\n// form is an object with all the form responses, and each question field is\n// populated with all the answers collected from the survey\n```\n\n## Supported fields\n\nThe following form fields are currently supported to extract:\n\n- Yes/No questions (`yes_no`)\n- Opinion scale questions (`opinion_scale`)\n- All variants of multiple choice questions, including an 'other' field, and single vs multiple answers (`multiple_choice`)\n- Free text questions (`short_text`)\n\n# Related\n\n[typeform-export-excel](https://github.com/lirantal/typeform-export-excel) - Export a Typeform survey questionnaire to an Excel format\n\n# Contributing\n\nPlease consult [CONTIRBUTING](./CONTRIBUTING.md) for guidelines on contributing to this project.\n\n# Author\n\n**typeform-export-excel** © [Liran Tal](https://github.com/lirantal), Released under the [Apache-2.0](./LICENSE) License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flirantal%2Ftypeform-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flirantal%2Ftypeform-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flirantal%2Ftypeform-client/lists"}