{"id":18579052,"url":"https://github.com/nathsimpson/isobel","last_synced_at":"2026-04-04T00:02:57.032Z","repository":{"id":98849986,"uuid":"150971130","full_name":"nathsimpson/isobel","owner":"nathsimpson","description":"A beginner-friendly node.js framework for fetching data from various sources to display in your own apps and websites.","archived":false,"fork":false,"pushed_at":"2023-04-29T12:41:06.000Z","size":776,"stargazers_count":12,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T22:44:18.735Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://isobeljs.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nathsimpson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-09-30T13:47:01.000Z","updated_at":"2022-01-03T19:17:19.000Z","dependencies_parsed_at":"2023-05-25T20:45:34.581Z","dependency_job_id":null,"html_url":"https://github.com/nathsimpson/isobel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nathsimpson/isobel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsimpson%2Fisobel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsimpson%2Fisobel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsimpson%2Fisobel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsimpson%2Fisobel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nathsimpson","download_url":"https://codeload.github.com/nathsimpson/isobel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsimpson%2Fisobel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31382355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T23:20:52.058Z","status":"ssl_error","status_checked_at":"2026-04-03T23:20:51.675Z","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":[],"created_at":"2024-11-06T23:38:46.269Z","updated_at":"2026-04-04T00:02:56.905Z","avatar_url":"https://github.com/nathsimpson.png","language":"JavaScript","readme":"# ISOBEL 🐶\n\n\u003cspan style=\"font-size: 1.5em;\"\u003e\nWelcome!\nIsobel is a beginner friendly NodeJS framework for fetching data from your social profiles and other sources, for display in your own apps and websites. Isobel periodically fetches data from the services that you teach her, so the data is always there when you need it.\n\u003c/span\u003e\n\nA great example is Twitter, which gets the latest posts from your Twitter feed. Once configured, you can access the JSON for your latest tweets at a defined URL, so you can display them on your website. That means no worrying about API rate-limiting or quotas, and no making API calls from your frontend (a big no-no).\n\nIsobel includes a bunch of premade services, but you can also create your own.\n\nHere is a minimum implementation of Isobel.\n\n```javascript\nconst ISOBEL = require(\"@isobel/core\");\nconst fileSystem = require(\"@isobel/file-system\");\nconst nasa = require(\"@isobel/nasa\");\nconst toMs = require(\"to-ms\");\n\n// initialise\nconst Isobel = new ISOBEL({\n  cache: fileSystem,\n  services: [\n    {\n      name: \"nasa\",\n      func: nasa.fetchPhotoOfTheDay, // gets the NASA photo of the day\n      interval: toMs.hours(24)\n    }\n  ]\n});\n\nIsobel.start().catch(error =\u003e {\n  console.error(\"Error:\", error);\n  process.exit(1);\n});\n```\n\nOnce Isobel is up and running, you can access your data in a JSON at a specific URL. e.g `localhost:4000/get/nasa`\n\n```json\n{\n  \"url\": \"https://apod.nasa.gov/apod/image/1911/jC-L-TM_SunFinal5HRweb1024.jpg\",\n  \"hdurl\": \"https://apod.nasa.gov/apod/image/1911/jC-L-TM_SunFinal5HRweb.jpg\",\n  \"explanation\": \"On November 11, 2019 the Sun was mostly quiet, experiencing a minimum in its 11 year cycle of activity. In fact, the only spot v...\"\n}\n```\n\nReady to go? head to the [Getting Started guide](https://isobeljs.com/guides-getting-started) to...well...get started!\n\n## Supported services\n\nIsobel supports many services out of the box, here is the full list\n\n### Dribbble\n\nRetrieves your latest shots from Dribbble\n\n### GitHub\n\nRetrives profile information from GitHub\n\n### NASA\n\nRetrives the NASA photo of the day. Treat this one as an example for you to create your own services!\n\n### Twitter\n\nRetrives your latest tweets!\n\n### YouTube\n\nRetrives information about your YouTube Channel\n\n## Supported caching strategies\n\nIsobel currently supports three caching strategies, with more on the way!\n\n- local file system\n- Dropbox\n- Amazon S3 Buckets\n\n## Acknowledgements\n\nIsobel is created by [Nathan Simpson](https://nathansimpson.design). Thank you to Thomas Walker for your inspiration, support and friendship.\n","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathsimpson%2Fisobel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnathsimpson%2Fisobel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathsimpson%2Fisobel/lists"}