• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
project logo

nucky

book-lookup-notion

use google book api to look up bibliographic metadata elements
Public
Like
1
book-lookup-notion
Home
Code
2
backend
4
README.md
Branches
1
Pull requests
Remixes
1
History
Environment variables
2
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
5/23/2025
Viewing readonly version of main branch: v71
View latest version
README.md

Notion Book Database Auto-Populator

This Val automatically enriches your existing "val Book Lookup" database by fetching comprehensive metadata from Google Books API.

How It Works

You already have the perfect setup! Your "val Book Lookup" database contains:

  • Title ✓
  • Author ✓
  • ISBN ✓
  • Year Published ✓
  • Page Count ✓
  • Publisher ✓

The Val will:

  1. Find records with Title + Author but missing other data
  2. Search Google Books API for metadata
  3. Fill in the empty fields automatically

Current Workflow

Your Current Setup (Perfect!):

  1. Add books to "val Book Lookup" → Enter Title + Author
  2. Press the button (visit your Val URL) → It fills in all available metadata
  3. Link to your main Books database via Relations/Rollups

Metadata Currently Being Captured:

Your script pulls comprehensive data from Google Books API:

Core Fields (currently in your table):

  • ✅ ISBN - Prefers ISBN-13, falls back to ISBN-10
  • ✅ Year Published - Extracted from publication date
  • ✅ Page Count - Direct from Google Books
  • ✅ Publisher - Direct from Google Books
  • ✅ Description - Available (add column to see it)

Rich Metadata Available (add these columns to capture):

  • Subtitle (Rich text) - Book subtitle
  • Categories (Multi-select) - Genre/subject categories
  • Average Rating (Number) - Google Books rating
  • Ratings Count (Number) - Number of ratings
  • Language (Rich text) - Book language
  • Published Date (Rich text) - Full publication date
  • Preview Link (URL) - Google Books preview
  • Info Link (URL) - Google Books info page
  • Image Links (Rich text) - Book cover images (JSON)

Setup (Already Done!)

Your system is already configured! Just make sure:

  • NOTION_API_TOKEN points to your integration
  • NOTION_DATABASE_ID points to your "val Book Lookup" database

Usage

Manual Processing (Your Current Setup)

To process all incomplete records: Visit: https://your-val-url.web.val.run/

To check system status: Visit: https://your-val-url.web.val.run/status

To process a specific record: Visit: https://your-val-url.web.val.run/process/RECORD_ID

To see all available endpoints: Visit: https://your-val-url.web.val.run/help

Linking to Your Main Books Database

To connect your "val Book Lookup" to your main reading database:

  1. Add Relation Property to your main Books database:

    • Name: "Book Info"
    • Type: Relation
    • Related database: "val Book Lookup"
  2. Add Rollup Properties to show metadata:

    • ISBN: Rollup → Book Info → ISBN
    • Year: Rollup → Book Info → Year Published
    • Pages: Rollup → Book Info → Page Count
    • Publisher: Rollup → Book Info → Publisher

Now when you add a book to your main database, just link it to the corresponding record in "val Book Lookup"!

API Endpoints

  • GET / - Process all incomplete records
  • GET /status - Check configuration
  • GET /process/:recordId - Process specific record
  • GET /health - Health check

Files

  • /backend/index.ts - Main HTTP handler with manual trigger
  • /backend/notion.ts - Notion API integration with comprehensive metadata support
  • /backend/books.ts - Google Books API with extensive metadata extraction
  • /backend/processor.ts - Processing logic for enriching records

Benefits

✅ Works with your existing setup
✅ Comprehensive Google Books metadata (15+ fields available) ✅ Smart matching algorithm (exact + relaxed search) ✅ Only fills empty fields (preserves your data) ✅ Manual button-press execution (no unwanted automation) ✅ Links to your reading database via Relations/Rollups ✅ Expandable with more metadata columns (just add them to Notion)

FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.