{"id":42316240,"url":"https://github.com/normanjoyner/node-quandl","last_synced_at":"2026-01-27T12:20:19.936Z","repository":{"id":15655025,"uuid":"18392358","full_name":"normanjoyner/node-quandl","owner":"normanjoyner","description":"A nodejs module for interacting with the Quandl API.","archived":false,"fork":false,"pushed_at":"2021-05-06T16:50:41.000Z","size":37,"stargazers_count":78,"open_issues_count":11,"forks_count":29,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-08-09T13:51:48.795Z","etag":null,"topics":["javascript","node-quandl","quandl"],"latest_commit_sha":null,"homepage":"https://www.quandl.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/normanjoyner.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}},"created_at":"2014-04-03T05:33:05.000Z","updated_at":"2023-12-20T06:45:35.000Z","dependencies_parsed_at":"2022-09-13T00:32:19.727Z","dependency_job_id":null,"html_url":"https://github.com/normanjoyner/node-quandl","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/normanjoyner/node-quandl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanjoyner%2Fnode-quandl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanjoyner%2Fnode-quandl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanjoyner%2Fnode-quandl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanjoyner%2Fnode-quandl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/normanjoyner","download_url":"https://codeload.github.com/normanjoyner/node-quandl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanjoyner%2Fnode-quandl/sbom","scorecard":{"id":694384,"data":{"date":"2025-08-11","repo":{"name":"github.com/normanjoyner/node-quandl","commit":"3b00c517b6ccd8360a2e62347bed3bf7ba9422bb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/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":"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":"Code-Review","score":0,"reason":"Found 2/28 approved changesets -- score normalized to 0","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":"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/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":"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v2.0: 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":"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":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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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 4 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"}}]},"last_synced_at":"2025-08-22T03:13:42.363Z","repository_id":15655025,"created_at":"2025-08-22T03:13:42.363Z","updated_at":"2025-08-22T03:13:42.363Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28813205,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T11:52:46.759Z","status":"ssl_error","status_checked_at":"2026-01-27T11:52:35.059Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["javascript","node-quandl","quandl"],"created_at":"2026-01-27T12:20:19.211Z","updated_at":"2026-01-27T12:20:19.923Z","avatar_url":"https://github.com/normanjoyner.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"node-quandl\n====================\n\n##About\n\n###Description\nA nodejs module for interacting with the [Quandl](https://www.quandl.com) API.\n\n###Author\nNorman Joyner - norman.joyner@gmail.com\n\n##Getting Started\n\n###Installation\n```npm install quandl```\n\n###Configuration\nSimply require the quandl module, instantiate a new Quandl object, configure it if necessary, and start making calls. The auth token and api version are configurable.\n\nNew Quandl objects can be instantiated with configuration parameters. Here is an example:\n```javascript\nvar Quandl = require(\"quandl\");\nvar quandl = new Quandl({\n    auth_token: \"dsahFHUiewjjd\",\n    api_version: 3,\n    proxy: \"http://myproxy:3128\"\n});\n```\n\nQuandl objects can also be configured via the ```.configure(options)``` method. Here is an exmaple:\n```javascript\nvar Quandl = require(\"quandl\");\nvar quandl = new Quandl();\n\nvar options = {\n    auth_token: \"dsahFHUiewjjd\"\n}\n\nquandl.configure(options);\n```\n\nThe auth_token parameter defaults to undefined (anonymous access). Be aware of the [Quandl Usage Rules](https://www.quandl.com/help/api#Usage-Rules).\nThe api_version parameter defaults to 3, for v3 api access.\nThe proxy parameter routes all requests through the specfied proxy.\n\n###Supported API versions\n* v1\n* v3\n\n###Supported API Methods\n* [Getting a Dataset](https://www.quandl.com/help/api#A-Simple-Example)\n* [Getting Metadata](https://www.quandl.com/help/api#Getting-Metadata)\n* [Getting Multiple Datasets](https://www.quandl.com/help/api#Multiple-Datasets)\n* [Performing a Search](https://www.quandl.com/help/api#Doing-a-Search)\n* [Getting Favorites](https://www.quandl.com/help/api#Getting-Favourites)\n\n###Examples\nFetch Mt. Gox Bitcoin dataset, and print response:\n```javascript\nquandl.dataset({ source: \"BITCOIN\", table: \"MTGOXUSD\" }, function(err, response){\n    if(err)\n        throw err;\n\n    console.log(response);\n});\n```\nFetch dataset metadata, and print response:\n```javascript\nquandl.metadata(\"ZILLOW\", \"ZIP_ALLHOMES_15235\", function(err, response){\n    if(err)\n        throw err;\n\n    console.log(response);\n});\n```\n\nSearch for datasets pertaining to \"crude oil\", and print xml response:\n```javascript\nquandl.search(\"crude oil\", { format: \"xml\" }, function(err, response){\n    console.log(err);\n    console.log(response);\n});\n```\n\n###Passing Search Parameters\nIt's possible to make simple transformations of the data prior to retrieving it. For example, you can trim the data by excluding certain fields, slice the data using start and end dates, and even sort the data in ascending or descending order.\n\nIn the following example, only the closing prices for Facebook between January 30, 2015 and January 29, 2016 are retrieved. In this case, the closing prices are presented in ascending order.\n\n```javascript\nvar quandl = new Quandl({\n  auth_token: \"MY API TOKEN\",\n  api_version: 3\n});\n\nquandl.dataset({\n  source: \"WIKI\",\n  table: \"FB\"\n}, {\n  order: \"asc\",\n  exclude_column_names: true,\n  // Notice the YYYY-MM-DD format\n  start_date: \"2015-01-30\",\n  end_date: \"2016-01-29\",\n  column_index: 4\n}, function(err, response){\n    if(err)\n        throw err;\n\n    console.log(response);\n});\n```\n\nYou can customize the dataset object by adding extra parameters. For more information about these optional parameters, please take a look at [Quandl's API Docs](https://www.quandl.com/docs/api?json#data).\n\nIf you don't want to hard code the start and/or end dates, use [Moment](http://momentjs.com/) to capture and manipulate the current date and time.\n\n###Running Tests\n```npm test```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnormanjoyner%2Fnode-quandl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnormanjoyner%2Fnode-quandl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnormanjoyner%2Fnode-quandl/lists"}