[{"data":1,"prerenderedAt":491},["ShallowReactive",2],{"project-8000528":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":49,"post_text":51,"what":52,"said":99,"maker_in_thread":248,"shape":258,"grid":262,"attempts":454,"same_week":455,"maker_shows":42,"maker_hidden":483,"reader_version":484,"card":485},"8000528","Sheetlabs","Turn your spreadsheets into APIs","title","Show HN: Sheetlabs – Turn your spreadsheets into APIs","https:\u002F\u002Fsheetlabs.com","sheetlabs.com","samcrawford",1404758443,2014,158,78,156,2272,7,"notable","dev_tools","api generator","web_app",[24,25,26,27],"spreadsheet api","google sheets api","csv api","excel api","mixed",0.019,{"positive":31,"neutral":32,"mixed":33,"critical":34},10,12,6,9,37,{"idea":37,"docs":40,"privacy":43,"pricing":44,"execution":45,"performance":47,"design":48},{"positive":38,"critical":39},8,5,{"positive":41,"critical":42},0,2,{"positive":41,"critical":41},{"positive":41,"critical":41},{"positive":46,"critical":41},1,{"positive":41,"critical":46},{"positive":41,"critical":46},[39,41,41,41,46,50,50,50,46,50,50,39,39,50,50,39,46,46,46,50,41,41,41,50,46,39,50,50,50,50,50,39,50,50,46,46,39,41,39,41],3,null,{"problem":53,"audience":63,"pricing":70,"motivation":81,"time_to_build":51,"stack":86,"openness":97,"stage":98,"team_size":97},{"value":54,"source":55,"evidence":56},"Publishers without APIs must send spreadsheets that consumers import manually; Sheetlabs exposes spreadsheet data as an API.","maker",[57,60],{"id":58,"by":11,"text":59},"8001491","I can only speak for my use case, but I've heard similar things from other people, so I don't believe it's only me. I agree the overlap is small between those groups, but I think…",{"id":61,"by":11,"text":62},"8000757","Ah, agreed that the end-users of the APIs this builds would very likely also be Docs users. But the people who're turning their spreadsheets into APIs (i.e. the publishers)…",{"value":64,"source":55,"evidence":65},"Developers consuming third-party data and non-technical publishers who keep data in spreadsheets",[66,69],{"id":67,"by":11,"text":68},"8000788","There's two types of user here that go hand-in-hand: The publisher, who cannot \u002F will not create an API from their spreadsheets, but would like to (either to ease their own pain,…",{"id":58,"by":11,"text":59},{"value":71,"source":72,"evidence":73},"Free tier plus paid Business tier at $20 per month","commenter",[74,78],{"id":75,"by":76,"text":77},"8002056","chamblin","I know you're still working things out, but I feel that your free tier is overly generous and your Business tier is a steal at $20. If it assuages a pain point for someone, that…",{"id":79,"by":11,"text":80},"8003597","I wanted to encourage people here to give it a try and get some feedback. The splash page doesn't do a great job of selling it by itself; I think you need to try it to see the…",{"value":82,"source":55,"evidence":83},"Maker repeatedly received spreadsheets from third parties and wanted to remove the import burden",[84,85],{"id":58,"by":11,"text":59},{"id":61,"by":11,"text":62},[87,93],{"value":88,"source":55,"evidence":89},"libreoffice",[90],{"id":91,"by":11,"text":92},"8004094","The closest thing I'm aware of is this: https:\u002F\u002Fgithub.com\u002Farcturus\u002Fnode-csv2api Edit: I should add that Sheetlabs uses loads of open source goodies under the hood. For…",{"value":94,"source":55,"evidence":95},"xlsx2csv",[96],{"id":91,"by":11,"text":92},"unknown","launched",{"praise":100,"objections":116,"requests":154,"questions":195,"alternatives":210},[101,112],{"value":102,"source":72,"evidence":103},"Clever, simple idea that makes read-only APIs easy",[104,108],{"id":105,"by":106,"text":107},"8000931","gingerlime","This is a really clever idea. So simple and almost-obvious, yet it's the first time I come across this. Genius. Particularly like the fact that REST APIs are pretty easy to start…",{"id":109,"by":110,"text":111},"8004061","ludwigvan","This is very well executed. Combined with \"jq\" on command line for testing stuff, could be really useful. http:\u002F\u002Fstedolan.github.io\u002Fjq\u002Ftutorial\u002F",{"value":113,"source":72,"evidence":114},"Well executed",[115],{"id":109,"by":110,"text":111},[117,125,136,147],{"value":118,"source":72,"evidence":119},"Free tier too generous",[120,121],{"id":75,"by":76,"text":77},{"id":122,"by":123,"text":124},"8003575","nodesocket","Honestly I think you are giving away too much on the free plan. You should try removing the free plan and have pricing like: ``` Hobby => $8 Business => $29 Enterprise => Contact…",{"value":126,"source":72,"evidence":127},"Google Sheets API already does this",[128,132],{"id":129,"by":130,"text":131},"8003297","lsv1","What makes this better than using the Google Docs API? I could have anyone write to a spreadsheet and in turn it would be updated when called on their API. In fact I do that for…",{"id":133,"by":134,"text":135},"8001035","drunkcatsdgaf","you could just use google's API as well.",{"value":137,"source":72,"evidence":138},"Target audience of spreadsheet users and API users seems small",[139,143],{"id":140,"by":141,"text":142},"8001250","eykanal","I'm guessing I'm simply not considering the target audience, but so far as I know the groups (people who communicate primarily via spreadsheets) and (people who know what an API…",{"id":144,"by":145,"text":146},"8002591","sunsu","Really cool!....Unfortunately, no business is ever going to \"build APIs on top of their existing spreadsheets\".",{"value":148,"source":72,"evidence":149},"Sign-up form is daunting",[150],{"id":151,"by":152,"text":153},"8001617","levlandau","Looks neat but can you add a github (or google\u002Fotheroauthprovider) login...the register page is way too daunting for me. Either that or provide an account-less mode for trying…",[155,165,180,191],{"value":156,"source":72,"evidence":157},"Google Sheets as an input source",[158,162],{"id":159,"by":160,"text":161},"8000656","gdilla","Would it be possible to include google spreadsheets as an input source?",{"id":163,"by":11,"text":164},"8000682","Yes, certainly. Consider it added to the todo list. It wasn't a priority for a prototype, as the users I'm targeting are generally not Google Docs users anyway (at least in my…",{"value":166,"source":72,"evidence":167},"More prominent example API and docs",[168,172,176],{"id":169,"by":170,"text":171},"8001929","weitzj","Hey, great idea. You should make the link to the example API more prominet in my opinion.",{"id":173,"by":174,"text":175},"8002129","pkaye","You need to put up some examples of what can be done by this service. Something visitors can interact with without registering is ideal to convince them to register.",{"id":177,"by":178,"text":179},"8000939","reitanqild","Bad: Missing screenshots. (Examples) Good: Real text, not just a video.",{"value":181,"source":72,"evidence":182},"Show the backing spreadsheet on the front page",[183,187],{"id":184,"by":185,"text":186},"8003224","zmmmmm","I stared at that for 10 minutes trying to find the spreadsheet. I assume there is a spreadsheet backing it? You should actually show people the spreadsheet - just seeing an API…",{"id":188,"by":189,"text":190},"8003617","berkay","+1 on showing the spreadsheet. It doesn't have to be on the docs, can be on the website. I'd put front and center, if you have this spreadsheet, it creates this API. You can even…",{"value":192,"source":72,"evidence":193},"GitHub or other OAuth login",[194],{"id":151,"by":152,"text":153},[196,203],{"value":197,"source":72,"evidence":198},"How is per-user access restriction handled?",[199],{"id":200,"by":201,"text":202},"8001430","ErikRogneby","Neat. I'll be interested to see how access restriction by user is handled? Obscure header key or URL? Something authenticated? I guess I will have to sign up to find out. It…",{"value":204,"source":72,"evidence":205},"What value over CSV parsing libraries?",[206],{"id":207,"by":208,"text":209},"8002759","chatmasta","This is really cool, and a nice implementation. My question is about target customers. Presumably, you have two sides to this: non-devs writing and uploading the spreadsheet, and…",[211,218,225,233,237],{"value":212,"source":72,"evidence":213},"APISpark",[214],{"id":215,"by":216,"text":217},"8001315","jlouvel","There is also APISpark, a full stack PaaS for web APIs, that provides a \"spreadsheet-to-web API\" feature. It works both in read and write mode. See tutorial:…",{"value":219,"source":72,"evidence":220},"Ragic",[221],{"id":222,"by":223,"text":224},"8001148","hpagey","Actually there is a company out there called https:\u002F\u002Fwww.ragic.com\u002F. Not exactly same but similar.",{"value":226,"source":72,"evidence":227},"Google Sheets API \u002F gimite google-spreadsheet-ruby",[228,229],{"id":129,"by":130,"text":131},{"id":230,"by":231,"text":232},"8001173","ngoel36","Just going to leave this here...https:\u002F\u002Fgithub.com\u002Fgimite\u002Fgoogle-spreadsheet-ruby",{"value":234,"source":55,"evidence":235},"node-csv2api",[236],{"id":91,"by":11,"text":92},{"value":238,"source":72,"evidence":239},"flatsheet, cloudstitch, data.brace.io",[240,244],{"id":241,"by":242,"text":243},"8001151","jasoncrawford","A few related projects in the “spreadsheet as API\u002FCMS” genre: http:\u002F\u002Fflatsheet.io\u002F http:\u002F\u002Fdata.brace.io\u002F http:\u002F\u002Fcloudstitch.io\u002F",{"id":245,"by":246,"text":247},"8002207","fiatjaf","What about http:\u002F\u002Fdata.brace.io\u002F?",{"comments":249,"answered":34,"key":250},16,[251,254,255],{"id":252,"text":253},"8000978","Thanks! I too was surprised when I couldn't find anyone else that had done it. Noted RE pricing, just testing the water for today - consider this a HN special if you want to lock…",{"id":58,"text":59},{"id":256,"text":257},"8002027","Author here. Thanks for all the feedback, very much appreciated, I wasn't expecting this. Feel free to email me if you have questions you'd like to take off-list (email in…",{"commenters":259,"max_depth":33,"maker_replies":249,"first_comment_mins":260,"lifespan_hours":261},54,23,28,[263,265,267,269,270,271,275,279,282,284,288,291,293,296,298,300,302,304,306,307,310,312,314,317,319,320,323,327,329,332,334,335,337,341,346,348,350,354,356,357,361,363,366,369,371,374,377,381,382,386,388,391,395,399,401,404,406,409,411,412,414,415,417,420,421,422,426,427,429,434,437,440,442,445,449,452],[105,41,39,264,106,41],"project\u002Fpositive\u002Fidea",[252,41,41,266,11,46],"maker\u002Fneutral\u002Fpricing",[241,41,41,268,242,41],"other\u002Fneutral\u002Fnone",[215,41,41,268,216,41],[222,41,41,268,223,41],[272,41,41,273,274,41],"8001259","other\u002Fpositive\u002Fnone","j45",[276,41,41,277,278,41],"8002720","other\u002Fcritical\u002Fidea","ams6110",[280,41,41,268,281,41],"8001304","antjanus",[140,46,46,283,141,41],"project\u002Fcritical\u002Fidea",[285,46,50,286,287,41],"8001312","project\u002Fneutral\u002Fidea","garysieling",[289,46,41,268,290,41],"8001352","swannvichot",[58,46,41,292,11,46],"maker\u002Fpositive\u002Fidea",[294,46,50,295,278,41],"8002556","project\u002Fmixed\u002Fidea",[256,42,41,297,11,46],"maker\u002Fneutral\u002Fnone",[173,42,50,299,174,41],"maker\u002Fneutral\u002Fdocs",[301,42,41,299,11,46],"8002140",[184,42,46,303,185,41],"project\u002Fcritical\u002Fdocs",[305,42,41,299,11,46],"8003314",[188,42,50,299,189,41],[308,50,50,286,309,41],"8000847","fomojola",[311,50,41,286,11,46],"8000891",[313,50,39,264,309,41],"8001033",[315,50,39,264,316,41],"8002032","robzyb",[230,318,41,268,231,41],4,[207,39,50,295,208,41],[321,39,41,322,11,46],"8004385","maker\u002Fneutral\u002Fidea",[324,33,50,325,326,41],"8003651","project\u002Fneutral\u002Fprivacy","deepsand",[75,18,50,328,76,41],"project\u002Fmixed\u002Fpricing",[330,38,39,264,331,41],"8003008","wc-",[109,34,39,333,110,41],"project\u002Fpositive\u002Fexecution",[129,31,46,283,130,41],[336,31,41,322,11,46],"8003344",[338,31,46,339,340,41],"8003766","project\u002Fcritical\u002Fperformance","prr",[342,343,41,344,345,41],"8001688",11,"commenter\u002Fneutral\u002Fdocs","codazoda",[347,343,41,299,11,46],"8001718",[151,32,46,349,152,41],"project\u002Fcritical\u002Fdesign",[351,352,41,268,353,41],"8002221",13,"wslh",[122,355,50,328,123,41],14,[79,355,41,266,11,46],[358,355,41,359,360,41],"8003611","commenter\u002Fneutral\u002Fnone","tn13",[362,355,41,359,123,41],"8003637",[364,355,41,359,365,41],"8003789","emocakes",[367,355,41,359,368,41],"8003861","apcherry",[370,355,41,268,360,41],"8007149",[372,355,50,328,373,41],"8003859","hopeless",[375,355,46,283,376,41],"8004539","Ecio78",[378,379,41,268,380,41],"8002793",15,"drewda",[169,249,50,299,170,41],[383,384,39,264,385,41],"8002062",17,"jeromeparadis",[200,387,50,325,201,41],18,[389,387,41,390,11,46],"8001450","maker\u002Fneutral\u002Fprivacy",[392,393,50,328,394,41],"8001808",19,"lostpixel",[396,397,41,268,398,41],"8003631",20,"victorantos",[144,400,46,283,145,41],21,[402,400,39,264,403,41],"8004270","sejordan",[245,405,41,268,246,41],22,[407,260,50,286,408,41],"8002764","erikbigelow",[159,410,50,286,160,41],24,[163,410,41,322,11,46],[413,410,39,264,160,41],"8000714",[61,410,41,322,11,46],[416,410,50,299,160,41],"8000782",[418,410,50,322,419,41],"8000737","zo1",[67,410,41,322,11,46],[133,410,46,283,134,41],[423,424,50,286,425,41],"8004081",25,"dqmdm2",[91,424,41,286,11,46],[177,428,46,303,178,41],26,[430,431,39,432,433,41],"8004123",27,"project\u002Fpositive\u002Fnone","LeicaLatte",[435,261,41,268,436,41],"8001722","malditojavi",[438,261,41,268,439,41],"8002552","avalaunch",[441,261,41,268,278,41],"8002560",[443,261,41,268,444,41],"8003678","kinj28",[446,447,39,264,448,41],"8000829",29,"notastartup",[450,447,41,268,451,41],"8001159","zavg",[453,447,41,268,11,46],"8001167",[],[456,461,466,470,474,478],{"id":457,"name":458,"points":459,"category":460},"8011081","Sysadmin Casts",443,"learning_science",{"id":462,"name":463,"points":464,"category":465},"8004839","Hacker News Redesign",380,"productivity",{"id":467,"name":468,"points":469,"category":460},"7985692","Full Stack Python",327,{"id":471,"name":472,"points":473,"category":20},"7985162","Prelang",229,{"id":475,"name":476,"points":477,"category":460},"7985305","A Rogue State Along Two Rivers",212,{"id":479,"name":480,"points":481,"category":482},"7984989","Freeciv web client",197,"games",false,"v2",{"id":486,"name":5,"line":6,"ai":483,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":487,"top":18,"kw":488,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":489,"url":9,"mix":490,"praise":102,"objection":118,"sub":21},8000528,0.02,[24,25,26,27],"5000133313355335111300031533333533115050",[31,32,33,34],1793990907801]