Install
openclaw skills install tabstack-extractorExtract structured data from websites using Tabstack API. Use when you need to scrape job listings, news articles, product pages, or any structured web content. Provides JSON schema-based extraction and clean markdown conversion. Requires TABSTACK_API_KEY environment variable.
openclaw skills install tabstack-extractorThis skill enables structured data extraction from websites using the Tabstack API. It's ideal for web scraping tasks where you need consistent, schema-based data extraction from job boards, news sites, product pages, or any structured content.
# Option A: From GitHub (recommended for sharing)
curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash
# Option B: From Nix
nix-shell -p babashka
# Option C: From Homebrew
brew install borkdude/brew/babashka
Option A: Environment variable (recommended)
export TABSTACK_API_KEY="your_api_key_here"
Option B: Configuration file
mkdir -p ~/.config/tabstack
echo '{:api-key "your_api_key_here"}' > ~/.config/tabstack/config.edn
Get an API key: Sign up at Tabstack Console
bb scripts/tabstack.clj test
bb scripts/tabstack.clj markdown "https://example.com"
# Start with simple schema (fast, reliable)
bb scripts/tabstack.clj json "https://example.com" references/simple_article.json
# Try more complex schemas (may be slower)
bb scripts/tabstack.clj json "https://news.site" references/news_schema.json
# Extract with retry logic (3 retries, 1s delay)
bb scripts/tabstack.clj json-retry "https://example.com" references/simple_article.json
# Extract with caching (24-hour cache)
bb scripts/tabstack.clj json-cache "https://example.com" references/simple_article.json
# Batch extract from URLs file
echo "https://example.com" > urls.txt
echo "https://example.org" >> urls.txt
bb scripts/tabstack.clj batch urls.txt references/simple_article.json
Extract clean, readable markdown from any webpage. Useful for content analysis, summarization, or archiving.
When to use: When you need the textual content of a page without the HTML clutter.
Example use cases:
Extract structured data using JSON schemas. Define exactly what data you want and get it in a consistent format.
When to use: When scraping job listings, product pages, news articles, or any structured data.
Example use cases:
Pre-built schemas for common scraping tasks. See references/ directory for templates.
Available schemas:
references/job_schema.json)Follow this workflow to scrape job listings:
references/job_schema.json or customizeExample job schema:
{
"type": "object",
"properties": {
"title": {"type": "string"},
"company": {"type": "string"},
"location": {"type": "string"},
"description": {"type": "string"},
"salary": {"type": "string"},
"apply_url": {"type": "string"},
"posted_date": {"type": "string"},
"requirements": {"type": "array", "items": {"type": "string"}}
}
}
web_search to find relevant URLsbrowser tool to navigate complex sitesCommon issues and solutions:
TABSTACK_API_KEY environment variabletabstack.clj - Main API wrapper in Babashka (recommended, has retry logic, caching, batch processing)tabstack_curl.sh - Bash/curl fallback (simple, no dependencies)tabstack_api.py - Python API wrapper (requires requests module)job_schema.json - Template schema for job listingsapi_reference.md - Tabstack API documentationThis skill is designed to teach agents how to use Tabstack API effectively. The key is learning to create appropriate JSON schemas for different websites.
references/simple_article.json (4 basic fields)See Schema Creation Guide for detailed instructions and examples.
Using Babashka for this skill provides:
For this skill to trigger: