{
  "data": {
    "a": {
      "slug": "iloveapi",
      "name": "iLoveAPI",
      "vendor": "iLovePDF S.L.",
      "vendorUrl": "https://www.iloveapi.com",
      "kind": "http-api",
      "category": "pdf-tools",
      "summary": "REST API from iLovePDF S.L. of Barcelona for merging, splitting, compressing, converting, protecting, editing and running OCR on PDFs, with image tools and signature requests. Tasks run in four calls, billed in credits.",
      "url": "https://www.anchorterminal.com/tools/iloveapi",
      "markdownUrl": "https://www.anchorterminal.com/tools/iloveapi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/iloveapi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/iloveapi.json",
      "dns": "iloveapi.grade.anchorterminal.com",
      "repo": "https://github.com/ilovepdf/ilovepdf-python",
      "license": "Proprietary service under the iLovePDF API terms. The client libraries are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.ilovepdf.com/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "ilovepdf"
        },
        {
          "registry": "npm",
          "name": "@ilovepdf/ilovepdf-nodejs"
        },
        {
          "registry": "packagist",
          "name": "ilovepdf/ilovepdf-php"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. Each project has a public key and a secret key in the developer console. Requests carry `Authorization: Bearer` with a JWT signed by the secret key, valid for one hour, or a token from `POST /v1/auth` given the public key. Domain and IP filters are available depending on tier.",
      "pricing": "freemium",
      "pricingNotes": "Free accounts get 2,500 credits a month with no card asked at sign-up. Paid credits come as monthly or yearly subscriptions or non-expiring prepaid packages. Euro prices are drawn by script and were not read. Only successfully processed files are charged (https://www.iloveapi.com/pricing, checked 2026-10-09).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, the pricing page or the terms (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 9582,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.iloveapi.com/docs/api-reference",
      "capabilities": [
        "pdf.convert",
        "pdf.merge",
        "pdf.generate",
        "pdf.extract",
        "docs.ocr"
      ],
      "tags": [
        "hosted",
        "rest",
        "jwt",
        "credits",
        "free-tier",
        "webhooks",
        "php",
        "dotnet",
        "python",
        "nodejs",
        "ruby",
        "iso27001",
        "eu"
      ],
      "lastRelease": "2026-09-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 42.1,
        "grade": "E",
        "agentReady": false,
        "rank": 1180,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 62,
          "payments": 30,
          "reliability": 26,
          "schema": 37,
          "security": 41,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Per-tool credit costs are public, 2,500 free credits arrive each month on a sign-up that asks for no card, and five official libraries are MIT. No OpenAPI file, status page or published rate-limit numbers were found, and the governing terms date from 14 February 2017.",
        "bestFor": "An agent that needs common PDF and image operations with a monthly free allowance and a choice of processing region.",
        "strengths": [
          "2,500 free credits a month on registration, and the sign-up form asks for name, email and password only",
          "Credit cost of each tool is public, from 2 credits an image file to 5 a merge task and 10 a file for most PDF tools",
          "Seven processing regions can be chosen per task (eu, us, fr, de, pl, in, sg)",
          "Official MIT libraries for PHP, .NET, Python, Node.js and Ruby, with three tagged releases between 22 July and 3 September 2026",
          "ISO/IEC 27001:2022 certificate linked from the security page, and optional per-task file encryption with a caller-held key"
        ],
        "weaknesses": [
          "No OpenAPI file, llms.txt or Markdown docs. The reference is one HTML page",
          "No status page is linked from the site or docs, and rate limits are described as tier-dependent with no numbers",
          "The API terms were last modified on 14 February 2017 and let iLovePDF discontinue the API at any time without liability",
          "Uptime is stated as over 99.95% on the pricing page and 99.9%+ on the functions page, while the terms disclaim availability",
          "The reference still says a free account has a 250-file monthly limit, while the pricing page says 2,500 credits",
          "No idempotency keys, no scoped or read-only keys, and no guidance on untrusted text returned by OCR, Markdown or summary tools"
        ],
        "agentNotes": [
          "Run four calls per job. `GET /v1/start/{tool}/{region}` returns a `server` and a `task`, then send upload, process and download to that server",
          "Sign a JWT with the project secret key and send it as `Authorization: Bearer`. Tokens expire after one hour",
          "Download results promptly. The reference says files are deleted one to two hours after processing, depending on tier",
          "Back off exponentially on 429 and read the rate-limit headers on each response. No limit numbers are published",
          "Add `debug=true` to any request to have the server echo the parameters without processing or spending credits"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42.1
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 62,
          "payments": 30,
          "reliability": 26,
          "schema": 37,
          "security": 41,
          "transparency": 37
        },
        "provenanceScore": 68,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-09",
            "maintenance": "2026-10-09",
            "payments": "2026-10-09",
            "reliability": "2026-10-09",
            "schema": "2026-10-09",
            "security": "2026-10-09",
            "transparency": "2026-10-09"
          },
          "last": "2026-10-09",
          "lastMoved": "2026-10-28",
          "oldest": "2026-10-09",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install ilovepdf",
        "http": "curl -X POST https://api.ilovepdf.com/v1/auth -d \"public_key=$ILOVEPDF_PUBLIC_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/pdf.convert",
        "tool": "https://letme.dev/iloveapi"
      },
      "area": "web-data",
      "provenance": {
        "legalEntity": "iLovePDF S.L.",
        "domain": "iloveapi.com",
        "domainRegistered": "2005-08-18",
        "endpointOnVendorDomain": true,
        "terms": "https://www.iloveapi.com/terms",
        "privacy": "https://www.iloveapi.com/policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "notes": [
          "The API answers at api.ilovepdf.com, the vendor's main domain, and the product site is iloveapi.com",
          "The privacy page at iloveapi.com/policy embeds an iubenda document (www.iubenda.com/privacy-policy/331973) that iubenda's robots.txt disallows, so its text was not read",
          "www.iloveapi.com/.well-known/security.txt answered 403 and was not retried",
          "No status page or API changelog is linked from the site or the docs"
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/iloveapi.json",
      "live": {
        "slug": "iloveapi",
        "probe": {
          "target": "https://api.ilovepdf.com/v1",
          "method": "get",
          "lastAt": "2026-11-04T20:46:52.472590651Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 135,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.98,
          "p50ms24h": 146,
          "p95ms24h": 254,
          "samples24h": 246,
          "samples30d": 6560,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 252
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 214,
              "ok": 214
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "ilovepdf/ilovepdf-python",
            "version": "v1.1.0",
            "released": "2026-07-28",
            "seenAt": "2026-11-04T20:25:31.295141447Z"
          },
          {
            "registry": "npm",
            "name": "@ilovepdf/ilovepdf-nodejs",
            "version": "0.3.1",
            "seenAt": "2026-11-04T20:25:30.330908182Z"
          },
          {
            "registry": "pypi",
            "name": "ilovepdf",
            "version": "1.0.0",
            "released": "2026-04-01",
            "seenAt": "2026-11-04T20:25:30.053271186Z"
          }
        ],
        "githubStars": 17,
        "npmWeekly": 15699,
        "pypiWeekly": 71,
        "securityTxt": {
          "url": "https://iloveapi.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:53:43.521995529Z"
        },
        "domain": {
          "domain": "iloveapi.com",
          "registered": "2005-08-18",
          "source": "https://rdap.verisign.com/com/v1/domain/iloveapi.com",
          "checkedAt": "2026-11-01T14:22:23.350511154Z"
        },
        "pages": [
          {
            "url": "https://www.iloveapi.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:41:17.147759753Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99ae5ec9f360"
          },
          {
            "url": "https://www.iloveapi.com/policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:41:15.027018352Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "15c457ef8e47"
          },
          {
            "url": "https://www.iloveapi.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:41:19.111755933Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9451d9a5e124"
          }
        ],
        "github": {
          "repo": "ilovepdf/ilovepdf-python",
          "checkedAt": "2026-11-02T08:55:42.160812906Z",
          "stars": 17,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-07-28T18:01:55Z",
          "openIssues": 0,
          "openPRs": 1,
          "issuesOpened90d": 1,
          "issuesClosed90d": 1,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 2,
            "success": 1,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-07-28T17:11:24Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 0,
            "medianDays": 6.1
          }
        },
        "updatedAt": "2026-11-04T20:46:52.472590651Z"
      }
    },
    "answer": "pdfRest API Toolkit scores 57.7 (C) on agent readiness against iLoveAPI's 42.1 (E), and leads in 5 of 7 scored categories. iLoveAPI leads on agent ergonomics.",
    "b": {
      "slug": "pdfrest",
      "name": "pdfRest API Toolkit",
      "vendor": "Datalogics, Inc.",
      "vendorUrl": "https://pdfrest.com",
      "kind": "http-api",
      "category": "pdf-tools",
      "summary": "pdfRest is Datalogics' REST API for converting, merging, splitting, compressing, securing, signing, redacting and extracting from PDFs, built on the Adobe PDF Library. It runs as a cloud API with US and EU endpoints or as a self-hosted container.",
      "url": "https://www.anchorterminal.com/tools/pdfrest",
      "markdownUrl": "https://www.anchorterminal.com/tools/pdfrest.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pdfrest.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pdfrest.json",
      "dns": "pdfrest.grade.anchorterminal.com",
      "repo": "https://github.com/datalogics/pdfRest-Status-Page",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.pdfrest.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "One API key per account, issued after a browser signup and sent in the `Api-Key` header; the OpenAPI document defines that header as the only scheme, while the polling guide still shows `Authorization: Bearer`. No scopes, expiry or rotation guide found; the terms say keys can be revoked.",
      "pricing": "freemium",
      "pricingNotes": "Starter free with 100 API calls a month and watermarked output, no card. Premium $9.99 a month for 600 calls then $0.115 a call, Pro $99.99 for 5,000 then $0.06, Enterprise $349.99 for 15,000 then $0.035, about 10 per cent off yearly. EU endpoint calls cost $0.04 and $0.02 extra on Premium and Pro, Pro Tools $0.10 a call on Premium. Container licences from $124.99 a month (https://pdfrest.com/pricing/).",
      "priceSummary": "$9.99 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI document, docs, llms.txt or pricing (checked 2026-11-03). Overage is billed to the plan.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.pdfrest.com/",
      "llmsTxt": "https://pdfrest.com/llms.txt",
      "openapi": "https://api.pdfrest.com/pdfrest-openapi.json",
      "capabilities": [
        "pdf.convert",
        "pdf.merge",
        "pdf.forms",
        "pdf.generate",
        "pdf.extract",
        "docs.ocr"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "freemium",
        "no-card",
        "free-tier",
        "openapi",
        "llms-txt",
        "async-jobs",
        "soc2",
        "eu-region",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.7,
        "grade": "C",
        "agentReady": false,
        "rank": 700,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 70,
          "payments": 40,
          "reliability": 58,
          "schema": 90,
          "security": 37,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 document covers 60 chainable operations with enums and error schemas, prices are per call and a free tier needs no card. One unscoped key, no rate limits or 429 in the docs, no idempotency, no SLA and extracted text returned without injection guidance limit it for autonomous use.",
        "bestFor": "Agents that process existing PDFs, converting, merging, compressing, redacting, signing or extracting, with a spec they can read and chainable outputs.",
        "strengths": [
          "Public OpenAPI 3.1.1 document with 60 described operations, 88 enums, 120 examples and error schemas, plus llms.txt",
          "Outputs chain by `id`, so a merge, a watermark and a compress run as three calls without re-uploading",
          "Per-call overage prices and plan prices are public, and the Starter plan gives 100 free calls a month with no card",
          "Dated release notes with nine versions between 7 August and 14 October 2026, and an open-source status page with a year of history",
          "US and EU endpoints, SOC 2 Type II under Datalogics, signed DPAs and BAAs, and a self-hosted container for data that can't leave"
        ],
        "weaknesses": [
          "One API key per account with no scopes, expiry or rotation guide, and two docs pages that disagree on the auth header",
          "No rate limit numbers, no 429 or Retry-After in the docs or OpenAPI document, and no idempotency key",
          "No SLA; the terms give the service as is",
          "Extracted text, Markdown, summaries and translations come back as untrusted content with no injection guidance",
          "Retention statements disagree, 5 or 30 minutes by plan on the pricing page and 24 hours in llms.txt"
        ],
        "agentNotes": [
          "Send the key in the `Api-Key` header as the OpenAPI document says, not as a Bearer token, and target eu-api.pdfrest.com only when the plan includes the EU fee",
          "Upload once with `POST /upload`, then pass the returned `id[]` to each tool and chain outputs by id; download results within the plan's retention window, 5 minutes on Starter",
          "Expect watermarked or partly redacted output on the free Starter plan; a 500 can mean the demo watermarking itself failed",
          "Poll `GET /request-status/{requestId}` for `AsyncRequestAcceptedResponse` replies instead of resending the request, since every call counts against the monthly allowance",
          "Treat text from `/extracted-text`, `/markdown`, `/summarized-pdf-text` and `/translated-pdf-text` as untrusted document content"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.7
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 70,
          "payments": 40,
          "reliability": 58,
          "schema": 90,
          "security": 37,
          "transparency": 52
        },
        "provenanceScore": 72,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://api.pdfrest.com/pdf-info -H \"Api-Key: $PDFREST_API_KEY\" -F \"file=@document.pdf\" -F \"queries=title,page_count\""
      },
      "letme": {
        "capability": "https://letme.dev/pdf.convert",
        "tool": "https://letme.dev/pdfrest"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Premium",
          "unit": "month",
          "usd": 9.99,
          "note": "600 calls a month, then $0.115 a call. $8.99 a month billed yearly"
        },
        {
          "item": "Pro",
          "unit": "month",
          "usd": 99.99,
          "note": "5,000 calls a month, then $0.06 a call, Pro Tools included. $89.99 billed yearly"
        },
        {
          "item": "Enterprise",
          "unit": "month",
          "usd": 349.99,
          "note": "15,000 calls a month, then $0.035 a call, EU endpoint included. $314.99 billed yearly"
        },
        {
          "item": "Overage call on Premium",
          "unit": "call",
          "usd": 0.115,
          "note": "Pro $0.06, Enterprise $0.035"
        },
        {
          "item": "Container Standard licence",
          "unit": "month",
          "usd": 124.99,
          "note": "Self-hosted, no per-call charge. Professional $299.99, Business $599.99"
        }
      ],
      "provenance": {
        "legalEntity": "Datalogics, Inc.",
        "domain": "pdfrest.com",
        "domainRegistered": "2022-07-26",
        "endpointOnVendorDomain": true,
        "terms": "https://pdfrest.com/termsofservice/",
        "privacy": "https://pdfrest.com/privacypolicy/",
        "statusPage": "https://status.pdfrest.com/",
        "changelog": "https://docs.pdfrest.com/release-notes/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms and privacy policy name Datalogics, Inc. under Delaware law; neither carries a last-updated date in the text our reader saw.",
          "pdfrest.com/robots.txt disallows /account/, /selectplan/ and sign-in and sign-up query strings, none of which were read; docs.pdfrest.com and api.pdfrest.com allow everything.",
          "The terms forbid multiple Free or Starter accounts for production or to get round limits, and contain no clause on automated reading of the website.",
          "status.pdfrest.com is an Upptime page whose history is the datalogics/pdfRest-Status-Page repository, one check on the /up endpoint since 23 July 2026.",
          "RDAP gives pdfrest.com a registration date of 26 July 2022, used for firstReleased in the absence of an earlier dated page. /.well-known/security.txt returns 404; pdfrest.com/support redirects to a Jira service desk."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pdfrest.json",
      "live": {
        "slug": "pdfrest",
        "probe": {
          "target": "https://api.pdfrest.com",
          "method": "get",
          "lastAt": "2026-11-04T20:47:06.945412715Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 382,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 348,
          "p95ms24h": 441,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.pdfrest.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:28.523830202Z"
        },
        "githubStars": 1,
        "securityTxt": {
          "url": "https://pdfrest.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:23.2786211Z"
        },
        "updatedAt": "2026-11-04T20:47:06.945412715Z"
      }
    },
    "edges": [
      {
        "by": 53,
        "category": "schema",
        "leads": "pdfrest",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI file or other machine-readable contract was found (0). `llms.txt` answered 404 and there are no Markdown docs (0). The single-page reference states what each tool and parameter does, without guidance on when not to use one (10). Parameters carry types, accepted values and defaults, such as rotation 0, 90, 180 or 270 (11). JSON response samples, an error table, and file and task status lists, with request examples mostly in the library guides (10). The path carries `/v1`. No API changelog was found, and the Python and PHP libraries keep their own (6).",
          "b": "Public OpenAPI 3.1.1 at api.pdfrest.com/pdfrest-openapi.json, version 2.58.0, 60 operations on 59 paths (25). llms.txt on pdfrest.com with the endpoint list and pricing; docs.pdfrest.com has no Markdown twins (10). Every operation has a description that says what it does, links its tool page and notes Pro-tier gating, and the merge description explains ordering with `pages[]` and `type[]`; nothing says when not to use a tool (14). 88 enums, required lists on 248 schemas, an ErrorResponse schema and a oneOf for sync against async replies (13). 120 examples in the document, API Lab generates code in six languages, and 400, 401, 404, 408, 422, 500 and 503 are documented (13). Release notes dated per version, the document carries its version, and the OpenAPI endpoints were added on 17 September 2026 (15). 25 + 10 + 14 + 13 + 13 + 15 = 90."
        },
        "scores": {
          "a": 37,
          "b": 90
        }
      },
      {
        "by": 32,
        "category": "reliability",
        "leads": "pdfrest",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted API. No status page is linked from the site, the docs or the security page (0), so there is no readable incident history (5). Rate limits are described as tier-dependent and reported in response headers, with no numbers. The open-task cap of 10% of the monthly file limit and two signature reminders a day are the only figures (3). 429 is documented with advice to back off exponentially, and failed files are not charged, but there is no Retry-After and no idempotency key (8). The pricing FAQ says the API guarantees over 99.95% uptime and the functions page says 99.9%+, with no SLA document or remedy, and the terms disclaim availability (0). Generally available (10).",
          "b": "Read with the hosted lines. status.pdfrest.com is an Upptime page with a single check on the /up endpoint, backed by a public repository with daily history; one component and no incident write-ups (15). The repository shows 100 per cent uptime over 7 and 30 days, 99.95 per cent over a year and no down entries in the last 200 daily history commits (30). No request rate limit is documented and the OpenAPI document defines no 429 (0). A 408 timeout is documented and `/request-status` polls async jobs, but there is no 429 handling, backoff guidance or idempotency key (3). No SLA; the terms give the service as is (0). GA (10). 15 + 30 + 0 + 3 + 0 + 10 = 58."
        },
        "scores": {
          "a": 26,
          "b": 58
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "pdfrest",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). The credit cost of every tool is public without a login, but the euro price of a credit is drawn by script and was not read, so this is scored as public plan pricing (10). 2,500 free credits a month, and the sign-up form asks for name, email and password with no card field (20). A person registers in a browser to get keys (0).",
          "b": "No x402, MPP or L402 (0). Plan prices, per-call overage, EU and Pro Tools per-call fees and file-size overage are on the public pricing page and in llms.txt (20). Starter is free with 100 calls a month and no card (20). A person signs up in a browser and the key is shown in the account (0). 0 + 20 + 20 + 0 = 40."
        },
        "scores": {
          "a": 30,
          "b": 40
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "iloveapi",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Responses are small JSON and output arrives as a file or ZIP, but every job takes four calls and the start call's server must be reused (12). `/task` lists 50 a page with filters by tool, status and `custom_int`, and the signature list takes page and per-page (14). One error structure with type, message, code and param, plus per-file statuses such as WrongPassword and DamagedFile (14). No idempotency keys. A `debug` parameter echoes a request without processing, and a wrong password leaves the task waiting for a resend (6). Most parameters have defaults, and there are official libraries in five languages (15).",
          "b": "Responses are small JSON bodies with output ids and URLs, and `/pdf-info` takes a `queries` list to size its answer (18). Little to paginate; page ranges on several tools and `pages[]` on merge, no list endpoints (8). Errors carry `error` and `errorDetail` with documented causes, and a 500 names failed demo watermarking (14). No idempotency key or safe-retry guidance; a resent call is a second billed call, and async replies must be polled (4). Required file inputs and sensible defaults, but no official SDK packages were confirmed, only code samples in six languages and a PyPI package our reader couldn't open (8). 18 + 8 + 14 + 4 + 8 = 52."
        },
        "scores": {
          "a": 61,
          "b": 52
        }
      },
      {
        "by": 9,
        "category": "transparency",
        "leads": "pdfrest",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with terms naming iLovePDF S.L., last modified 14 February 2017, and MIT client libraries (15). The reference says files are deleted after an hour depending on tier and elsewhere after two hours, the security page says two hours and the terms say at most 48 hours. The privacy policy is an iubenda document closed to us by robots.txt and was not read (12). No deprecation policy, and the terms allow the API to be discontinued at any time (0). Seven processing regions are selectable per task and Stripe is named for payments. No subprocessor list was read (10).",
          "b": "Closed service with terms and a privacy policy that name Datalogics, Inc. (15). Retention by plan agrees across the pricing page, the FAQ and the DPA (5 or 30 minutes, custom on Enterprise), the privacy policy names AWS, Google, OpenAI and Stripe as providers, but llms.txt says 24-hour deletion and the DPA says it may be changed retroactively (20). Release notes record changes, and 2.56.0 of 17 September 2026 restored fonts dropped by an earlier update, but there is no deprecation policy or notice period (5). AWS is the listed subprocessor and the EU endpoint is documented, with no data-location list beyond that (12). 15 + 20 + 5 + 12 = 52."
        },
        "scores": {
          "a": 53,
          "b": 62
        }
      },
      {
        "by": 8,
        "category": "maintenance",
        "leads": "pdfrest",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The .NET library v1.6.4 was tagged on 3 September 2026, 36 days before this check (20). Three library releases in the last 90 days, PHP v1.4.1 on 22 July, Python v1.1.0 on 28 July and .NET v1.6.4 (20). Closed service with no API changelog. Support is by email and a chat widget, and GitHub issue replies were not read (6). PHP, .NET and Python libraries are current, while Node.js last changed in May 2025 and Ruby in October 2024 (10). CI workflows and tests in the Python, .NET and Node.js repositories (6).",
          "b": "Read as a closed service. 2.56.7 released 14 October 2026 (30). Nine dated releases between 7 August and 14 October 2026 (20). Support through a Jira service desk and email on paid plans; Datalogics links a Discord; no public issue tracker for the API (10 of 15). Code samples in six languages are kept on GitHub, but no official SDK package was confirmed (5). The status repository's CI runs daily; nothing else to assess (5). 30 + 20 + 10 + 5 + 5 = 70."
        },
        "scores": {
          "a": 62,
          "b": 70
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "iLovePDF S.L.",
        "b": "Datalogics, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.ilovepdf.com/v1",
        "b": "https://api.pdfrest.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the iLovePDF API terms. The client libraries are MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-03",
        "b": "2026-10-14",
        "name": "Last release"
      },
      {
        "a": "2017-02-14",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9.6k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2.8/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "pdfRest API Toolkit scores 57.7 (C) on agent readiness against iLoveAPI's 42.1 (E), and leads in 5 of 7 scored categories. iLoveAPI leads on agent ergonomics.",
        "question": "Which is better for AI agents, iLoveAPI or pdfRest API Toolkit?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do iLoveAPI and pdfRest API Toolkit need an API key?"
      },
      {
        "answer": "Yes. iLoveAPI has a hosted endpoint at https://api.ilovepdf.com/v1 and pdfRest API Toolkit at https://api.pdfrest.com.",
        "question": "Can an agent call iLoveAPI and pdfRest API Toolkit without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 61 against 52"
        ],
        "also": null,
        "goodFor": "An agent that needs common PDF and image operations with a monthly free allowance and a choice of processing region.",
        "slug": "iloveapi",
        "watchFor": "No OpenAPI file, llms.txt or Markdown docs. The reference is one HTML page"
      },
      {
        "aheadOn": [
          "Reliability, 58 against 26",
          "Schema \u0026 documentation, 90 against 37",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 70 against 62",
          "Transparency \u0026 trust, 62 against 53"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents that process existing PDFs, converting, merging, compressing, redacting, signing or extracting, with a spec they can read and chainable outputs.",
        "slug": "pdfrest",
        "watchFor": "One API key per account with no scopes, expiry or rotation guide, and two docs pages that disagree on the auth header"
      }
    ],
    "history": {
      "iloveapi": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 42.2,
          "fromGrade": "E",
          "to": 42.1,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 42,
          "fromGrade": "E",
          "to": 42.2,
          "toGrade": "E"
        }
      ],
      "pdfrest": null
    },
    "job": {
      "capability": "pdf.convert",
      "name": "PDF conversion"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-iloveapi.json",
        "title": "CloudConvert API vs iLoveAPI",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-iloveapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfrest.json",
        "title": "CloudConvert API vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfrest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foxit-pdf-services-vs-iloveapi.json",
        "title": "Foxit PDF Services API vs iLoveAPI",
        "url": "https://www.anchorterminal.com/compare/foxit-pdf-services-vs-iloveapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdfrest.json",
        "title": "Foxit PDF Services API vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdfrest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iloveapi-vs-nutrient-dws-processor.json",
        "title": "iLoveAPI vs Nutrient DWS Processor API",
        "url": "https://www.anchorterminal.com/compare/iloveapi-vs-nutrient-dws-processor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iloveapi-vs-pdf-co.json",
        "title": "iLoveAPI vs PDF.co API + MCP",
        "url": "https://www.anchorterminal.com/compare/iloveapi-vs-pdf-co"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdfrest.json",
        "title": "Nutrient DWS Processor API vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdfrest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pdf-co-vs-pdfrest.json",
        "title": "PDF.co API + MCP vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/pdf-co-vs-pdfrest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-iloveapi.json",
        "title": "DocRaptor vs iLoveAPI",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-iloveapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-pdfrest.json",
        "title": "DocRaptor vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-pdfrest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfmonkey.json",
        "title": "iLoveAPI vs PDFMonkey",
        "url": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfmonkey"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pdfmonkey-vs-pdfrest.json",
        "title": "PDFMonkey vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/pdfmonkey-vs-pdfrest"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 32,
        "edge": "pdfrest",
        "iloveapi": 26,
        "key": "reliability",
        "name": "Reliability",
        "pdfrest": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 53,
        "edge": "pdfrest",
        "iloveapi": 37,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pdfrest": 90,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "iloveapi",
        "iloveapi": 61,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pdfrest": 52,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "iloveapi",
        "iloveapi": 41,
        "key": "security",
        "name": "Security \u0026 auth",
        "pdfrest": 37,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "pdfrest",
        "iloveapi": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pdfrest": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "pdfrest",
        "iloveapi": 62,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pdfrest": 70,
        "weight": 7
      },
      {
        "by": 9,
        "edge": "pdfrest",
        "iloveapi": 53,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pdfrest": 62,
        "weight": 7
      }
    ],
    "summary": "pdfRest API Toolkit scores 57.7 (C) on agent readiness against iLoveAPI's 42.1 (E), and leads in 5 of 7 scored categories. iLoveAPI leads on agent ergonomics. Both do pdf conversion.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "iloveapi": "Per-tool credit costs are public, 2,500 free credits arrive each month on a sign-up that asks for no card, and five official libraries are MIT. No OpenAPI file, status page or published rate-limit numbers were found, and the governing terms date from 14 February 2017.",
      "pdfrest": "A public OpenAPI 3.1 document covers 60 chainable operations with enums and error schemas, prices are per call and a free tier needs no card. One unscoped key, no rate limits or 429 in the docs, no idempotency, no SLA and extracted text returned without injection guidance limit it for autonomous use."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfrest",
    "json": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfrest.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfrest.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfrest.min.md"
  },
  "markdown": "pdfRest API Toolkit scores 57.7 (C) on agent readiness against iLoveAPI's 42.1 (E), and leads in 5 of 7 scored categories. iLoveAPI leads on agent ergonomics. Both do pdf conversion.\n\n- iLoveAPI: grade E, 42.1/100, rank #1180 of 1349. Markdown https://www.anchorterminal.com/tools/iloveapi.md · JSON https://www.anchorterminal.com/api/v1/tools/iloveapi.json\n- pdfRest API Toolkit: grade C, 57.7/100, rank #700 of 1349. Markdown https://www.anchorterminal.com/tools/pdfrest.md · JSON https://www.anchorterminal.com/api/v1/tools/pdfrest.json\n- Best PDF manipulation and conversion APIs for AI agents: https://www.anchorterminal.com/best/pdf-tools/index.md\n- All 43 pdf comparisons: https://www.anchorterminal.com/compare/pdf-tools/index.md\n\n## Which one, for what\n\n### iLoveAPI (E)\n\nGood for: An agent that needs common PDF and image operations with a monthly free allowance and a choice of processing region.\n\nAhead on:\n- Agent ergonomics, 61 against 52\n\nWatch for: No OpenAPI file, llms.txt or Markdown docs. The reference is one HTML page\n\n### pdfRest API Toolkit (C)\n\nGood for: Agents that process existing PDFs, converting, merging, compressing, redacting, signing or extracting, with a spec they can read and chainable outputs.\n\nAhead on:\n- Reliability, 58 against 26\n- Schema \u0026 documentation, 90 against 37\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 70 against 62\n- Transparency \u0026 trust, 62 against 53\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: One API key per account with no scopes, expiry or rotation guide, and two docs pages that disagree on the auth header\n\n\n## Why the edge\n\n### Schema \u0026 documentation: pdfRest API Toolkit +53\n\n- iLoveAPI (37): No OpenAPI file or other machine-readable contract was found (0). `llms.txt` answered 404 and there are no Markdown docs (0). The single-page reference states what each tool and parameter does, without guidance on when not to use one (10). Parameters carry types, accepted values and defaults, such as rotation 0, 90, 180 or 270 (11). JSON response samples, an error table, and file and task status lists, with request examples mostly in the library guides (10). The path carries `/v1`. No API changelog was found, and the Python and PHP libraries keep their own (6).\n- pdfRest API Toolkit (90): Public OpenAPI 3.1.1 at api.pdfrest.com/pdfrest-openapi.json, version 2.58.0, 60 operations on 59 paths (25). llms.txt on pdfrest.com with the endpoint list and pricing; docs.pdfrest.com has no Markdown twins (10). Every operation has a description that says what it does, links its tool page and notes Pro-tier gating, and the merge description explains ordering with `pages[]` and `type[]`; nothing says when not to use a tool (14). 88 enums, required lists on 248 schemas, an ErrorResponse schema and a oneOf for sync against async replies (13). 120 examples in the document, API Lab generates code in six languages, and 400, 401, 404, 408, 422, 500 and 503 are documented (13). Release notes dated per version, the document carries its version, and the OpenAPI endpoints were added on 17 September 2026 (15). 25 + 10 + 14 + 13 + 13 + 15 = 90.\n\n### Reliability: pdfRest API Toolkit +32\n\n- iLoveAPI (26): Graded as a hosted API. No status page is linked from the site, the docs or the security page (0), so there is no readable incident history (5). Rate limits are described as tier-dependent and reported in response headers, with no numbers. The open-task cap of 10% of the monthly file limit and two signature reminders a day are the only figures (3). 429 is documented with advice to back off exponentially, and failed files are not charged, but there is no Retry-After and no idempotency key (8). The pricing FAQ says the API guarantees over 99.95% uptime and the functions page says 99.9%+, with no SLA document or remedy, and the terms disclaim availability (0). Generally available (10).\n- pdfRest API Toolkit (58): Read with the hosted lines. status.pdfrest.com is an Upptime page with a single check on the /up endpoint, backed by a public repository with daily history; one component and no incident write-ups (15). The repository shows 100 per cent uptime over 7 and 30 days, 99.95 per cent over a year and no down entries in the last 200 daily history commits (30). No request rate limit is documented and the OpenAPI document defines no 429 (0). A 408 timeout is documented and `/request-status` polls async jobs, but there is no 429 handling, backoff guidance or idempotency key (3). No SLA; the terms give the service as is (0). GA (10). 15 + 30 + 0 + 3 + 0 + 10 = 58.\n\n### Payments \u0026 pricing: pdfRest API Toolkit +10\n\n- iLoveAPI (30): No x402, MPP or L402 (0). The credit cost of every tool is public without a login, but the euro price of a credit is drawn by script and was not read, so this is scored as public plan pricing (10). 2,500 free credits a month, and the sign-up form asks for name, email and password with no card field (20). A person registers in a browser to get keys (0).\n- pdfRest API Toolkit (40): No x402, MPP or L402 (0). Plan prices, per-call overage, EU and Pro Tools per-call fees and file-size overage are on the public pricing page and in llms.txt (20). Starter is free with 100 calls a month and no card (20). A person signs up in a browser and the key is shown in the account (0). 0 + 20 + 20 + 0 = 40.\n\n### Agent ergonomics: iLoveAPI +9\n\n- iLoveAPI (61): Responses are small JSON and output arrives as a file or ZIP, but every job takes four calls and the start call's server must be reused (12). `/task` lists 50 a page with filters by tool, status and `custom_int`, and the signature list takes page and per-page (14). One error structure with type, message, code and param, plus per-file statuses such as WrongPassword and DamagedFile (14). No idempotency keys. A `debug` parameter echoes a request without processing, and a wrong password leaves the task waiting for a resend (6). Most parameters have defaults, and there are official libraries in five languages (15).\n- pdfRest API Toolkit (52): Responses are small JSON bodies with output ids and URLs, and `/pdf-info` takes a `queries` list to size its answer (18). Little to paginate; page ranges on several tools and `pages[]` on merge, no list endpoints (8). Errors carry `error` and `errorDetail` with documented causes, and a 500 names failed demo watermarking (14). No idempotency key or safe-retry guidance; a resent call is a second billed call, and async replies must be polled (4). Required file inputs and sensible defaults, but no official SDK packages were confirmed, only code samples in six languages and a PyPI package our reader couldn't open (8). 18 + 8 + 14 + 4 + 8 = 52.\n\n### Transparency \u0026 trust: pdfRest API Toolkit +9\n\n- iLoveAPI (53): Closed service with terms naming iLovePDF S.L., last modified 14 February 2017, and MIT client libraries (15). The reference says files are deleted after an hour depending on tier and elsewhere after two hours, the security page says two hours and the terms say at most 48 hours. The privacy policy is an iubenda document closed to us by robots.txt and was not read (12). No deprecation policy, and the terms allow the API to be discontinued at any time (0). Seven processing regions are selectable per task and Stripe is named for payments. No subprocessor list was read (10).\n- pdfRest API Toolkit (62): Closed service with terms and a privacy policy that name Datalogics, Inc. (15). Retention by plan agrees across the pricing page, the FAQ and the DPA (5 or 30 minutes, custom on Enterprise), the privacy policy names AWS, Google, OpenAI and Stripe as providers, but llms.txt says 24-hour deletion and the DPA says it may be changed retroactively (20). Release notes record changes, and 2.56.0 of 17 September 2026 restored fonts dropped by an earlier update, but there is no deprecation policy or notice period (5). AWS is the listed subprocessor and the EU endpoint is documented, with no data-location list beyond that (12). 15 + 20 + 5 + 12 = 52.\n\n### Maintenance \u0026 community: pdfRest API Toolkit +8\n\n- iLoveAPI (62): The .NET library v1.6.4 was tagged on 3 September 2026, 36 days before this check (20). Three library releases in the last 90 days, PHP v1.4.1 on 22 July, Python v1.1.0 on 28 July and .NET v1.6.4 (20). Closed service with no API changelog. Support is by email and a chat widget, and GitHub issue replies were not read (6). PHP, .NET and Python libraries are current, while Node.js last changed in May 2025 and Ruby in October 2024 (10). CI workflows and tests in the Python, .NET and Node.js repositories (6).\n- pdfRest API Toolkit (70): Read as a closed service. 2.56.7 released 14 October 2026 (30). Nine dated releases between 7 August and 14 October 2026 (20). Support through a Jira service desk and email on paid plans; Datalogics links a Discord; no public issue tracker for the API (10 of 15). Code samples in six languages are kept on GitHub, but no official SDK package was confirmed (5). The status repository's CI runs daily; nothing else to assess (5). 30 + 20 + 10 + 5 + 5 = 70.\n\n## Score by category\n\n| Category | Weight | iLoveAPI | pdfRest API Toolkit | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 26 | 58 | pdfRest API Toolkit +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 37 | 90 | pdfRest API Toolkit +53 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 52 | iLoveAPI +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 37 | iLoveAPI +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | pdfRest API Toolkit +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 62 | 70 | pdfRest API Toolkit +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 53 | 62 | pdfRest API Toolkit +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **42.1 · E** | **57.7 · C** | |\n\n## Facts side by side\n\n| Fact | iLoveAPI | pdfRest API Toolkit |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | iLovePDF S.L. | Datalogics, Inc. |\n| Hosted endpoint | `https://api.ilovepdf.com/v1` | `https://api.pdfrest.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under the iLovePDF API terms. The client libraries are MIT | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-03 | 2026-10-14 |\n| Terms last updated | 2017-02-14 | no date given |\n| Privacy policy last updated | couldn't be read | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 9.6k npm/wk | none |\n| Agent reviews | 2.8/5 (4) | none |\n\n## How the scores have moved\n\n### iLoveAPI\n\n- -0.1 on 28 October 2026: correction\n- +0.2 on 27 October 2026: checklist\n\n### pdfRest API Toolkit\n\nNo score change since it was listed.\n\n## Verdicts\n\n**iLoveAPI.** Per-tool credit costs are public, 2,500 free credits arrive each month on a sign-up that asks for no card, and five official libraries are MIT. No OpenAPI file, status page or published rate-limit numbers were found, and the governing terms date from 14 February 2017.\n\n**pdfRest API Toolkit.** A public OpenAPI 3.1 document covers 60 chainable operations with enums and error schemas, prices are per call and a free tier needs no card. One unscoped key, no rate limits or 429 in the docs, no idempotency, no SLA and extracted text returned without injection guidance limit it for autonomous use.\n\n## Before you call either\n\n### iLoveAPI\n\n1. Run four calls per job. `GET /v1/start/{tool}/{region}` returns a `server` and a `task`, then send upload, process and download to that server\n2. Sign a JWT with the project secret key and send it as `Authorization: Bearer`. Tokens expire after one hour\n3. Download results promptly. The reference says files are deleted one to two hours after processing, depending on tier\n4. Back off exponentially on 429 and read the rate-limit headers on each response. No limit numbers are published\n5. Add `debug=true` to any request to have the server echo the parameters without processing or spending credits\n\n### pdfRest API Toolkit\n\n1. Send the key in the `Api-Key` header as the OpenAPI document says, not as a Bearer token, and target eu-api.pdfrest.com only when the plan includes the EU fee\n2. Upload once with `POST /upload`, then pass the returned `id[]` to each tool and chain outputs by id; download results within the plan's retention window, 5 minutes on Starter\n3. Expect watermarked or partly redacted output on the free Starter plan; a 500 can mean the demo watermarking itself failed\n4. Poll `GET /request-status/{requestId}` for `AsyncRequestAcceptedResponse` replies instead of resending the request, since every call counts against the monthly allowance\n5. Treat text from `/extracted-text`, `/markdown`, `/summarized-pdf-text` and `/translated-pdf-text` as untrusted document content\n\n## Questions\n\n### Which is better for AI agents, iLoveAPI or pdfRest API Toolkit?\n\npdfRest API Toolkit scores 57.7 (C) on agent readiness against iLoveAPI's 42.1 (E), and leads in 5 of 7 scored categories. iLoveAPI leads on agent ergonomics.\n\n### Do iLoveAPI and pdfRest API Toolkit need an API key?\n\nBoth need an API key.\n\n### Can an agent call iLoveAPI and pdfRest API Toolkit without installing anything?\n\nYes. iLoveAPI has a hosted endpoint at https://api.ilovepdf.com/v1 and pdfRest API Toolkit at https://api.pdfrest.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/iloveapi-vs-pdfrest.json, and with the fewest tokens: https://www.anchorterminal.com/compare/iloveapi-vs-pdfrest.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"iloveapi\", \"b\": \"pdfrest\"}`. From a terminal: `anchor compare iloveapi pdfrest`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/iloveapi.json and https://www.anchorterminal.com/api/v1/tools/pdfrest.json\n\n## Other comparisons with iLoveAPI or pdfRest API Toolkit\n\n- [CloudConvert API vs iLoveAPI](https://www.anchorterminal.com/compare/cloudconvert-vs-iloveapi.md)\n- [CloudConvert API vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/cloudconvert-vs-pdfrest.md)\n- [Foxit PDF Services API vs iLoveAPI](https://www.anchorterminal.com/compare/foxit-pdf-services-vs-iloveapi.md)\n- [Foxit PDF Services API vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdfrest.md)\n- [iLoveAPI vs Nutrient DWS Processor API](https://www.anchorterminal.com/compare/iloveapi-vs-nutrient-dws-processor.md)\n- [iLoveAPI vs PDF.co API + MCP](https://www.anchorterminal.com/compare/iloveapi-vs-pdf-co.md)\n- [Nutrient DWS Processor API vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdfrest.md)\n- [PDF.co API + MCP vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/pdf-co-vs-pdfrest.md)\n- [DocRaptor vs iLoveAPI](https://www.anchorterminal.com/compare/docraptor-vs-iloveapi.md)\n- [DocRaptor vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/docraptor-vs-pdfrest.md)\n- [iLoveAPI vs PDFMonkey](https://www.anchorterminal.com/compare/iloveapi-vs-pdfmonkey.md)\n- [PDFMonkey vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/pdfmonkey-vs-pdfrest.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "iLoveAPI vs pdfRest API Toolkit",
        "url": ""
      }
    ],
    "description": "pdfRest API Toolkit scores 57.7 (C) to iLoveAPI's 42.1 (E) for pdf conversion. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "iLoveAPI E 42.1",
      "pdfRest API Toolkit C 57.7",
      "scores"
    ],
    "h1": "iLoveAPI vs pdfRest API Toolkit",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/iloveapi-vs-pdfrest",
    "published": "2026-10-01",
    "section": "tools",
    "title": "iLoveAPI vs pdfRest API Toolkit for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfrest"
  },
  "tokens": {
    "markdown": 4100,
    "slim": 2480
  },
  "version": 1
}
