1import { ApifyClient } from 'apify-client';
2
3
4
5const client = new ApifyClient({
6 token: '<YOUR_API_TOKEN>',
7});
8
9
10const input = {
11 "documents": [
12 {
13 "id": "northwind-price-list-2026-10",
14 "base64Document": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvVHlwZTEgL0Jhc2VGb250IC9IZWx2ZXRpY2EgL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL0xlbmd0aCAxODYyID4+CnN0cmVhbQpCVCAvRjEgMTIgVGYgNDAuMDAgODEwLjAwIFRkIChOb3J0aHdpbmQgSW5kdXN0cmlhbCAtIHByaWNlIGxpc3QgT2N0b2JlciAyMDI2KSBUaiBFVApCVCAvRjEgOSBUZiA0MC4wMCA3ODAuMDAgVGQgKFNLVSkgVGogRVQKQlQgL0YxIDkgVGYgMTEwLjAwIDc4MC4wMCBUZCAoRGVzY3JpcHRpb24pIFRqIEVUCkJUIC9GMSA5IFRmIDM0MS4wMCA3ODAuMDAgVGQgKFF0eSkgVGogRVQKQlQgL0YxIDkgVGYgNDMxLjk5IDc4MC4wMCBUZCAoVW5pdCBwcmljZSkgVGogRVQKQlQgL0YxIDkgVGYgNTIzLjQ4IDc4MC4wMCBUZCAoTGluZSB0b3RhbCkgVGogRVQKQlQgL0YxIDkgVGYgNDAuMDAgNzYwLjAwIFRkIChIQy0yMDMyKSBUaiBFVApCVCAvRjEgOSBUZiAxMTAuMDAgNzYwLjAwIFRkIChIb3NlIGNsYW1wIDIwLTMyIG1tLCBzdGFpbmxlc3MpIFRqIEVUCkJUIC9GMSA5IFRmIDM0NC45OSA3NjAuMDAgVGQgKDUwKSBUaiBFVApCVCAvRjEgOSBUZiA0NTIuNDkgNzYwLjAwIFRkICgwLjg0KSBUaiBFVApCVCAvRjEgOSBUZiA1MzcuNDggNzYwLjAwIFRkICg0Mi4wMCkgVGogRVQKQlQgL0YxIDkgVGYgNDAuMDAgNzQwLjAwIFRkIChQRy0wMDEwKSBUaiBFVApCVCAvRjEgOSBUZiAxMTAuMDAgNzQwLjAwIFRkIChQcmVzc3VyZSBnYXVnZSAwLTEwIGJhciwpIFRqIEVUCkJUIC9GMSA5IFRmIDExMC4wMCA3MjkuNTAgVGQgKGdseWNlcmluZSBmaWxsZWQpIFRqIEVUCkJUIC9GMSA5IFRmIDM1MC4wMCA3NDAuMDAgVGQgKDQpIFRqIEVUCkJUIC9GMSA5IFRmIDQ0Ny40OCA3NDAuMDAgVGQgKDE4LjkwKSBUaiBFVApCVCAvRjEgOSBUZiA1MzcuNDggNzQwLjAwIFRkICg3NS42MCkgVGogRVQKQlQgL0YxIDkgVGYgNDAuMDAgNzA5LjUwIFRkIChCVi0wMDE1KSBUaiBFVApCVCAvRjEgOSBUZiAxMTAuMDAgNzA5LjUwIFRkIChCYWxsIHZhbHZlIDEvMiBpbmNoLCBicmFzcykgVGogRVQKQlQgL0YxIDkgVGYgMzQ0Ljk5IDcwOS41MCBUZCAoMTIpIFRqIEVUCkJUIC9GMSA5IFRmIDQ1Mi40OSA3MDkuNTAgVGQgKDcuNDUpIFRqIEVUCkJUIC9GMSA5IFRmIDUzNy40OCA3MDkuNTAgVGQgKDg5LjQwKSBUaiBFVApCVCAvRjEgOSBUZiA0MC4wMCA2ODkuNTAgVGQgKFNLLTAyMDApIFRqIEVUCkJUIC9GMSA5IFRmIDExMC4wMCA2ODkuNTAgVGQgKFNlYWwga2l0IGZvciBwdW1wIHNlcmllcyAyMDApIFRqIEVUCkJUIC9GMSA5IFRmIDM1MC4wMCA2ODkuNTAgVGQgKDMpIFRqIEVUCkJUIC9GMSA5IFRmIDQ0Ny40OCA2ODkuNTAgVGQgKDQyLjAwKSBUaiBFVApCVCAvRjEgOSBUZiA1MzIuNDggNjg5LjUwIFRkICgxNjIuMDApIFRqIEVUCkJUIC9GMSA5IFRmIDQwLjAwIDY2OS41MCBUZCAoRkwtMDU1MCkgVGogRVQKQlQgL0YxIDkgVGYgMTEwLjAwIDY2OS41MCBUZCAoRmlsdGVyIGNhcnRyaWRnZSA1IG1pY3JvbikgVGogRVQKQlQgL0YxIDkgVGYgMzQ0Ljk5IDY2OS41MCBUZCAoMjApIFRqIEVUCkJUIC9GMSA5IFRmIDQ1Mi40OSA2NjkuNTAgVGQgKDYuMTUpIFRqIEVUCkJUIC9GMSA5IFRmIDUzMi40OCA2NjkuNTAgVGQgKDEyMy4wMCkgVGogRVQKQlQgL0YxIDkgVGYgNDAuMDAgNjQ5LjUwIFRkIChQVC0xMjUwKSBUaiBFVApCVCAvRjEgOSBUZiAxMTAuMDAgNjQ5LjUwIFRkIChQdW1wIGltcGVsbGVyIDEyNSBtbSkgVGogRVQKQlQgL0YxIDkgVGYgMzUwLjAwIDY0OS41MCBUZCAoMSkgVGogRVQKQlQgL0YxIDkgVGYgNDM0Ljk3IDY0OS41MCBUZCAoMSwyNDkuMDApIFRqIEVUCkJUIC9GMSA5IFRmIDUyNC45NyA2NDkuNTAgVGQgKDEsMjQ5LjAwKSBUaiBFVApCVCAvRjEgOCBUZiA0MC4wMCA2MDkuNTAgVGQgKFByaWNlcyBpbiBFVVIgZXhjbHVkaW5nIFZBVC4gVmFsaWQgdW50aWwgMzEgRGVjZW1iZXIgMjAyNi4pIFRqIEVUCmVuZHN0cmVhbQplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9NZWRpYUJveCBbMCAwIDU5NSA4NDJdIC9Db250ZW50cyAyIDAgUiAvUmVzb3VyY2VzIDw8IC9Gb250IDw8IC9GMSAxIDAgUiA+PiA+PiA+PgplbmRvYmoKNCAwIG9iago8PCAvVHlwZSAvUGFnZXMgL0tpZHMgWzMgMCBSXSAvQ291bnQgMSA+PgplbmRvYmoKNSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgNCAwIFIgPj4KZW5kb2JqCnhyZWYKMCA2CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwMTEyIDAwMDAwIG4gCjAwMDAwMDIwMjUgMDAwMDAgbiAKMDAwMDAwMjE1MSAwMDAwMCBuIAowMDAwMDAyMjA4IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgNiAvUm9vdCA1IDAgUiA+PgpzdGFydHhyZWYKMjI1NwolJUVPRgo="
15 }
16 ],
17 "targetSchema": {
18 "columns": [
19 {
20 "name": "sku",
21 "type": "string",
22 "required": true,
23 "aliases": [
24 "SKU",
25 "Item Code",
26 "Artikel",
27 "Art.nr."
28 ]
29 },
30 {
31 "name": "description",
32 "type": "string",
33 "required": true,
34 "aliases": [
35 "Description",
36 "Omschrijving"
37 ]
38 },
39 {
40 "name": "quantity",
41 "type": "integer",
42 "required": true,
43 "aliases": [
44 "Qty",
45 "QTY",
46 "Aantal"
47 ]
48 },
49 {
50 "name": "unit_price",
51 "type": "number",
52 "required": true,
53 "aliases": [
54 "Unit price",
55 "Unit Price",
56 "Prijs"
57 ]
58 },
59 {
60 "name": "line_total",
61 "type": "number",
62 "required": true,
63 "aliases": [
64 "Line total",
65 "Total",
66 "Totaal"
67 ]
68 }
69 ],
70 "uniqueBy": [
71 "sku"
72 ],
73 "allowUnexpectedColumns": false,
74 "arithmeticChecks": [
75 {
76 "operands": [
77 "quantity",
78 "unit_price"
79 ],
80 "operator": "multiply",
81 "result": "line_total",
82 "tolerance": 0.01
83 }
84 ]
85 },
86 "options": {
87 "caseInsensitiveHeaders": true,
88 "trimValues": true,
89 "emptyStringIsNull": true,
90 "failOnAnyRejectedRow": false,
91 "numberFormat": "auto",
92 "dateFormat": "auto"
93 }
94};
95
96
97const run = await client.actor("first_watch/pdf-table-extraction").call(input);
98
99
100console.log('Results from dataset');
101console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
102const { items } = await client.dataset(run.defaultDatasetId).listItems();
103items.forEach((item) => {
104 console.dir(item);
105});
106
107