Simple Scan - PDF Scanner App icon

Simple Scan (com.simplescan.scanner) Data API

Easy inc. · Utilities

Simple Scan - PDF Scanner App is a Google Play utility from Easy inc. that turns the phone camera into a document scanner, saving captured pages as PDFs and running Google-powered OCR text recognition on them. Signed-in users can sync their scans to a cloud vault and pull them down on another device, within daily and monthly upload/download allowances, and can send a scanned PDF as a cloud share link straight from the Android share sheet. Free accounts get a smaller cloud-share storage cap than subscribers, while premium cloud plans (10 GB and 100 GB tiers, including a yearly 100 GB option) are sold as Google Play subscriptions that lift the storage and sync limits; an in-app account deletion removes the cloud account and its synced files. The app is distributed in the United States, India, Brazil and Indonesia to people digitizing paper documents on their phones, and competes with Adobe Scan, CamScanner, Genius Scan, TapScanner and India's Kaagaz.

Scanned PDFs synced to the cloud vault leave a trail of per-account records. Device capability flags and byte quotas — fileSyncEnable, ggOcrUsable, cloudFileShareUsable, dayUploadSyncFlow, monthDownSyncFlow — state whether a given device may sync, run Google OCR or share files, and how many bytes it may move per day and per month. Sync grants pin each user's documents to a storage location and a time-boxed identity (bucketName, bucketRegionName, identityId, identityPoolId, tokenExpireTimeMillis), while share registrations record each shared PDF by bucketKey and fileSize against a userId, alongside the freeStorageSpace and subscribeStorageSpace caps.

On the billing side, purchase records tie a Google Play purchaseToken and orderId to the account, and entitlement lookups return a SubscriptionPurchase whose expiryTimeMillis, paymentState and acknowledgementState decide whether the 10 GB or 100 GB cloud plan is live. Account deletions are keyed by userId, deviceId and deviceToken.

Document-management connectors use the sync grants to list and pull a user's scanned PDFs from the vault without opening the app; back-office OCR and ID-document extraction bots pick up newly registered shares by bucket key and file size; billing teams confirm a subscription's expiry and payment state before granting 100 GB of sync storage; and support tools run GDPR-style wipes that drop the cloud identity and zero the stored scan volume. openData Studio turns these vault, quota and entitlement records into callable open data.

