Skip to content

List customers

GET/customers

Costs 1 rate-limit point · Rate limits

List customers Filemonk has delivered to, newest first, paginated (page, per_page up to 200), each with how many orders they have. search matches email, phone or name; email matches exactly; unsubscribed=true narrows to buyers who opted out of the merchant's emails.

Also searched aslist customersfind a customer by emailunsubscribed customersrepeat buyers

Query parameters

  • unsubscribedstring
    One of truefalse
  • pageinteger

    1-based page number.

    Default 1
  • per_pageinteger

    Rows per page, max 200.

    Default 50
  • searchstring
  • emailstring

Returns

  • dataarray of objects
    Show 10 child attributesHide child attributes
    • idstring, nullable
      Example: ca5b4abc-63b1-4e29-be0a-12acb35908c5
    • shopify_customer_idstring, nullable
      Example: gid://shopify/Customer/10296813191463
    • emailany
    • phoneany
    • first_namestring, nullable
      Example: Jane
    • last_namestring, nullable
      Example: Doe
    • orders_countinteger, nullable
      Example: 1
    • marketingobject
      Show 2 child attributesHide child attributes
      • unsubscribedboolean, nullable
        Example: false
      • unsubscribed_atany
    • created_atstring, nullable
      Example: 2026-10-26T14:19:29Z
    • updated_atstring, nullable
      Example: 2026-10-26T14:19:29Z
  • metaobject

    Paging of a list (page, per_page query params).

    Show 4 child attributesHide child attributes
    • total_countinteger

      Rows across all pages.

    • pageinteger

      1-based page number.

    • per_pageinteger

      Rows per page, max 200.

    • total_pagesinteger
      Example: 1

Errors

401

Missing or invalid API key.

422

The request failed validation, or sent a key the action does not take (code: "unknown_parameters" with unknown and accepted). Nothing was saved.

429

Rate limited. Cost-weighted per API key, shared with API v1: a read costs 1 point, a write 2, 40 points per fixed 60-second window. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix time the window ends); a 429 adds Retry-After (seconds), retry_after, retryable: true and a next_step in the body. A 429 did nothing: wait retry_after seconds, then send the same request again. The budget is per key, so every tool or script using the key shares it; prefer one list call with per_page over many single reads.

Every error has the same shape: see Errors.

GET/customers
curl "https://app.filemonk.io/api/v2/external/customers" \
  -H "X-Auth-Token: $FILEMONK_API_KEY"
Response
{
  "data": [
    {
      "id": "ca5b4abc-63b1-4e29-be0a-12acb35908c5",
      "shopify_customer_id": "gid://shopify/Customer/10296813191463",
      "email": null,
      "phone": null,
      "first_name": "Jane",
      "last_name": "Doe",
      "orders_count": 1,
      "marketing": {
        "unsubscribed": false,
        "unsubscribed_at": null
      },
      "created_at": "2026-10-26T14:19:29Z",
      "updated_at": "2026-10-26T14:19:29Z"
    }
  ],
  "meta": {
    "total_count": 8,
    "page": 1,
    "per_page": 50,
    "total_pages": 1
  }
}