Marktplaats
v0.3.0Search Marktplaats.nl classifieds across all categories with filtering support.
MIT-0
Security Scan
OpenClaw
Benign
medium confidencePurpose & Capability
Name, description, package.json, CLI wrappers and API client all align: the code builds search URLs against marktplaats.nl, normalizes results, and exposes category/listing detail functions. The only small mismatch is that SKILL.md metadata and package.json state Node 18+ is required, while the registry metadata shown at the top listed no required binaries — functionally the skill does require a Node runtime to operate, which is reasonable for a JS CLI.
Instruction Scope
SKILL.md and CLI scripts instruct only to install the package (npm install -g or npx) and call the local CLI or programmatic exports. Runtime behavior described and visible in code is limited to HTTP fetches against marktplaats.nl and local CLI printing; there are no instructions to read arbitrary user files, environment variables, or to send data to unexpected third parties.
Install Mechanism
There is no registry install spec; installation is intended via npm (local path or global). The package has a normal package.json and no external download/extract steps. This is a common and low-risk install mechanism for a Node CLI.
Credentials
The package requires no secrets or external credentials and declares Node 18+ as the runtime. There are no environment variables or config paths requested, which is proportionate for a read-only search client.
Persistence & Privilege
The skill does not request persistent elevated privileges, always:false, and contains no code that modifies other skills or system-wide settings. It runs as a normal user CLI/module.
Assessment
This package appears to be a straightforward Marktplaats search CLI and JS client that only fetches data from marktplaats.nl and requires Node 18+. Before installing: (1) ensure you have Node 18+ available (SKILL.md and package.json require it); (2) review the full src/api.js (the provided bundle here was truncated) especially implementations of getListingDetails and fetchCategories to confirm they only fetch/parse marktplaats pages and do not call other domains or read local files; (3) run the CLI locally (npm install -g . or npx) and inspect network activity if you have concerns; and (4) prefer installing from a trusted source (npm registry or a verified repository) rather than an unknown package bundle. If you can provide the complete src/api.js (no truncation), I can raise my confidence to high after re-checking the remaining code paths.Like a lobster shell, security has layers — review code before you run it.
latest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
🇳🇱 Clawdis
Binsnode
SKILL.md
Marktplaats Skill
Search any Marktplaats category, filter by condition/delivery, list categories, and fetch listing details.
CLI
npm install -g {baseDir}
# Search
marktplaats-search "<query>" [options]
-n, --limit <num> Number of results (default: 10, max: 100)
-c, --category <id> Category ID (top-level)
--min-price <cents> Minimum price in euro cents
--max-price <cents> Maximum price in euro cents
--sort <relevance|date|price-asc|price-desc>
--param key=value Filter by attribute (repeatable)
--details [target] Fetch details for "first" result or URL/ID
--json Output raw JSON
# Categories
marktplaats-categories # main categories
marktplaats-categories <id> # sub-categories for a category
--json Output raw JSON
Filters
Common filters work with --param:
| Filter | Values |
|---|---|
condition | Nieuw, Refurbished, Zo goed als nieuw, Gebruikt, Niet werkend |
delivery | Ophalen, Verzenden |
buyitnow | true (Direct Kopen only) |
English aliases also work: new, used, like-new, pickup, shipping
Examples
# New laptops only
marktplaats-search "laptop" --param condition=Nieuw
# Used cameras with shipping
marktplaats-search "camera" --param condition=Gebruikt --param delivery=Verzenden
# Cars under €15k
marktplaats-search "bmw 330d" --category 96 --max-price 1500000
# Furniture, pickup only
marktplaats-search "eettafel" --param delivery=Ophalen --sort price-asc
# Get details for first result
marktplaats-search "iphone" -n 1 --details first
# List all categories
marktplaats-categories
# BMW sub-categories
marktplaats-categories 96
Programmatic API (ESM)
import { searchListings, fetchCategories, getListingDetails } from '{baseDir}';
// Search with filters
const results = await searchListings({
query: 'espresso machine',
params: { condition: 'Nieuw', delivery: 'Verzenden' },
limit: 10,
});
// Get categories
const categories = await fetchCategories(); // top-level
const bmw = await fetchCategories(96); // BMW sub-categories
// Fetch listing details
const details = await getListingDetails(results.listings[0].vipUrl);
Notes
- Prices are in euro cents (€15,000 = 1500000)
- Results include full URLs to listings
- Use
--jsonto see all available facets and filter keys - Filter hints are shown after search results
Files
7 totalSelect a file
Select a file to preview.
Comments
Loading comments…