Screenshots

  • Simple Scan - PDF Scanner App screenshot 1
  • Simple Scan - PDF Scanner App screenshot 2
  • Simple Scan - PDF Scanner App screenshot 3
  • Simple Scan - PDF Scanner App screenshot 4
  • Simple Scan - PDF Scanner App screenshot 5
  • Simple Scan - PDF Scanner App screenshot 6
  • Simple Scan - PDF Scanner App screenshot 7
  • Simple Scan - PDF Scanner App screenshot 8

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Fetch scanner feature flags and sync quotas

    PUT /v1/config/features opendata

    Returns whether cloud sync, Google OCR and file-share are enabled for this device, plus the daily and monthly upload/download byte quotas that gate the scanner's cloud vault.

    Auth: Signed-in Firebase user. Every call sends custom app identity headers: app-version, appType=7, app-type=7, requestTime, systemVersion, phoneModel, uu-id (Firebase UID) and device-id.

    • status
    • message
    • fileSyncEnable
    • cloudFileShareUsable
    • deviceUsable
    • ggOcrUsable
    • dayDownSyncFlow
    • dayUploadSyncFlow
    • monthDownSyncFlow
    • monthUploadSyncFlow
    PUT /v1/config/features HTTP/1.1
    app-version: 295
    appType: 7
    app-type: 7
    requestTime: 1758902400000
    systemVersion: Android 14
    phoneModel: Pixel 8
    uu-id: K8f2c1e0AbCdEf123456
    device-id: 3a7c9e12f04b8d11
    {
      "status": 1,
      "message": "ok",
      "data": {
        "fileSyncEnable": 1,
        "cloudFileShareUsable": true,
        "deviceUsable": true,
        "ggOcrUsable": true,
        "dayDownSyncFlow": 5368709120,
        "dayUploadSyncFlow": 5368709120,
        "monthDownSyncFlow": 32212254720,
        "monthUploadSyncFlow": 32212254720
      }
    }
  • Mint AWS Cognito token for document sync

    PUT /v1/sync/credentials opendata

    Exchanges a Firebase ID token (and optional Play purchase token) for Cognito identity credentials and the S3 bucket/region used to upload and download scanned PDFs in the user's cloud vault.

    Auth: Firebase ID token posted as token, plus the standard app identity headers (uu-id, device-id, appType=7). Optional Play IAP fields purchaseToken, orderId (GPA order) and productId when the user is on a cloud plan.

    • status
    • message
    • currentTimeMillis
    • bucketName
    • bucketRegionName
    • identityId
    • identityPoolId
    • identityPoolRegionName
    • providerName
    • token
    • tokenExpireTimeMillis
    • dayDownSyncFlow
    • dayUploadSyncFlow
    • monthDownSyncFlow
    • monthUploadSyncFlow
    • appType
    • deviceId
    • purchaseToken
    • orderId
    • productId
    PUT /v1/sync/credentials HTTP/1.1
    app-version: 295
    appType: 7
    uu-id: K8f2c1e0AbCdEf123456
    device-id: 3a7c9e12f04b8d11
    Content-Type: application/x-www-form-urlencoded
    
    appType=7&token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...&deviceId=3a7c9e12f04b8d11&purchaseToken=GPA.1234-5678-9012-34567&orderId=GPA.3344-5566-7788-99000&productId=cloud100g_yearly
    {
      "status": 1,
      "message": "ok",
      "currentTimeMillis": 1758902400000,
      "data": {
        "bucketName": "scanner-cloud-vault",
        "bucketRegionName": "us-east-2",
        "identityId": "us-east-2:8f3c1d2e-7a9b-4c5e-9f0a-1b2c3d4e5f6a",
        "identityPoolId": "us-east-2:c0ffee00-1111-2222-3333-444455556666",
        "identityPoolRegionName": "us-east-2",
        "providerName": "cognito-identity.amazonaws.com",
        "token": "eyJraWQiOiJhd3MtY29nbml0by4uLiIsInR5cCI6IkpXVCJ9...",
        "tokenExpireTimeMillis": 1758906000000,
        "dayDownSyncFlow": 5368709120,
        "dayUploadSyncFlow": 5368709120,
        "monthDownSyncFlow": 32212254720,
        "monthUploadSyncFlow": 32212254720
      }
    }
  • Register a scanned PDF share link

    POST /v1/shares/register opendata

    Registers a scanned PDF (cloud storage key plus byte size) as a cloud share after the share-sheet upload, returning whether sharing is enabled and the free vs subscribed storage caps.

    Auth: Anonymous or signed-in Firebase user. Standard app identity headers; body carries userId, deviceId, appType=7.

    • status
    • message
    • currentTimeMillis
    • appType
    • deviceId
    • bucketKey
    • fileSize
    • userId
    • orderId
    • cloudFileShareUsable
    • deviceUsable
    • ggOcrUsable
    • freeStorageSpace
    • subscribeStorageSpace
    POST /v1/shares/register HTTP/1.1
    app-version: 295
    appType: 7
    uu-id: K8f2c1e0AbCdEf123456
    device-id: 3a7c9e12f04b8d11
    Content-Type: application/x-www-form-urlencoded
    
    appType=7&deviceId=3a7c9e12f04b8d11&bucketKey=A_K8f2c1e0AbCdEf123456/pdfs/invoice-2026-09-26.pdf&fileSize=842144&userId=K8f2c1e0AbCdEf123456&orderId=GPA.3344-5566-7788-99000
    {
      "status": 1,
      "message": "ok",
      "currentTimeMillis": 1758902400000,
      "data": {
        "cloudFileShareUsable": true,
        "deviceUsable": true,
        "ggOcrUsable": true,
        "cloudFileShareConfiguration": {
          "freeStorageSpace": 50,
          "subscribeStorageSpace": 500
        }
      }
    }
  • Record a Google Play subscription purchase

    POST /v1/billing/subscriptions openfinance

    Uploads the Play Billing purchaseToken, GPA orderId and Firebase userId so the scanner backend can attach a premium/cloud-storage entitlement to the account.

    Auth: Signed-in Firebase user. Standard app identity headers; body posts userId (Firebase UID), deviceId, purchaseToken and orderId from Play Billing.

    • appType
    • userId
    • orderId
    • purchaseToken
    • accountId
    • deviceId
    • status
    • message
    POST /v1/billing/subscriptions HTTP/1.1
    app-version: 295
    appType: 7
    uu-id: K8f2c1e0AbCdEf123456
    device-id: 3a7c9e12f04b8d11
    Content-Type: application/x-www-form-urlencoded
    
    appType=7&userId=K8f2c1e0AbCdEf123456&orderId=GPA.3344-5566-7788-99000&purchaseToken=GPA.1234-5678-9012-34567&accountId=0&deviceId=3a7c9e12f04b8d11
    {
      "status": 1,
      "message": "ok"
    }
  • Verify Play subscription entitlement

    GET /v1/billing/entitlements/lookup openfinance

    Looks up a Google Play subscription by purchase token and returns the SubscriptionPurchase blob (expiryTimeMillis and payment state) used to turn premium/cloud features on or off.

    Auth: Play purchase token as query param token, plus account_id. No Firebase session required on this call.

    • token
    • account_id
    • type
    • SubscriptionPurchase
    • expiryTimeMillis
    • paymentState
    • acknowledgementState
    • orderId
    • purchaseToken
    GET /v1/billing/entitlements/lookup?token=GPA.1234-5678-9012-34567&account_id=0 HTTP/1.1
    {
      "type": 1,
      "SubscriptionPurchase": {
        "expiryTimeMillis": "1761494400000",
        "paymentState": 1,
        "acknowledgementState": 1,
        "orderId": "GPA.3344-5566-7788-99000",
        "purchaseToken": "GPA.1234-5678-9012-34567"
      }
    }
  • Delete scanner account

    PUT /v1/account/delete osint

    Deletes the scanner cloud account bound to this Firebase userId, deviceId and push token, wiping the identity used for sync and share-link history.

    Auth: Firebase userId plus deviceId and the stored push token as deviceToken. Standard app identity headers.

    • userId
    • appType
    • deviceToken
    • deviceId
    • status
    • message
    PUT /v1/account/delete HTTP/1.1
    app-version: 295
    appType: 7
    uu-id: K8f2c1e0AbCdEf123456
    device-id: 3a7c9e12f04b8d11
    Content-Type: application/x-www-form-urlencoded
    
    userId=K8f2c1e0AbCdEf123456&appType=7&deviceToken=fcm-e0AbCdEf123456&deviceId=3a7c9e12f04b8d11
    {
      "status": 1,
      "message": "ok"
    }

