| 📚 Documentation Index | ⬅️ Back to Main README |
This document contains curated, end-to-end examples for common automation tasks with curllm. You can also generate runnable shell scripts for these examples into the examples/ directory.
make examples (or bash tools/generate_examples.sh)examples/curllm-*.shcurllm --start-services && curllm --statusExtract all links
curllm "https://example.com" -d "extract all links"
Extract emails and phones
curllm "https://example.com/contact" -d "extract all emails and phone numbers"
Take a screenshot
curllm "https://example.com" -d "screenshot"
Products under 150 zł (public proxy rotation)
export CURLLM_PUBLIC_PROXY_LIST="https://raw.githubusercontent.com/clarketm/proxy-list/master/proxy-list-raw.txt"
curllm "https://ceneo.pl" -d "Find all products under 150zł and extract names, prices and urls" \
--stealth --proxy rotate:public --csv -o products.csv
Products with registry rotation (after registering proxies)
# register proxies via curlx or API, then:
curllm "https://ceneo.pl" -d "Find all products under 150zł and extract names, prices and urls" \
--stealth --proxy rotate:registry --html -o products.html
BQL: Hacker News links (CSS selectors)
curllm --bql -d 'query { page(url: "https://news.ycombinator.com") { title links: select(css: "a.storylink, a.titlelink") { text url: attr(name: "href") } }}'
Visual fill contact form (stealth)
curllm --visual --stealth "https://www.prototypowanie.pl/kontakt/" \
-d "Fill contact form: name=John Doe, email=john@example.com, message=Hello"
Use a session (persist cookies between runs)
curllm --session my-site "https://example.com" -d "screenshot"
# later: same session reused automatically
Export results to XLS (Excel-compatible)
curllm "https://example.com" -d "extract all links" --xls -o links.xls
WordPress: create a post using session
curllm --session wp-s1 -d '{"wordpress_config":{"url":"https://example.wordpress.com","action":"create_post","title":"Hello","content":"Post body","status":"draft"}}'
Command:
curllm "https://news.ycombinator.com" -d "Extract the page title and the first 30 news links. Use anchors matching CSS selectors 'a.titlelink' or 'a.storylink'. Return JSON shaped exactly as: {\"page\": {\"title\": string, \"links\": [{\"text\": string, \"url\": string}] } }" -v
Script:
examples/curllm-llm-hn-links.shNotes:
--html -o hn.html to export links to an HTML table.{page: {title, links: [{text, url}]}}.Command:
curllm "https://example.com" -d "extract all links" -v
Script:
examples/curllm-extract-links.shCommand:
curllm --bql -d 'query {
page(url: "https://news.ycombinator.com") {
title
links: select(css: "a.storylink, a.titlelink") { text url: attr(name: "href") }
}
}' -v
Script:
examples/curllm-bql-hn-links.shCommand:
curllm --stealth --visual \
-d "Fill contact form: name=John Doe, email=john@example.com, message=Hello" \
https://www.prototypowanie.pl/kontakt/ -v
Script:
examples/curllm-fill-contact-form.shCommand:
curllm -X POST --visual --stealth \
-d '{"instruction": "Login and download invoice", "credentials": {"user": "john@example.com", "pass": "secret"}}' \
https://app.example.com -v
Script:
examples/curllm-login-download.shCommand:
curllm --visual "https://shop.com" -d "extract top 10 products with prices" -v
Script:
examples/curllm-visual-scrape-products.shCommand:
curllm --visual --captcha "https://example.com/captcha" -d "solve captcha and submit form" -v
Script:
examples/curllm-captcha-demo.shNotes:
CAPTCHA_API_KEY in .env. Otherwise local OCR will be attempted.Command:
curllm --bql -d 'query { page(url: "https://example.com") { title links { text url } }}' -v
Script:
examples/curllm-bql-json-api.shCommand:
curllm --stealth "https://news.ycombinator.com" -d "extract first 30 titles" -v
Script:
examples/curllm-stealth-news.shCommand:
curllm --model qwen2.5:3b "https://example.com" -d "extract emails" -v
Script:
examples/curllm-custom-model.shCommand:
curllm -X POST -H 'Authorization: Bearer TOKEN' -H 'X-Trace: 1' \
-d '{"instruction": "submit form with authenticated session"}' \
https://httpbin.org/post -v
Script:
examples/curllm-post-with-headers.shUse the CLI export flags to transform JSON results into tabular formats.
Requires: jq.
# CSV
curllm "https://ceneo.pl" -d "Find all products under 150zł and extract names, prices and urls" \
--csv -o products.csv
# HTML table
curllm "https://example.com" -d "extract all links" --html -o links.html
# XML
curllm "https://example.com" -d "extract all emails" --xml -o emails.xml
# Excel-compatible (.xls generated as HTML table)
curllm "https://ceneo.pl" -d "Find all products under 150zł and extract names, prices and urls" \
--xls -o products.xls
If -o is not provided, files are saved as curllm_export_YYYYMMDD-HHMMSS.(csv|html|xml|xls).
curllm --start-services and verify with curllm --status..env is auto-updated. Use -v to see diagnostics.