viaLibri Books Scraper avatar

viaLibri Books Scraper

Pricing

from $3.00 / 1,000 book listings

Go to Apify Store
viaLibri Books Scraper

viaLibri Books Scraper

Search viaLibri for rare and used book listings, auctions, prices, sellers, descriptions, images, and marketplace links for research and collection workflows.

Pricing

from $3.00 / 1,000 book listings

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.

Search viaLibri for rare, antiquarian, used, and auction books. The Actor returns one dataset row per unique viaLibri listing, including title, author, description, seller, location, display price, marketplace, image, and outbound listing URL.

Input

Use searchQueries for simple searches, or pass existing viaLibri /searches URLs in startUrls when you need advanced filters. maxResults caps the total output across all searches. maxPagesPerQuery controls pagination.

Example:

{
"searchQueries": ["Virginia Woolf first edition"],
"listingTypes": ["used", "auction"],
"currency": "USD",
"maxResults": 50,
"maxPagesPerQuery": 2,
"sort": "price.asc"
}

The Actor uses viaLibri’s public search submission and its embedded structured result data. It does not log in, bypass access controls, or scrape seller pages. Prices are viaLibri’s converted display prices; auction rows may include current bid values.

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
actor-start$0.005Actor start — Charged once when a run starts. — Charged once per run.
book-listing$0.003Book listing — Charged for each unique viaLibri book listing saved to the dataset.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.

Use cases

  • Add a repeatable structured-data step to applications, agents, and automation pipelines.
  • Monitor public products, prices, availability, sellers, and catalog changes.
  • Run a one-off research job and export the structured result as JSON, CSV, Excel, XML, or RSS from Apify.
  • Schedule the same input to monitor changes over time and send completed datasets to a webhook or integration.
  • Feed schema-shaped records into a database, spreadsheet, BI tool, or AI workflow with the source URL retained for verification.

Output example

{
"recordType": "Example recordType",
"listingId": "Example listingId",
"bookId": 1,
"author": "Example author",
"title": "Example title",
"listingType": "Example listingType",
"description": "Example description",
"descriptionIsTruncated": false,
"year": 1,
"sellerName": "Example sellerName",
"sellerLocation": "Example sellerLocation",
"sellerId": 1
}

The exact fields depend on the selected input and what the public source exposes. Use the dataset schema as the machine-readable contract and retain source URLs for verification.

Run viaLibri Books Scraper with the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/vialibri-books-scraper').call({
"searchQueries": [
"Hamlet"
],
"startUrls": [],
"maxResults": 50,
"maxPagesPerQuery": 2,
"listingTypes": [
"used",
"auction"
],
"currency": "USD",
"sort": "year.asc"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

You can also run the Actor from Apify Console, schedules, webhooks, the REST API, Make, Zapier, n8n, or the hosted Apify MCP server.

Reliability and limitations

Public websites and upstream APIs change over time. Start with a small result limit, inspect the dataset and run log, and keep a known-good input for scheduled canary runs. A valid query can return no records when the source has no matches. If a run is blocked, rate-limited, or missing an expected field, reduce concurrency or scope where the input supports it and include the run ID in a support report.

The Actor does not guarantee that every optional field is present on every record. Treat absent values as unavailable from that source response, not as proof that the real-world value does not exist.

Responsible use

Use this Actor only for data you are authorized to access. Follow the target website's terms, robots and access policies, and applicable privacy, database, copyright, anti-spam, and data-protection laws. Do not use it to bypass authentication or other access controls, collect private data, harass people, or make high-impact decisions without independent verification.

Frequently asked questions

Can I schedule viaLibri Books Scraper?

Yes. Use an Apify schedule to run the same saved input at a chosen interval, then connect a webhook or integration to process the dataset when the run finishes.

How should I test a new input?

Begin with the prefilled example or a small limit. Confirm that the output fields, source coverage, runtime, and live charges match your workflow before increasing the scope.

How do I export the results?

Open the run's default dataset in Apify Console and export JSON, CSV, Excel, XML, or RSS. Applications can retrieve the same records through the Apify API client or REST dataset endpoint.

Can an AI agent call this Actor?

Yes. Add muhammadafzal/vialibri-books-scraper through the hosted Apify MCP server or call it through the API. The Actor's input and dataset schemas help agents construct valid requests and interpret returned records.