Data categories

  • cloud-sync
  • document-share
  • entitlements
  • feature-flags
  • device-identity

Where teams use this data

  • Cloud vault credential broker

    A document-management connector calls PUT /v1/sync/credentials with the user's Firebase ID token, then uses the returned identityId, identityPoolId, bucketName and short-lived cloud token to list and pull scanned PDFs from the user's storage vault without opening the app.

  • Share-link intake for back-office OCR

    Intake bots watch POST /v1/shares/register for new bucketKey + fileSize registrations, then fetch the PDF from cloud storage and run downstream OCR or ID-document extraction using the same userId.

  • Premium entitlement audit

    Billing ops verify a device's cloud quota by pairing POST /v1/billing/subscriptions (purchaseToken, orderId, userId) with GET /v1/billing/entitlements/lookup, reading expiryTimeMillis and paymentState before granting 100 GB sync.

  • Account teardown / GDPR wipe

    Support tools call PUT /v1/account/delete with userId, deviceId and deviceToken to drop the cloud identity, then purge the synced vault so the user's stored scan volume is zeroed.

Frequently asked questions

How does Simple Scan authenticate its cloud calls?

Every cloud call sends custom app identity headers: app-version, appType=7, app-type=7, requestTime, systemVersion, phoneModel, uu-id (Firebase UID) and device-id. Sync additionally posts the Firebase ID token as token; the entitlement lookup uses the Play purchase token instead.

Where do scanned PDFs actually live?

PUT /v1/sync/credentials returns bucketName, bucketRegionName, identityPoolId and a short-lived cloud token. The app then uploads pages to cloud object storage; share-sheet files are also copied under a pdfs/ storage path before POST /v1/shares/register records the bucketKey.

Which fields control OCR and cloud-share?

PUT /v1/config/features returns ggOcrUsable, cloudFileShareUsable, deviceUsable and fileSyncEnable, plus dayDownSyncFlow / dayUploadSyncFlow / monthDownSyncFlow / monthUploadSyncFlow. The share-link response repeats those flags and adds freeStorageSpace vs subscribeStorageSpace.

How is a Play subscription turned into cloud quota?

After billing, POST /v1/billing/subscriptions sends purchaseToken, orderId, userId, accountId and deviceId. GET /v1/billing/entitlements/lookup?token=...&account_id=... then returns the expiryTimeMillis and paymentState used to unlock the 10 GB / 100 GB plans.

Apps similar to Simple Scan - PDF Scanner App

  • Adobe Scan — Adobe Scan captures paper and receipts with automatic edge detection and OCR, then saves searchable PDFs into the Adobe Acrobat ecosystem.
  • CamScanner — CamScanner turns camera shots into PDF or JPEG, with OCR, e-signatures, faxing and export to Drive, Dropbox or Box.
  • Genius Scan - PDF Scanner — Genius Scan is a mobile document scanner with automatic image optimization, multi-page PDFs and a free tier that works without an account.
  • PDF Scanner app - TapScanner — TapScanner is a camera-to-PDF app with OCR, merge/split/sign tools and cloud export, often compared with CamScanner.
  • PDF Scanner & Editor by Kaagaz — Kaagaz is an India-made scanner that stores files on-device by default, with merge, compress and convert tools and no required sign-in.
  • SwiftScan — SwiftScan (formerly Scanbot) captures multi-page documents with automatic edge detection, then shares, faxes or stores them in cloud apps.
  • Google Drive Scanner — The Google Drive Android app includes a built-in scanner that saves multi-page captures as searchable PDFs directly in Drive.
  • Clear Scan — Clear Scan is a lightweight document scanner with folder organization, OCR text extraction and PDF or JPEG export to Drive, OneDrive or Dropbox.

Topics

  • simple scan api
  • simplescan.scanner cloud sync api
  • simple scan pdf share api
  • simple scan subscription api
  • simple scan document cloud api

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote