Extract Orders

Extracts the shipping address (shippingAddress) from Etsy order documents — PDF receipts or CSV exports — submitted as base64-encoded content. No call is made to the Etsy API; the address is parsed directly from the uploaded document.

This endpoint solves a specific Etsy restriction: when third-party shipping is enabled, Etsy hides the buyer's address in its API. However, the address remains accessible in the downloadable PDF receipts and the official EtsySoldOrders.csv export. By uploading those documents directly, EcartAPI returns the shippingAddress in the unified canonical format.

Note: This endpoint is exclusive to Etsy. Authentication uses a JWT ecommerce token bound to an Etsy store — the platform is resolved from the token, not from a path parameter.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Available platforms

This endpoint is supported by 1 platform.

Etsy


How it works

Submit one or more documents (PDF or CSV) base64-encoded in the orders array. EcartAPI decodes each document, locates the shipping block, and returns a canonical shippingAddress for every order found.

FormatSourceOrders produced
pdfEtsy order receipt or label1 per document
csvEtsySoldOrders.csv official export1 per data row

Results from all documents are flattened into a single orders array, preserving input order. You can mix PDF and CSV documents in the same request.


Request payload

{
  "orders": [
    {
      "content": "<BASE64_ENCODED_DOCUMENT>",
      "format": "pdf"
    }
  ]
}
FieldTypeRequiredDescription
ordersarrayYesArray of documents. Minimum 1 item. Maximum request body: 20 MB.
orders[].contentstringYesFull document encoded in base64.
orders[].formatstringYesDocument format. Accepted values: pdf or csv.

Response shape

{
  "success": true,
  "orders": [
    {
      "id": "1000000001",
      "number": "1000000001",
      "shippingAddress": {
        "id": null,
        "firstName": "MARIA EXAMPLE",
        "lastName": null,
        "dni": null,
        "identificationNumber": null,
        "address1": "FALSE STREET 123",
        "address2": null,
        "interiorNumber": null,
        "address3": null,
        "country": { "code": "MX", "name": "Mexico", "codeIso2": "MX", "codeIso3": "MEX" },
        "state": { "code": "CO", "name": "Coahuila de Zaragoza", "codeIso2": "CO", "codeIso3": "COA" },
        "city": "SAMPLE CITY",
        "postalCode": "00000",
        "phone": null,
        "email": "[email protected]",
        "company": null,
        "references": null,
        "latitude": null,
        "longitude": null
      }
    }
  ]
}

shippingAddress field notes

FieldPDFCSVNotes
firstNameFull name from "Ship to" blockFull Name (or First Name + Last Name)Etsy provides a single name field
lastNamenullnullAlways null — name is not split
emailExtracted from buyer line NAME ([email protected])nullCSV exports do not include buyer email
address1First address lineStreet 1 column
address2Second address lineStreet 2 columnnull when not present
cityCity from address blockShip City column
stateState resolved to ISO codesShip State resolved to ISO codes
postalCodeZIP/postal codeShip Zipcode column
countryCountry resolved to ISO codesShip Country resolved to ISO codes
phone, company, references, latitude, longitudenullnullNot available in Etsy documents

Error responses

400 Bad Request

Returned when the document is valid but the shipping address block cannot be located, the base64 content is not decodable, or a PDF has no extractable text layer.

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "The shipping address could not be located in the document"
}

422 Unprocessable Entity

Returned when request validation fails — for example, an unsupported format value.

{
  "statusCode": 422,
  "error": "Unprocessable Entity",
  "message": "\"orders[0].format\" must be one of [pdf, csv]",
  "ecartapiError": true
}
Body Params
orders
array of objects
required
length ≥ 1

Array of documents to extract. Each item must include a base64-encoded document and its format.

orders*
string
required

Base64-encoded content of the order document (PDF or CSV).

string
enum
required

Format of the document. Accepted values: pdf (one order per document) or csv (one order per row).

Allowed:
Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json