Compare commits

26 Commits

Author SHA1 Message Date
da6f133168 Update caddy Docker tag to v2.11.2
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-06 21:02:27 +00:00
d1ec1adfda Correct typo in location of Leaves' rare book room
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-02 16:46:29 +00:00
a523ade3b6 Merge pull request 'Update dependency sitemap to v9.0.1' (#29) from renovate/sitemap-9.x-lockfile into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #29
2026-02-28 21:27:31 +00:00
e2e7a348d4 Update dependency sitemap to v9.0.1
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-28 06:02:41 +00:00
aa7f38cb18 Merge pull request 'Update caddy Docker tag to v2.11.1' (#28) from renovate/caddy-2.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is running
Reviewed-on: #28
2026-02-24 21:04:32 +00:00
fcf132360e Update caddy Docker tag to v2.11.1
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-23 21:02:45 +00:00
47e91490e6 Add Leaves' rare book room in Bushwick to their description
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-15 04:02:06 +00:00
a258c9c7e9 update some more sites to use https
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-03 14:43:54 +00:00
63b6ce7fb2 add some more meta descriptions for stores
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-01 14:40:54 -05:00
7b14ec5937 Merge pull request 'Update dependency cheerio to v1.2.0' (#27) from renovate/cheerio-1.x-lockfile into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #27
2026-01-23 22:24:21 +00:00
e3cd647e0e Update dependency cheerio to v1.2.0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-01-23 17:02:10 +00:00
75d4b0a220 add love and legends, add descriptions for Village Works and Pillow-Cat Books
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-12-26 16:16:00 +00:00
0e22e7139e Better Read Than Dead at 867 Broadway is now Book Row; the 90 Kosciuszko no longer has regular hours
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 23:38:08 -05:00
5225baf80a Merge pull request 'Update node Docker tag to v25' (#23) from renovate/node-25.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #23
2025-11-18 04:32:20 +00:00
bf081e471f Merge pull request 'Update dependency sitemap to v9' (#26) from renovate/sitemap-9.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #26
2025-11-18 04:28:02 +00:00
a0c65d2a8c Update dependency sitemap to v9
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 23:25:04 -05:00
31f2b19e75 melville house doesn't have a store anymore; Bravo's Book Nook is only open during shows
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 23:23:44 -05:00
cec551bca4 Add Manga Spot inside the Columbus Circle subway station
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 03:33:39 +00:00
24b64e68c7 Correct a few more websites
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 03:27:42 +00:00
8ac4e7a0e9 Karma Bookshop closed in April
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
https://evgrieve.com/2025/04/karma-bookshop-has-closed-for-now-in.html
2025-11-17 03:08:51 +00:00
73c970905b Here's A Book Store has a slightly better web presence now
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 02:52:40 +00:00
7dd44724a4 Book Thug Nation closed in March
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 02:46:30 +00:00
6693f20598 Berl's Poetry Shop has closed
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 02:44:12 +00:00
9037ddb8bf Welcome Words on Warren and Clown Show Prison
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-17 02:40:02 +00:00
420d2b1cdb Cups and Books closed in January
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-11-13 22:17:25 +00:00
b5ceed8279 Update node Docker tag to v25
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-10-16 19:02:21 +00:00
4 changed files with 175 additions and 205 deletions

View File

@@ -1,9 +1,9 @@
FROM node:24 AS builder FROM node:25 AS builder
COPY . /src COPY . /src
WORKDIR /src WORKDIR /src
RUN npm install && node ./index.js RUN npm install && node ./index.js
FROM caddy:2.10.2 FROM caddy:2.11.2
COPY --from=builder /src/build /usr/share/caddy COPY --from=builder /src/build /usr/share/caddy

117
package-lock.json generated
View File

@@ -10,14 +10,16 @@
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"dependencies": { "dependencies": {
"cheerio": "^1.0.0", "cheerio": "^1.0.0",
"sitemap": "^8.0.0" "sitemap": "^9.0.0"
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "17.0.45", "version": "24.9.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz",
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", "integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==",
"license": "MIT" "dependencies": {
"undici-types": "~7.16.0"
}
}, },
"node_modules/@types/sax": { "node_modules/@types/sax": {
"version": "1.2.7", "version": "1.2.7",
@@ -40,20 +42,20 @@
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
}, },
"node_modules/cheerio": { "node_modules/cheerio": {
"version": "1.1.2", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz",
"integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==",
"dependencies": { "dependencies": {
"cheerio-select": "^2.1.0", "cheerio-select": "^2.1.0",
"dom-serializer": "^2.0.0", "dom-serializer": "^2.0.0",
"domhandler": "^5.0.3", "domhandler": "^5.0.3",
"domutils": "^3.2.2", "domutils": "^3.2.2",
"encoding-sniffer": "^0.2.1", "encoding-sniffer": "^0.2.1",
"htmlparser2": "^10.0.0", "htmlparser2": "^10.1.0",
"parse5": "^7.3.0", "parse5": "^7.3.0",
"parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-htmlparser2-tree-adapter": "^7.1.0",
"parse5-parser-stream": "^7.1.2", "parse5-parser-stream": "^7.1.2",
"undici": "^7.12.0", "undici": "^7.19.0",
"whatwg-mimetype": "^4.0.0" "whatwg-mimetype": "^4.0.0"
}, },
"engines": { "engines": {
@@ -180,9 +182,9 @@
} }
}, },
"node_modules/htmlparser2": { "node_modules/htmlparser2": {
"version": "10.0.0", "version": "10.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz",
"integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==",
"funding": [ "funding": [
"https://github.com/fb55/htmlparser2?sponsor=1", "https://github.com/fb55/htmlparser2?sponsor=1",
{ {
@@ -193,14 +195,14 @@
"dependencies": { "dependencies": {
"domelementtype": "^2.3.0", "domelementtype": "^2.3.0",
"domhandler": "^5.0.3", "domhandler": "^5.0.3",
"domutils": "^3.2.1", "domutils": "^3.2.2",
"entities": "^6.0.0" "entities": "^7.0.1"
} }
}, },
"node_modules/htmlparser2/node_modules/entities": { "node_modules/htmlparser2/node_modules/entities": {
"version": "6.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
"integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
"engines": { "engines": {
"node": ">=0.12" "node": ">=0.12"
}, },
@@ -287,31 +289,36 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/sitemap": { "node_modules/sitemap": {
"version": "8.0.2", "version": "9.0.1",
"resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.2.tgz", "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz",
"integrity": "sha512-LwktpJcyZDoa0IL6KT++lQ53pbSrx2c9ge41/SeLTyqy2XUNA6uR4+P9u5IVo5lPeL2arAcOKn1aZAxoYbCKlQ==", "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==",
"dependencies": { "dependencies": {
"@types/node": "^17.0.5", "@types/node": "^24.9.2",
"@types/sax": "^1.2.1", "@types/sax": "^1.2.1",
"arg": "^5.0.0", "arg": "^5.0.0",
"sax": "^1.4.1" "sax": "^1.4.1"
}, },
"bin": { "bin": {
"sitemap": "dist/cli.js" "sitemap": "dist/esm/cli.js"
}, },
"engines": { "engines": {
"node": ">=14.0.0", "node": ">=20.19.5",
"npm": ">=6.0.0" "npm": ">=10.8.2"
} }
}, },
"node_modules/undici": { "node_modules/undici": {
"version": "7.15.0", "version": "7.19.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.15.0.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-7.19.0.tgz",
"integrity": "sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==", "integrity": "sha512-Heho1hJD81YChi+uS2RkSjcVO+EQLmLSyUlHyp7Y/wFbxQaGb4WXVKD073JytrjXJVkSZVzoE2MCSOKugFGtOQ==",
"engines": { "engines": {
"node": ">=20.18.1" "node": ">=20.18.1"
} }
}, },
"node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="
},
"node_modules/whatwg-encoding": { "node_modules/whatwg-encoding": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
@@ -334,9 +341,12 @@
}, },
"dependencies": { "dependencies": {
"@types/node": { "@types/node": {
"version": "17.0.45", "version": "24.9.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz",
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" "integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==",
"requires": {
"undici-types": "~7.16.0"
}
}, },
"@types/sax": { "@types/sax": {
"version": "1.2.7", "version": "1.2.7",
@@ -357,20 +367,20 @@
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
}, },
"cheerio": { "cheerio": {
"version": "1.1.2", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz",
"integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==",
"requires": { "requires": {
"cheerio-select": "^2.1.0", "cheerio-select": "^2.1.0",
"dom-serializer": "^2.0.0", "dom-serializer": "^2.0.0",
"domhandler": "^5.0.3", "domhandler": "^5.0.3",
"domutils": "^3.2.2", "domutils": "^3.2.2",
"encoding-sniffer": "^0.2.1", "encoding-sniffer": "^0.2.1",
"htmlparser2": "^10.0.0", "htmlparser2": "^10.1.0",
"parse5": "^7.3.0", "parse5": "^7.3.0",
"parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-htmlparser2-tree-adapter": "^7.1.0",
"parse5-parser-stream": "^7.1.2", "parse5-parser-stream": "^7.1.2",
"undici": "^7.12.0", "undici": "^7.19.0",
"whatwg-mimetype": "^4.0.0" "whatwg-mimetype": "^4.0.0"
} }
}, },
@@ -452,20 +462,20 @@
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
}, },
"htmlparser2": { "htmlparser2": {
"version": "10.0.0", "version": "10.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz",
"integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==",
"requires": { "requires": {
"domelementtype": "^2.3.0", "domelementtype": "^2.3.0",
"domhandler": "^5.0.3", "domhandler": "^5.0.3",
"domutils": "^3.2.1", "domutils": "^3.2.2",
"entities": "^6.0.0" "entities": "^7.0.1"
}, },
"dependencies": { "dependencies": {
"entities": { "entities": {
"version": "6.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
"integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==" "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="
} }
} }
}, },
@@ -528,20 +538,25 @@
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
}, },
"sitemap": { "sitemap": {
"version": "8.0.2", "version": "9.0.1",
"resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.2.tgz", "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz",
"integrity": "sha512-LwktpJcyZDoa0IL6KT++lQ53pbSrx2c9ge41/SeLTyqy2XUNA6uR4+P9u5IVo5lPeL2arAcOKn1aZAxoYbCKlQ==", "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==",
"requires": { "requires": {
"@types/node": "^17.0.5", "@types/node": "^24.9.2",
"@types/sax": "^1.2.1", "@types/sax": "^1.2.1",
"arg": "^5.0.0", "arg": "^5.0.0",
"sax": "^1.4.1" "sax": "^1.4.1"
} }
}, },
"undici": { "undici": {
"version": "7.15.0", "version": "7.19.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.15.0.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-7.19.0.tgz",
"integrity": "sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==" "integrity": "sha512-Heho1hJD81YChi+uS2RkSjcVO+EQLmLSyUlHyp7Y/wFbxQaGb4WXVKD073JytrjXJVkSZVzoE2MCSOKugFGtOQ=="
},
"undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="
}, },
"whatwg-encoding": { "whatwg-encoding": {
"version": "3.1.1", "version": "3.1.1",

View File

@@ -15,7 +15,7 @@
"homepage": "https://www.nycbookstores.org/", "homepage": "https://www.nycbookstores.org/",
"dependencies": { "dependencies": {
"cheerio": "^1.0.0", "cheerio": "^1.0.0",
"sitemap": "^8.0.0" "sitemap": "^9.0.0"
}, },
"type": "module" "type": "module"
} }

View File

@@ -342,7 +342,7 @@
"website": "https://www.bookculture.com/", "website": "https://www.bookculture.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Book Culture on Broadway is an Upper West Side bookstore stocking new, general-interest fiction and non-fiction, with a basement children's section."
}, },
{ {
"name": "Book Culture LIC", "name": "Book Culture LIC",
@@ -357,7 +357,7 @@
"website": "https://www.bookculture.com/", "website": "https://www.bookculture.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Book Culture LIC is an independent bookstore in Long Island City, Queens a few blocks from MOMA PS1."
}, },
{ {
"name": "Westsider Rare & Used Books", "name": "Westsider Rare & Used Books",
@@ -369,10 +369,10 @@
"lat": "40.784668", "lat": "40.784668",
"long": "-73.979029", "long": "-73.979029",
"country": "USA", "country": "USA",
"website": "http://westsiderbooks.com/bookstore.html", "website": "https://westsiderbooks.com/",
"events": "No", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Westsider Rare & Used Books on the Upper West Side is a tall and narrow longtime used bookstore, with an eclectic selection of titles and rare books."
}, },
{ {
"name": "Word Up Books", "name": "Word Up Books",
@@ -387,7 +387,7 @@
"website": "https://www.wordupbooks.com/", "website": "https://www.wordupbooks.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Word Up Books in Washington Heights is a volunteer-staffed nonprofid community bookstore and cultural space, with books and events in English and Spanish."
}, },
{ {
"name": "Turn The Page... Again", "name": "Turn The Page... Again",
@@ -402,22 +402,7 @@
"website": "http://www.turnthepageagain.com/", "website": "http://www.turnthepageagain.com/",
"events": "No", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Turn The Page... Again in Flushing, Queens is a nonprofit used book store staffed by community members with mental illness transitioning to employement."
},
{
"name": "Book Thug Nation",
"address": "100 North 3rd St",
"city": "Brooklyn",
"state": "NY",
"postcode": "11249",
"description": "The admittedly oddly-named Book Thug Nation is a used book store in Williamsburg that prides itself on its broad selection of high-quality used literary fiction, philosophy, and flim criticism. Its sister store is Human Relations in Bushwick.",
"lat": "40.716627",
"long": "-73.961932",
"country": "USA",
"website": "https://www.instagram.com/bookthugnation/",
"events": "Yes",
"cafe": "No",
"meta": ""
}, },
{ {
"name": "Posman Books Chelsea Market", "name": "Posman Books Chelsea Market",
@@ -425,14 +410,14 @@
"city": "New York", "city": "New York",
"state": "NY", "state": "NY",
"postcode": "10011", "postcode": "10011",
"description": "The Chelsea Market outpost is split about evenly between children's books and general fiction (mainly paperback), with travel guides making up the difference. It's situated near the 10th Ave entrance.", "description": "The Chelsea Market outpost is split about evenly between children's books and general fiction (mainly paperback), with travel guides making up the difference. It also has a large knicknacks and gifts section. It's situated near the 10th Ave entrance.",
"lat": "40.7426819", "lat": "40.7426819",
"long": "-74.006456", "long": "-74.006456",
"country": "USA", "country": "USA",
"website": "https://www.posmanbooks.com/", "website": "https://www.posmanbooks.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Posman Books at Chelsea Market (near the 10th Ave entrance) is a small independent bookstore offering fiction, children's books, travel guides, and gifts."
}, },
{ {
"name": "Books Of Wonder", "name": "Books Of Wonder",
@@ -440,14 +425,14 @@
"city": "New York", "city": "New York",
"state": "NY", "state": "NY",
"postcode": "10011", "postcode": "10011",
"description": "A children's bookstore, concentrating on picture books and elementary-age fiction, with some teen fiction. Hosts frequent storytimes and events. In back, they maintain a display of rare and vintage children's books as well as prints and original artwork from picture books. Also contains a birdbath café.", "description": "A children's bookstore, concentrating on picture books and elementary-age fiction, with some teen fiction. Hosts frequent storytimes and events. In back, they maintain a display of rare and vintage children's books as well as prints and original artwork from picture books. Also contains a café.",
"lat": "40.738756", "lat": "40.738756",
"long": "-73.994343", "long": "-73.994343",
"country": "USA", "country": "USA",
"website": "https://booksofwonder.com/", "website": "https://booksofwonder.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Books of Wonder in Midtown is a bookstore specializing in picture books, middle-grade fiction, and events, as well as a displays of rare and vintage books."
}, },
{ {
"name": "Bonnie Slotnick Cookbooks", "name": "Bonnie Slotnick Cookbooks",
@@ -455,14 +440,14 @@
"city": "New York", "city": "New York",
"state": "NY", "state": "NY",
"postcode": "10003", "postcode": "10003",
"description": "One of four cookbooks sellers in the city, Bonnie Slotnick sells cookbooks for cuisines both local and international, sorted by region. Recently relocated to current location. Check website for hours and days of operation, as they change frequently.", "description": "One of four cookbooks sellers in the city, Bonnie Slotnick sells used cookbooks for cuisines both local and international, sorted by region, as well as collections of food writing. Check website for hours and days of operation, as they change frequently.",
"lat": "40.72528", "lat": "40.72528",
"long": "-73.990661", "long": "-73.990661",
"country": "USA", "country": "USA",
"website": "http://www.bonnieslotnickcookbooks.com/", "website": "http://www.bonnieslotnickcookbooks.com/",
"events": "No", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Bonnie Slotnick Cookbooks in Manhattan is a specialty bookstore dedicated entirely to used cookbooks and collections of food writing, organized by region."
}, },
{ {
"name": "Kitchen Arts & Letters", "name": "Kitchen Arts & Letters",
@@ -470,14 +455,14 @@
"city": "New York", "city": "New York",
"state": "NY", "state": "NY",
"postcode": "10128", "postcode": "10128",
"description": "This food- and wine-focused bookstore on the Upper East Side caters to foodies of every stripe, from chefs and sommeliers to writers and those who merely love to eat. A broad selection of cookbooks from around the world and in every language are available, and they have the ability ot track down rare titles. Events are held in conjunction with outside partners; the store itself simply doesn't have the space.", "description": "This food- and wine-focused bookstore on the Upper East Side caters to foodies of every stripe, from chefs and sommeliers to writers and those who merely love to eat. A broad selection of cookbooks from around the world and in every language are available, and they have the ability to track down rare titles. Events are held in conjunction with outside partners; the store itself simply doesn't have the space.",
"lat": "40.784352", "lat": "40.784352",
"long": "-73.9518392", "long": "-73.9518392",
"country": "USA", "country": "USA",
"website": "https://kitchenartsandletters.com/", "website": "https://kitchenartsandletters.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Kitchen Arts & Letters on the Upper East Side is a cookbook and food-writing bookstore stocking a broad selection of new cookbooks from around the world."
}, },
{ {
"name": "Revolution Books", "name": "Revolution Books",
@@ -492,7 +477,7 @@
"website": "https://shop.revolutionbooksnyc.org/", "website": "https://shop.revolutionbooksnyc.org/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Revolution Books in Harlem specializes in books on radical politics, Marxist theory, and race relations. Owned by the Revolutionary Communist Party USA."
}, },
{ {
"name": "Spoonbill & Sugartown, Booksellers", "name": "Spoonbill & Sugartown, Booksellers",
@@ -507,22 +492,7 @@
"website": "https://www.spoonbillbooks.com/", "website": "https://www.spoonbillbooks.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Spoonbill & Sugartown in Williamsburg, Brooklyn is an independent bookstore selling new and used books focused on design, architecture, and fiction."
},
{
"name": "Melville House Publishers",
"address": "46 John St",
"city": "Brooklyn",
"state": "NY",
"postcode": "11201",
"description": "The publisher Melville House has a small retail space in its offices, open from noon to six weekdays, and stocking their current catalog. The press' offices are hidden behind a set of rotating shelves.",
"lat": "40.7042707",
"long": "-73.9871647",
"country": "USA",
"website": "https://www.mhpbooks.com/",
"events": "Yes",
"cafe": "No",
"meta": ""
}, },
{ {
"name": "Printed Matter", "name": "Printed Matter",
@@ -537,7 +507,7 @@
"website": "https://www.printedmatter.org/locations", "website": "https://www.printedmatter.org/locations",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Printed Matter in Chelsea is a nonprofit bookstore dedicated to small press works, zines, experimental publishing, and books as artistic expression."
}, },
{ {
"name": "192 Books", "name": "192 Books",
@@ -552,7 +522,7 @@
"website": "http://www.192books.com/", "website": "http://www.192books.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "192 Books in Chelsea is an independent bookstore specializing in literary fiction, contemporary art books, translated titles, and children's literature."
}, },
{ {
"name": "Freebird Books", "name": "Freebird Books",
@@ -564,25 +534,10 @@
"lat": "40.687431", "lat": "40.687431",
"long": "-74.001382", "long": "-74.001382",
"country": "USA", "country": "USA",
"website": "http://www.freebirdbooks.com/", "website": "https://www.freebirdbooks.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Freebird Books in Red Hook, Brooklyn is a used bookstore open only on weekends with a broad variety of books, with extra emphasis on New York culture."
},
{
"name": "Berl's Brooklyn Poetry Shop",
"address": "126A Front St",
"city": "Brooklyn",
"state": "NY",
"postcode": "11201",
"description": "Billing itself as the only poetry-only bookstore in New York City, Berl's does indeed stock only poetry, with a notable tilt toward current works over the classics. They also have a very full events schedule, with reading most nights they're open (Wednesday through Sunday).",
"lat": "40.702303",
"long": "-73.987312",
"country": "USA",
"website": "http://www.berlspoetry.com/",
"events": "Yes",
"cafe": "No",
"meta": ""
}, },
{ {
"name": "Here's A Book Store", "name": "Here's A Book Store",
@@ -594,10 +549,10 @@
"lat": "40.609256", "lat": "40.609256",
"long": "-73.962427", "long": "-73.962427",
"country": "USA", "country": "USA",
"website": "https://www.facebook.com/profile.php?id=100057614522975", "website": "https://www.instagram.com/heresabookstore/",
"events": "?", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Here's A Book Store on Coney Island is an idiosyncratic independent neighborhood bookstore offering used books across a wide variety of genres."
}, },
{ {
"name": "Argosy Books", "name": "Argosy Books",
@@ -605,14 +560,14 @@
"city": "New York", "city": "New York",
"state": "NY", "state": "NY",
"postcode": "10022", "postcode": "10022",
"description": "A huge rare and antique bookseller on 59th St, Argosy feels like a secret library, the shelves and every available surface stuffed with books. Not all of the six floors plus basement are open to walk-ins, but requesting access is easy. Some floors are devoted to other rarities than books, as well: one floor is entirely set aside for autographs, another for prints. The main floor holds the reference desks, while the basement holds many of the general-interest titles and more modern used books. Hours are reduced during the summer months.", "description": "A long-time (100+ years) and enormous rare and antique bookseller on 59th St, Argosy feels like a secret library, the shelves and every available surface stuffed with books. Not all of the six floors plus basement are open to walk-ins, but requesting access is easy. Some floors are devoted to other rarities than books, as well: one floor is entirely set aside for autographs, another for prints. The main floor holds the reference desks, while the basement holds many of the general-interest titles and more modern used books. Hours are reduced during the summer months.",
"lat": "40.762398", "lat": "40.762398",
"long": "-73.96905", "long": "-73.96905",
"country": "USA", "country": "USA",
"website": "https://www.argosybooks.com/", "website": "https://www.argosybooks.com/",
"events": "No", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Argosy Books in Midtown Manhattan is a 100-year-old historic rare and antiquarian bookstore spanning multiple floors of books and printed material."
}, },
{ {
"name": "POWERHOUSE on 8th", "name": "POWERHOUSE on 8th",
@@ -627,7 +582,7 @@
"website": "https://www.powerhousebookstores.com/", "website": "https://www.powerhousebookstores.com/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "POWERHOUSE on 8th in Park Slope is a community-focused bookstore featuring new fiction and non-fiction, children's and YA books, and weekly storytimes."
}, },
{ {
"name": "Terrace Books", "name": "Terrace Books",
@@ -660,7 +615,7 @@
"meta": "" "meta": ""
}, },
{ {
"name": "Better Read Than Dead", "name": "Book Row",
"address": "867 Broadway", "address": "867 Broadway",
"city": "Brooklyn", "city": "Brooklyn",
"state": "NY", "state": "NY",
@@ -669,26 +624,11 @@
"lat": "40.698648", "lat": "40.698648",
"long": "-73.937703", "long": "-73.937703",
"country": "USA", "country": "USA",
"website": "http://betterreadthandeadbooks.com/", "website": "https://www.instagram.com/_bookrow/",
"events": "No", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": ""
}, },
{
"name": "Better Read Than Dead & Burly Coffee",
"address": "90 Kosciuszko St",
"city": "Brooklyn",
"state": "NY",
"postcode": "11205",
"description": "",
"lat": "40.69042227153706",
"long": "-73.95191960220052",
"country": "USA",
"website": "http://betterreadthandeadbooks.com/",
"events": "No",
"cafe": "Yes",
"meta": ""
},
{ {
"name": "Desert Island Comics", "name": "Desert Island Comics",
"address": "540 Metropolitan Ave", "address": "540 Metropolitan Ave",
@@ -725,11 +665,11 @@
"city": "Brooklyn", "city": "Brooklyn",
"state": "NY", "state": "NY",
"postcode": "11237", "postcode": "11237",
"description": "The second bookstore from the owners of Book Thug Nation, Human Relations offers a similar focus on high-quality used fiction and philosophy in a larger space in Bushwick. ", "description": "Human Relations offers a focus on high-quality used fiction and philosophy in Bushwick.",
"lat": "40.704526", "lat": "40.704526",
"long": "-73.92971", "long": "-73.92971",
"country": "USA", "country": "USA",
"website": "http://www.humanrelationsbooks.com/", "website": "https://www.instagram.com/humanrelationsnyc/",
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": ""
@@ -759,7 +699,7 @@
"lat": "40.63694", "lat": "40.63694",
"long": "-74.076724", "long": "-74.076724",
"country": "USA", "country": "USA",
"website": "http://www.etgstores.com/bookcafe/", "website": "https://www.etgstores.com/bookcafe/",
"events": "Yes", "events": "Yes",
"cafe": "Yes", "cafe": "Yes",
"meta": "" "meta": ""
@@ -819,7 +759,7 @@
"lat": "40.8324894", "lat": "40.8324894",
"long": "-73.9426783", "long": "-73.9426783",
"country": "USA", "country": "USA",
"website": "http://www.sistersuptownbookstore.com/", "website": "https://www.sistersuptownbookstore.com/",
"events": "Yes", "events": "Yes",
"cafe": "Yes", "cafe": "Yes",
"meta": "" "meta": ""
@@ -1029,7 +969,7 @@
"lat": "40.7793372", "lat": "40.7793372",
"long": "-73.9827287", "long": "-73.9827287",
"country": "USA", "country": "USA",
"website": "http://westsiderbooks.com/recordstore.html", "website": "https://www.instagram.com/westsiderrecords/",
"events": "No", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": ""
@@ -1119,7 +1059,7 @@
"lat": "40.725404", "lat": "40.725404",
"long": "-73.9925904", "long": "-73.9925904",
"country": "USA", "country": "USA",
"website": "http://codexbooks.info/", "website": "https://codexbooks.info/",
"events": "Yes", "events": "Yes",
"cafe": "Yes", "cafe": "Yes",
"meta": "" "meta": ""
@@ -1134,7 +1074,7 @@
"lat": "40.80721", "lat": "40.80721",
"long": "-73.9275679", "long": "-73.9275679",
"country": "USA", "country": "USA",
"website": "http://www.thelitbar.com/", "website": "https://www.thelitbar.com/",
"events": "Yes", "events": "Yes",
"cafe": "Yes", "cafe": "Yes",
"meta": "" "meta": ""
@@ -1149,7 +1089,7 @@
"lat": "40.776484", "lat": "40.776484",
"long": "-73.981811", "long": "-73.981811",
"country": "USA", "country": "USA",
"website": "https://shop.shakeandco.com/", "website": "https://www.strandbooks.com/",
"events": "Yes", "events": "Yes",
"cafe": "Yes", "cafe": "Yes",
"meta": "" "meta": ""
@@ -1184,51 +1124,6 @@
"cafe": "No", "cafe": "No",
"meta": "" "meta": ""
}, },
{
"name": "Bravo's Book Nook",
"address": "115 MacDougal St",
"city": "New York",
"state": "NY",
"postcode": "11694",
"description": "",
"lat": "40.730153",
"long": "-74.000720",
"country": "USA",
"website": "https://www.bravosbooknook.com/",
"events": "Yes",
"cafe": "No",
"meta": ""
},
{
"name": "Karma Bookstore",
"address": "136 East Third St",
"city": "New York",
"state": "NY",
"postcode": "10009",
"description": "",
"lat": "40.7238937",
"long": "-73.9858506",
"country": "USA",
"website": "https://bookstore.karmakarma.org/",
"events": "Yes",
"cafe": "No",
"meta": ""
},
{
"name": "Cups and Books",
"address": "2024 Bedford Ave",
"city": "Brooklyn",
"state": "NY",
"postcode": "11226",
"description": "",
"lat": "40.65529872781462",
"long": "-73.95637355396825",
"country": "USA",
"website": "https://www.facebook.com/cupsandbooksllc/",
"events": "Yes",
"cafe": "Yes",
"meta": ""
},
{ {
"name": "Book Club Bar", "name": "Book Club Bar",
"address": "197 E 3rd St", "address": "197 E 3rd St",
@@ -1250,14 +1145,14 @@
"city": "New York", "city": "New York",
"state": "NY", "state": "NY",
"postcode": "10003", "postcode": "10003",
"description": "", "description": "An adorable small bookshop in the East Village, Pillow-Cat Books is \"animal-themed\", which means that it predominantly sells books either with animals in them, or about animals. This translates into a selection that's relatively heavy on children's titles for the size of the store, although there's plenty of books for all ages and interests -- as long as those interests are animal-focused. Has new, used, and antique books. Owned by Cleo Le-Tan, author of A Booklover's Guide to New York.",
"lat": "40.7286362", "lat": "40.7286362",
"long": "-73.9861984", "long": "-73.9861984",
"country": "USA", "country": "USA",
"website": "https://www.pillowcatbooks.com/", "website": "https://www.pillowcatbooks.com/",
"events": "No", "events": "No",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Pillow-Cat Books is an animal-themed bookstore in the East Village selling new and used books related to animals."
}, },
{ {
"name": "Sweet Pickle Books", "name": "Sweet Pickle Books",
@@ -1325,14 +1220,14 @@
"city": "Brooklyn", "city": "Brooklyn",
"state": "NY", "state": "NY",
"postcode": "11222", "postcode": "11222",
"description": "", "description": "Leaves is a used-book bookstore in Greenpoint with plants in the window and a tightly-packed selection of books inside, crossing all genres and price-points. They have an associated rare-book room in Bushwick (350 Harman Street) that's only open by appointment.",
"lat": "40.724624069109176", "lat": "40.724624069109176",
"long": "-73.94772902883567", "long": "-73.94772902883567",
"country": "USA", "country": "USA",
"website": "https://www.leavesbookstore.com/", "website": "https://www.leavesbookstore.com/",
"events": "No", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": "Leaves Bookstore in Greenpoint, Brooklyn is a used bookstore with a selection crossing all genres and prices, as well as a rare book room in Bushwick."
}, },
{ {
"name": "Burnt Books", "name": "Burnt Books",
@@ -1610,14 +1505,14 @@
"city": "New York", "city": "New York",
"state": "NY", "state": "NY",
"postcode": "10003", "postcode": "10003",
"description": "", "description": "Located on St. Marks Place, Village Works is a bookstore dedicated to New York City's culture in all its rebellious, artistic, transgressive glory. Stocks plenty of art books, monographs, and books from small presses focused on New York City, especially its grittier, artistic, and musical sides. Art, photography, music, and fashion all collide in the store. Open late (1AM).",
"lat": "40.72914082270099", "lat": "40.72914082270099",
"long": "-73.98920772389302", "long": "-73.98920772389302",
"country": "USA", "country": "USA",
"website": "https://www.villageworksnyc.com/", "website": "https://www.villageworksnyc.com/",
"events": "Yes", "events": "Yes",
"cafe": "Soon?", "cafe": "No",
"meta": "" "meta": "Village Works is a bookstore on St. Marks Place dedicated to New York City arts and culture, carrying new and used books."
}, },
{ {
"name": "Topos Too", "name": "Topos Too",
@@ -1630,8 +1525,8 @@
"long": "-73.89895900901953", "long": "-73.89895900901953",
"country": "USA", "country": "USA",
"website": "https://www.toposbookstore.com/", "website": "https://www.toposbookstore.com/",
"events": "?", "events": "Yes",
"cafe": "No", "cafe": "Yes",
"meta": "" "meta": ""
}, },
{ {
@@ -1798,5 +1693,65 @@
"events": "Yes", "events": "Yes",
"cafe": "No", "cafe": "No",
"meta": "" "meta": ""
},
{
"name": "Clown Show Prison",
"address": "100 Freeman St",
"city": "Brooklyn",
"state": "NY",
"postcode": "11222",
"description": "",
"lat": "40.73410908196111",
"long": "-73.95756898158734",
"country": "USA",
"website": "https://clownshowprison.com/",
"events": "Yes",
"cafe": "No",
"meta": ""
},
{
"name": "Words On Warren",
"address": "52 Warren St",
"city": "New York",
"state": "NY",
"postcode": "10007",
"description": "",
"lat": "40.71476560143338",
"long": "-74.0090636590269",
"country": "USA",
"website": "https://www.wordsonwarren.com/",
"events": "Yes",
"cafe": "No",
"meta": ""
},
{
"name": "Manga Spot",
"address": "1000 8th Ave",
"city": "New York",
"state": "NY",
"postcode": "10019",
"description": "Located underground in the \"Turnstyle\"/\"Underground Market\" in the 59th Street/Columbus Circle subaway station.",
"lat": "40.7669575944698",
"long": "-73.98296614436174",
"country": "USA",
"website": "https://www.instagram.com/mangaspotnyc",
"events": "No",
"cafe": "No",
"meta": ""
},
{
"name": "Love & Legends Books",
"address": "667 Washington Ave",
"city": "Brooklyn",
"state": "NY",
"postcode": "11238",
"description": "",
"lat": "40.677195785426136",
"long": "-73.96349337854555",
"country": "USA",
"website": "https://www.loveandlegendsbooks.com/",
"events": "Yes",
"cafe": "No",
"meta": ""
} }
] ]