{
  "data": {
    "similar": [
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/nutrient-dws-processor.json",
        "name": "Nutrient DWS Processor API",
        "score": 68.7,
        "shared": [
          "pdf.convert",
          "pdf.merge",
          "pdf.generate",
          "pdf.extract",
          "docs.ocr"
        ],
        "slug": "nutrient-dws-processor"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/adobe-pdf-extract.json",
        "name": "Adobe PDF Services / PDF Extract API",
        "score": 55.9,
        "shared": [
          "docs.ocr",
          "pdf.convert",
          "pdf.merge",
          "pdf.generate",
          "pdf.extract"
        ],
        "slug": "adobe-pdf-extract"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/foxit-pdf-services.json",
        "name": "Foxit PDF Services API",
        "score": 48.3,
        "shared": [
          "pdf.convert",
          "pdf.merge",
          "pdf.generate",
          "pdf.extract",
          "docs.ocr"
        ],
        "slug": "foxit-pdf-services"
      },
      {
        "grade": "F",
        "json": "https://www.anchorterminal.com/tools/pdf-co.json",
        "name": "PDF.co API + MCP",
        "score": 37.9,
        "shared": [
          "pdf.convert",
          "pdf.merge",
          "pdf.generate",
          "pdf.extract",
          "docs.ocr"
        ],
        "slug": "pdf-co"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/cloudconvert.json",
        "name": "CloudConvert API",
        "score": 66.4,
        "shared": [
          "pdf.convert",
          "pdf.merge",
          "pdf.generate",
          "docs.ocr"
        ],
        "slug": "cloudconvert"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/apitemplate-io.json",
        "name": "APITemplate.io",
        "score": 46.6,
        "shared": [
          "pdf.generate",
          "pdf.convert",
          "pdf.merge"
        ],
        "slug": "apitemplate-io"
      }
    ],
    "tool": {
      "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",
      "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,
        "grade": "E",
        "agentReady": false,
        "rank": 897,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 62,
          "payments": 30,
          "reliability": 26,
          "schema": 37,
          "security": 41,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 26,
            "points": 5.2,
            "reason": "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)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 37,
            "points": 6.01,
            "reason": "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)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 61,
            "points": 9.91,
            "reason": "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)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 41,
            "points": 7.18,
            "reason": "Each project has a public and a secret key, requests carry a JWT signed with the secret that expires after one hour, and domain and IP filters exist depending on tier. No scopes (20). No read-only key or confirmation before a task is deleted, and `/auth` issues a token for the public key alone unless a domain filter is set (4). OCR, Markdown and summary output is untrusted text and the docs give no injection guidance (0). `/task` lists processed tasks and signatures have a downloadable audit trail, with no account audit log found (7). ISO/IEC 27001:2022 certificate linked and a signed security policy of 19 June 2025. security.txt answered 403, and no disclosure policy or bounty was found (10)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 30,
            "points": 3.75,
            "reason": "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)."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 62,
            "points": 5.43,
            "reason": "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)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 52,
            "points": 4.55,
            "note": "editorial 37, provenance 66",
            "reason": "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)."
          }
        ],
        "assessment": {
          "date": "2026-10-09",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "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).",
            "maintenance": "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).",
            "payments": "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).",
            "reliability": "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).",
            "schema": "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).",
            "security": "Each project has a public and a secret key, requests carry a JWT signed with the secret that expires after one hour, and domain and IP filters exist depending on tier. No scopes (20). No read-only key or confirmation before a task is deleted, and `/auth` issues a token for the public key alone unless a domain filter is set (4). OCR, Markdown and summary output is untrusted text and the docs give no injection guidance (0). `/task` lists processed tasks and signatures have a downloadable audit trail, with no account audit log found (7). ISO/IEC 27001:2022 certificate linked and a signed security policy of 19 June 2025. security.txt answered 403, and no disclosure policy or bounty was found (10).",
            "transparency": "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)."
          },
          "sources": [
            {
              "what": "home page",
              "url": "https://www.iloveapi.com/",
              "seen": "2026-10-09"
            },
            {
              "what": "API reference",
              "url": "https://www.iloveapi.com/docs/api-reference",
              "seen": "2026-10-09"
            },
            {
              "what": "pricing and FAQ",
              "url": "https://www.iloveapi.com/pricing",
              "seen": "2026-10-09"
            },
            {
              "what": "API terms",
              "url": "https://www.iloveapi.com/terms",
              "seen": "2026-10-09"
            },
            {
              "what": "privacy page (iubenda embed, text unread)",
              "url": "https://www.iloveapi.com/policy",
              "seen": "2026-10-09"
            },
            {
              "what": "functions",
              "url": "https://www.iloveapi.com/functions",
              "seen": "2026-10-09"
            },
            {
              "what": "integrations",
              "url": "https://www.iloveapi.com/integrations",
              "seen": "2026-10-09"
            },
            {
              "what": "sign-up form",
              "url": "https://www.iloveapi.com/signup",
              "seen": "2026-10-09"
            },
            {
              "what": "PDF guides index",
              "url": "https://www.iloveapi.com/docs/pdf-guides",
              "seen": "2026-10-09"
            },
            {
              "what": "security and data protection",
              "url": "https://www.ilovepdf.com/help/security",
              "seen": "2026-10-09"
            },
            {
              "what": "Python library, tags and changelog (shallow clone)",
              "url": "https://github.com/ilovepdf/ilovepdf-python",
              "seen": "2026-10-09"
            },
            {
              "what": "PHP library, tags and changelog (shallow clone)",
              "url": "https://github.com/ilovepdf/ilovepdf-php",
              "seen": "2026-10-09"
            },
            {
              "what": ".NET library tags (shallow clone)",
              "url": "https://github.com/ilovepdf/ilovepdf-net",
              "seen": "2026-10-09"
            },
            {
              "what": "Node.js library (shallow clone)",
              "url": "https://github.com/ilovepdf/ilovepdf-nodejs",
              "seen": "2026-10-09"
            },
            {
              "what": "Ruby library (shallow clone)",
              "url": "https://github.com/ilovepdf/ilovepdf-ruby",
              "seen": "2026-10-09"
            },
            {
              "what": "domain registration",
              "url": "https://rdap.verisign.com/com/v1/domain/iloveapi.com",
              "seen": "2026-10-09"
            },
            {
              "what": "npm weekly downloads",
              "url": "https://api.npmjs.org/downloads/point/last-week/@ilovepdf/ilovepdf-nodejs",
              "seen": "2026-10-09"
            }
          ],
          "openQuestions": [
            "unchecked: plan and package prices in euros. The pricing page draws them by script, so only the credit cost of each tool was read",
            "unchecked: the iLoveAPI privacy policy. It is an iubenda document under a path iubenda's robots.txt disallows",
            "unchecked: security.txt. The request answered 403",
            "unchecked: rate-limit numbers per tier and the names of the rate-limit headers. No request was sent to the API",
            "unchecked: maximum file size per plan, and GitHub issue response times on the library repositories",
            "unchecked: whether a status page exists. None is linked from the pages read",
            "Translate PDF is commented out of the API reference and the product page but ships in the PHP and Python libraries",
            "The lead's 250 free files a month comes from the API reference. The pricing page says 2,500 credits a month"
          ]
        },
        "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": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 62,
          "payments": 30,
          "reliability": 26,
          "schema": 37,
          "security": 41,
          "transparency": 37
        },
        "provenanceScore": 66
      },
      "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"
      },
      "notable": [
        "The same infrastructure runs ilovepdf.com and iloveimg.com, which the vendor says process 20 million files a day (https://www.iloveapi.com)",
        "A task is four calls, start, upload, process and download, and the start call assigns the server that the other three use (https://www.iloveapi.com/docs/api-reference)",
        "Newer tools priced by the page are PDF to Markdown, Forms detect, Smart split and AI Summariser (https://www.iloveapi.com/pricing)",
        "The Signature REST API creates signature requests with audit trail downloads and costs 80 credits a file (https://www.iloveapi.com/docs/api-reference)",
        "The API terms were last modified on 14 February 2017 (https://www.iloveapi.com/terms)"
      ],
      "area": "web-data",
      "details": [
        {
          "label": "Free tier",
          "value": "2,500 credits a month on registration, not valid for digital signatures (https://www.iloveapi.com/pricing)"
        },
        {
          "label": "Credit costs",
          "value": "Merge 5 a task. Split 5 a file. Compress, Office to PDF, rotate, protect, unlock, watermark, PDF/A, HTML to PDF and edit 10 a file. OCR and PDF to Markdown 5 a page. Forms detect and Smart split 20 a page. AI Summariser 30 a page. Image tools 2 a file. Digital signature 80"
        },
        {
          "label": "Plans",
          "value": "Monthly or yearly subscriptions (yearly 20% less) and prepaid packages that do not expire. Prices in euros including VAT are drawn by script and were not read"
        },
        {
          "label": "Workflow",
          "value": "Start, upload, process, download. `POST /v1/task/next` chains a second tool on the output without a new upload"
        },
        {
          "label": "Inputs",
          "value": "Multipart file upload with optional chunks, or a public URL in `cloud_file`"
        },
        {
          "label": "Regions",
          "value": "eu, us, fr, de, pl, in, sg, chosen in the start call"
        },
        {
          "label": "Rate limits",
          "value": "Tier-dependent, reported in response headers, no numbers published. Open tasks are capped at 10% of the monthly file limit"
        },
        {
          "label": "Webhooks",
          "value": "`task.completed` and `task.failed`, plus signature events, set per URL in the user area"
        },
        {
          "label": "Data retention",
          "value": "The reference says files are deleted after an hour, or more by tier, and elsewhere after two hours. The terms give a maximum of 48 hours. Signed documents are kept up to 5 years"
        },
        {
          "label": "Libraries",
          "value": "PHP v1.4.1 (22 July 2026), .NET v1.6.4 (3 September 2026), Python v1.1.0 (28 July 2026), Node.js 0.3.1, Ruby 1.3.4 (8 July 2024), all MIT"
        },
        {
          "label": "Integrations",
          "value": "Zapier, Make, Power Automate, n8n, WordPress and Odoo. No MCP server found"
        }
      ],
      "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": 66,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "iLovePDF S.L.",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "iloveapi.com, registered 2005-08-18 (21 years)",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "api.ilovepdf.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 6 of the 7 things a reader expects",
            "points": 9.1,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "published, but our reader couldn't read it",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "could not be fetched",
            "points": 0,
            "max": 10,
            "state": "no"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.iloveapi.com/terms",
            "state": "read",
            "readAt": "2026-10-09",
            "statedDate": "2017-02-14",
            "words": 3248,
            "points": 9.1,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last modified: February 14, 2017",
                "says": "Last updated 2017-02-14"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "themselves to the jurisdiction and power of the judges and courts of the city of Barcelona.",
                "says": "Disputes go to the courts of the City of Barcelona"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "PERMITTED BY LAW, THE TOTAL LIABILITY OF ILOVEPDF, FOR ANY CLAIM UNDER THE TERMS, INCLUDING FOR ANY"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "iLovePDF may suspend access to the API by you or your API Client without notice if we"
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "We'll post notice of modifications to the Terms within",
                "says": "Says it gives notice of a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "You may not use the APIs and may not accept the Terms if (a) you are not of legal age to form a"
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": false
              }
            ],
            "toKnow": [
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "iLovePDF may suspend access to the API by you or your API Client without notice if we"
              },
              {
                "key": "old",
                "label": "Has not been updated for three years or more",
                "found": true,
                "quote": "Last modified: February 14, 2017"
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "iLovePDF may use the customer's company or product name, and screenshots or video of its API client, when promoting the API.",
                "quote": "Client, and may use your company or product name. You grant us all necessary"
              },
              {
                "date": "2026-10-08",
                "text": "Submitted files are accessed only for processing and are deleted after the contracted storage time, which is 48 hours at most.",
                "quote": "our Clients time as said in API documentation, with a maximum time of 48 hours."
              },
              {
                "date": "2026-10-08",
                "text": "iLovePDF may monitor API use to check quality, improve its products and verify compliance, and that monitoring may include accessing the customer's API client.",
                "quote": "THAT iLovePDF MAY MONITOR USE OF THE APIS TO ENSURE QUALITY, IMPROVE iLovePDF"
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.iloveapi.com/policy",
            "state": "unreadable",
            "reason": "the page has 108 words of text without a browser, so the document is drawn by script or sits elsewhere",
            "readAt": "2026-10-09",
            "points": 7,
            "max": 10
          }
        ]
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/iloveapi.json",
      "live": {
        "slug": "iloveapi",
        "probe": {
          "target": "https://api.ilovepdf.com/v1",
          "method": "get",
          "lastAt": "2026-10-10T01:37:54.634314146Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 126,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 125,
          "p95ms24h": 193,
          "samples24h": 102,
          "samples30d": 102,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "ilovepdf/ilovepdf-python",
            "version": "v1.1.0",
            "released": "2026-07-28",
            "seenAt": "2026-10-09T16:58:36.678829815Z"
          },
          {
            "registry": "npm",
            "name": "@ilovepdf/ilovepdf-nodejs",
            "version": "0.3.1",
            "seenAt": "2026-10-09T16:58:35.841962669Z"
          },
          {
            "registry": "pypi",
            "name": "ilovepdf",
            "version": "1.0.0",
            "released": "2026-04-01",
            "seenAt": "2026-10-09T16:58:35.730864554Z"
          }
        ],
        "githubStars": 15,
        "npmWeekly": 9582,
        "pypiWeekly": 60,
        "pages": [
          {
            "url": "https://www.iloveapi.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:51:09.812140969Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99ae5ec9f360"
          },
          {
            "url": "https://www.iloveapi.com/policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:51:07.694318062Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "15c457ef8e47"
          },
          {
            "url": "https://www.iloveapi.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:51:11.762653183Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9451d9a5e124"
          }
        ],
        "updatedAt": "2026-10-10T01:37:54.634314146Z"
      }
    },
    "verify": {
      "accepts": "a page on iloveapi.com or one of its subdomains, or the README of github.com/ilovepdf/ilovepdf-python",
      "badgeUrl": "https://www.anchorterminal.com/badges/iloveapi.svg",
      "body": {
        "slug": "iloveapi",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/iloveapi",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/iloveapi\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/iloveapi.svg\" alt=\"iLoveAPI on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![iLoveAPI on Anchor Terminal](https://www.anchorterminal.com/badges/iloveapi.svg)](https://www.anchorterminal.com/tools/iloveapi)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/iloveapi\"\u003eiLoveAPI on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/iloveapi",
    "json": "https://www.anchorterminal.com/tools/iloveapi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/iloveapi.md",
    "slim": "https://www.anchorterminal.com/tools/iloveapi.min.md"
  },
  "markdown": "## Overview\n\n**Grade E · 42/100 · rank #897 of 950 · #4 in PDF tools · not agent-ready · confidence medium**\n\n\n## Assessment\n\nPer-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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | iLovePDF S.L. (https://www.iloveapi.com) |\n| Kind | HTTP API |\n| Category | PDF tools (https://www.anchorterminal.com/categories/pdf-tools) |\n| Transport | HTTP |\n| Endpoint | `https://api.ilovepdf.com/v1` |\n| Auth | API key · 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. |\n| Pricing | Freemium (Freemium) · 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). |\n| x402 | No · No x402, MPP or L402 in the API reference, the pricing page or the terms (checked 2026-10-09). |\n| Licence | Proprietary service under the iLovePDF API terms. The client libraries are MIT |\n| Packages | pypi: `ilovepdf`; npm: `@ilovepdf/ilovepdf-nodejs`; packagist: `ilovepdf/ilovepdf-php` |\n| Source | https://github.com/ilovepdf/ilovepdf-python |\n| Docs | https://www.iloveapi.com/docs/api-reference |\n| llms.txt | not found |\n| Last release | 2026-09-03 |\n| npm downloads / week | 9,582 |\n| Free tier | 2,500 credits a month on registration, not valid for digital signatures (https://www.iloveapi.com/pricing) |\n| Credit costs | Merge 5 a task. Split 5 a file. Compress, Office to PDF, rotate, protect, unlock, watermark, PDF/A, HTML to PDF and edit 10 a file. OCR and PDF to Markdown 5 a page. Forms detect and Smart split 20 a page. AI Summariser 30 a page. Image tools 2 a file. Digital signature 80 |\n| Plans | Monthly or yearly subscriptions (yearly 20% less) and prepaid packages that do not expire. Prices in euros including VAT are drawn by script and were not read |\n| Workflow | Start, upload, process, download. `POST /v1/task/next` chains a second tool on the output without a new upload |\n| Inputs | Multipart file upload with optional chunks, or a public URL in `cloud_file` |\n| Regions | eu, us, fr, de, pl, in, sg, chosen in the start call |\n| Rate limits | Tier-dependent, reported in response headers, no numbers published. Open tasks are capped at 10% of the monthly file limit |\n| Webhooks | `task.completed` and `task.failed`, plus signature events, set per URL in the user area |\n| Data retention | The reference says files are deleted after an hour, or more by tier, and elsewhere after two hours. The terms give a maximum of 48 hours. Signed documents are kept up to 5 years |\n| Libraries | PHP v1.4.1 (22 July 2026), .NET v1.6.4 (3 September 2026), Python v1.1.0 (28 July 2026), Node.js 0.3.1, Ruby 1.3.4 (8 July 2024), all MIT |\n| Integrations | Zapier, Make, Power Automate, n8n, WordPress and Odoo. No MCP server found |\n| Capabilities | pdf.convert, pdf.merge, pdf.generate, pdf.extract, docs.ocr |\n| Tags | hosted, rest, jwt, credits, free-tier, webhooks, php, dotnet, python, nodejs, ruby, iso27001, eu |\n| JSON | https://www.anchorterminal.com/api/v1/tools/iloveapi.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-09 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 26 | 5.2 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 37 | 6.0 |\n| Agent ergonomics | 13% | 16.2 | 61 | 9.9 |\n| Security \u0026 auth | 14% | 17.5 | 41 | 7.2 |\n| Payments \u0026 pricing | 10% | 12.5 | 30 | 3.8 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 62 | 5.4 |\n| Transparency \u0026 trust (editorial 37, provenance 66) | 7% | 8.8 | 52 | 4.5 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **42 → E** |\n\n### Why each score\n\n- Reliability 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- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 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- Agent ergonomics 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- Security \u0026 auth 41: Each project has a public and a secret key, requests carry a JWT signed with the secret that expires after one hour, and domain and IP filters exist depending on tier. No scopes (20). No read-only key or confirmation before a task is deleted, and `/auth` issues a token for the public key alone unless a domain filter is set (4). OCR, Markdown and summary output is untrusted text and the docs give no injection guidance (0). `/task` lists processed tasks and signatures have a downloadable audit trail, with no account audit log found (7). ISO/IEC 27001:2022 certificate linked and a signed security policy of 19 June 2025. security.txt answered 403, and no disclosure policy or bounty was found (10).\n- Payments \u0026 pricing 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- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 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- Transparency \u0026 trust 52: 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\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (20 items): https://www.anchorterminal.com/fixes/iloveapi.md (JSON https://www.anchorterminal.com/fixes/iloveapi.json)\n\n### What we couldn't check\n\n- unchecked: plan and package prices in euros. The pricing page draws them by script, so only the credit cost of each tool was read\n- unchecked: the iLoveAPI privacy policy. It is an iubenda document under a path iubenda's robots.txt disallows\n- unchecked: security.txt. The request answered 403\n- unchecked: rate-limit numbers per tier and the names of the rate-limit headers. No request was sent to the API\n- unchecked: maximum file size per plan, and GitHub issue response times on the library repositories\n- unchecked: whether a status page exists. None is linked from the pages read\n- Translate PDF is commented out of the API reference and the product page but ships in the PHP and Python libraries\n- The lead's 250 free files a month comes from the API reference. The pricing page says 2,500 credits a month\n\n### Sources\n\n- home page: \u003chttps://www.iloveapi.com/\u003e (seen 2026-10-09)\n- API reference: \u003chttps://www.iloveapi.com/docs/api-reference\u003e (seen 2026-10-09)\n- pricing and FAQ: \u003chttps://www.iloveapi.com/pricing\u003e (seen 2026-10-09)\n- API terms: \u003chttps://www.iloveapi.com/terms\u003e (seen 2026-10-09)\n- privacy page (iubenda embed, text unread): \u003chttps://www.iloveapi.com/policy\u003e (seen 2026-10-09)\n- functions: \u003chttps://www.iloveapi.com/functions\u003e (seen 2026-10-09)\n- integrations: \u003chttps://www.iloveapi.com/integrations\u003e (seen 2026-10-09)\n- sign-up form: \u003chttps://www.iloveapi.com/signup\u003e (seen 2026-10-09)\n- PDF guides index: \u003chttps://www.iloveapi.com/docs/pdf-guides\u003e (seen 2026-10-09)\n- security and data protection: \u003chttps://www.ilovepdf.com/help/security\u003e (seen 2026-10-09)\n- Python library, tags and changelog (shallow clone): \u003chttps://github.com/ilovepdf/ilovepdf-python\u003e (seen 2026-10-09)\n- PHP library, tags and changelog (shallow clone): \u003chttps://github.com/ilovepdf/ilovepdf-php\u003e (seen 2026-10-09)\n- .NET library tags (shallow clone): \u003chttps://github.com/ilovepdf/ilovepdf-net\u003e (seen 2026-10-09)\n- Node.js library (shallow clone): \u003chttps://github.com/ilovepdf/ilovepdf-nodejs\u003e (seen 2026-10-09)\n- Ruby library (shallow clone): \u003chttps://github.com/ilovepdf/ilovepdf-ruby\u003e (seen 2026-10-09)\n- domain registration: \u003chttps://rdap.verisign.com/com/v1/domain/iloveapi.com\u003e (seen 2026-10-09)\n- npm weekly downloads: \u003chttps://api.npmjs.org/downloads/point/last-week/@ilovepdf/ilovepdf-nodejs\u003e (seen 2026-10-09)\n\n## Who's behind it (provenance 66/100, checked 2026-10-09)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | iLovePDF S.L. | 20/20 |\n| Domain age | iloveapi.com, registered 2005-08-18 (21 years) | 15/15 |\n| Endpoint on the vendor's domain | api.ilovepdf.com | 15/15 |\n| Terms of service | read, states 6 of the 7 things a reader expects | 9.1/10 |\n| Privacy policy | published, but our reader couldn't read it | 7/10 |\n| Status page | not found | 0/10 |\n| Changelog | not found | 0/10 |\n| security.txt | could not be fetched | 0/10 |\n\nThe API answers at api.ilovepdf.com, the vendor's main domain, and the product site is iloveapi.com\n\nThe 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\n\nwww.iloveapi.com/.well-known/security.txt answered 403 and was not retried\n\nNo status page or API changelog is linked from the site or the docs\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.iloveapi.com/terms), read 2026-10-09, dated 2017-02-14, states 6 of the 7 things a reader expects.\n\n- To know. Says access can be ended without notice or for any reason. \"iLovePDF may suspend access to the API by you or your API Client without notice if we\"\n- To know. Has not been updated for three years or more. \"Last modified: February 14, 2017\"\n- Gives the date it was last updated. Last updated 2017-02-14.\n- Names the governing law or courts. Disputes go to the courts of the City of Barcelona.\n- Says how changes to the terms are announced. Says it gives notice of a change.\n- Not found in the text. Refers to a service level or uptime commitment.\n- Also in the text (2026-10-08). iLovePDF may use the customer's company or product name, and screenshots or video of its API client, when promoting the API. \"Client, and may use your company or product name. You grant us all necessary\"\n- Also in the text (2026-10-08). Submitted files are accessed only for processing and are deleted after the contracted storage time, which is 48 hours at most. \"our Clients time as said in API documentation, with a maximum time of 48 hours.\"\n- Also in the text (2026-10-08). iLovePDF may monitor API use to check quality, improve its products and verify compliance, and that monitoring may include accessing the customer's API client. \"THAT iLovePDF MAY MONITOR USE OF THE APIS TO ENSURE QUALITY, IMPROVE iLovePDF\"\n\n**Privacy policy** (https://www.iloveapi.com/policy), read 2026-10-09. Our reader couldn't read it (the page has 108 words of text without a browser, so the document is drawn by script or sits elsewhere).\n\n\n## Live (updated 2026-10-10 01:37 UTC)\n\n- Right now: up, HTTP 404, 126 ms, checked 2026-10-10 01:37 UTC (get on `https://api.ilovepdf.com/v1`)\n- Uptime 24h 100.0% (102 probes) · 30 days 100.0% (102 probes) · p50 125 ms · p95 193 ms\n- github `ilovepdf/ilovepdf-python` v1.1.0, released 2026-07-28\n- npm `@ilovepdf/ilovepdf-nodejs` 0.3.1\n- pypi `ilovepdf` 1.0.0, released 2026-04-01\n- Watching pricing \u003chttps://www.iloveapi.com/pricing\u003e\n- Watching privacy \u003chttps://www.iloveapi.com/policy\u003e\n- Watching terms \u003chttps://www.iloveapi.com/terms\u003e\n- Always current: https://www.anchorterminal.com/api/v1/live/iloveapi.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Strengths\n\n- 2,500 free credits a month on registration, and the sign-up form asks for name, email and password only\n- 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\n- Seven processing regions can be chosen per task (eu, us, fr, de, pl, in, sg)\n- Official MIT libraries for PHP, .NET, Python, Node.js and Ruby, with three tagged releases between 22 July and 3 September 2026\n- ISO/IEC 27001:2022 certificate linked from the security page, and optional per-task file encryption with a caller-held key\n\n## Weaknesses\n\n- No OpenAPI file, llms.txt or Markdown docs. The reference is one HTML page\n- No status page is linked from the site or docs, and rate limits are described as tier-dependent with no numbers\n- The API terms were last modified on 14 February 2017 and let iLovePDF discontinue the API at any time without liability\n- Uptime is stated as over 99.95% on the pricing page and 99.9%+ on the functions page, while the terms disclaim availability\n- The reference still says a free account has a 250-file monthly limit, while the pricing page says 2,500 credits\n- No idempotency keys, no scoped or read-only keys, and no guidance on untrusted text returned by OCR, Markdown or summary tools\n\n## Before you call it (notes for agents)\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## Connect\n\nInstall:\n\n```bash\npip install ilovepdf\n```\n\nFirst request:\n\n```bash\ncurl -X POST https://api.ilovepdf.com/v1/auth -d \"public_key=$ILOVEPDF_PUBLIC_KEY\"\n```\n\nThrough letme (picks today, calling later): https://letme.dev/iloveapi. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Nutrient DWS Processor API | B | 68.7 | 209 | pdf.convert, pdf.merge, pdf.generate, pdf.extract, docs.ocr | no | https://www.anchorterminal.com/tools/nutrient-dws-processor.md |\n| Adobe PDF Services / PDF Extract API | C | 55.9 | 643 | docs.ocr, pdf.convert, pdf.merge, pdf.generate, pdf.extract | no | https://www.anchorterminal.com/tools/adobe-pdf-extract.md |\n| Foxit PDF Services API | D | 48.3 | 818 | pdf.convert, pdf.merge, pdf.generate, pdf.extract, docs.ocr | no | https://www.anchorterminal.com/tools/foxit-pdf-services.md |\n| PDF.co API + MCP | F | 37.9 | 924 | pdf.convert, pdf.merge, pdf.generate, pdf.extract, docs.ocr | no | https://www.anchorterminal.com/tools/pdf-co.md |\n| CloudConvert API | B | 66.4 | 291 | pdf.convert, pdf.merge, pdf.generate, docs.ocr | no | https://www.anchorterminal.com/tools/cloudconvert.md |\n| APITemplate.io | D | 46.6 | 850 | pdf.generate, pdf.convert, pdf.merge | no | https://www.anchorterminal.com/tools/apitemplate-io.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The same infrastructure runs ilovepdf.com and iloveimg.com, which the vendor says process 20 million files a day (source: \u003chttps://www.iloveapi.com\u003e)\n- A task is four calls, start, upload, process and download, and the start call assigns the server that the other three use (source: \u003chttps://www.iloveapi.com/docs/api-reference\u003e)\n- Newer tools priced by the page are PDF to Markdown, Forms detect, Smart split and AI Summariser (source: \u003chttps://www.iloveapi.com/pricing\u003e)\n- The Signature REST API creates signature requests with audit trail downloads and costs 80 credits a file (source: \u003chttps://www.iloveapi.com/docs/api-reference\u003e)\n- The API terms were last modified on 14 February 2017 (source: \u003chttps://www.iloveapi.com/terms\u003e)\n\n- #5 of 6 in Best PDF manipulation and conversion APIs for AI agents: https://www.anchorterminal.com/best/pdf-tools/index.md\n- All 24 pdf comparisons: https://www.anchorterminal.com/compare/pdf-tools/index.md\n\n## Compare\n\n- [CloudConvert API vs iLoveAPI](https://www.anchorterminal.com/compare/cloudconvert-vs-iloveapi.md): B 66.4 vs E 42\n- [Foxit PDF Services API vs iLoveAPI](https://www.anchorterminal.com/compare/foxit-pdf-services-vs-iloveapi.md): D 48.3 vs E 42\n- [iLoveAPI vs Nutrient DWS Processor API](https://www.anchorterminal.com/compare/iloveapi-vs-nutrient-dws-processor.md): E 42 vs B 68.7\n- [iLoveAPI vs PDF.co API + MCP](https://www.anchorterminal.com/compare/iloveapi-vs-pdf-co.md): E 42 vs F 37.9\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on iloveapi.com or one of its subdomains, or the README of github.com/ilovepdf/ilovepdf-python. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"iloveapi\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/iloveapi\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/iloveapi.svg\" alt=\"iLoveAPI on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![iLoveAPI on Anchor Terminal](https://www.anchorterminal.com/badges/iloveapi.svg)](https://www.anchorterminal.com/tools/iloveapi)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/iloveapi\"\u003eiLoveAPI on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say iLoveAPI is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/iloveapi-dark.png\n- Light: https://www.anchorterminal.com/assets/share/iloveapi-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "PDF tools",
        "url": "https://www.anchorterminal.com/categories/pdf-tools"
      },
      {
        "name": "iLoveAPI",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #897 of 950",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "iLoveAPI",
    "image": "https://www.anchorterminal.com/assets/og/tools-iloveapi.png",
    "path": "/tools/iloveapi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "iLoveAPI review (2026): pricing, alternatives and grade E",
    "toc": null,
    "updated": "2026-10-10",
    "url": "https://www.anchorterminal.com/tools/iloveapi"
  },
  "tokens": {
    "markdown": 5850,
    "slim": 1580
  },
  "version": 1
}
