# VisageCloud API

> VisageCloud API on Apizie: 42 endpoints (Get account information by accessKey and secretKey, Get billing information by accessKey and secretKey, Change password for an account using old password, Get account information including accessKey and secretKey by email and password, …) returned as clean JSON through one API key. 42 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/search-tools:visagecloud/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `search-tools:visagecloud`
- Category: Search Tools
- Status: live
- Source: https://visagecloud.com
- Page: https://zieapi.vercel.app/api/search-tools/visagecloud
- OpenAPI: https://zieapi.vercel.app/api/search-tools/visagecloud/openapi.json

Face search, recognition & classification API. Just make a call to our REST API each time your app needs to access face recognition and classification capabilities.

## Endpoints

### Get account information by accessKey and secretKey
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-account-by-access-key-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | accessKey |
| secretKey | string | yes | secretKey |

### Get billing information by accessKey and secretKey
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-billing-per-account-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | accessKey |
| secretKey | string | yes | secretKey |
| startDateTime | string | no | startDateTime |
| endDateTime | string | no | endDateTime |
| dateTemplate | string | no | dateTemplate |

### Change password for an account using old password
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/change-password-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| email | string | yes | email |
| oldPassword | string | yes | oldPassword |
| newPassword | string | yes | newPassword |

### Get account information including accessKey and secretKey by email and password
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/login-with-email-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| email | string | yes | email |
| password | string | yes | password |

### Compare several faces identified by faceHash, without depending on mapping faces to profiles
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/compare-faces-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| faceHashes | array | yes | The IDs of the faces which you want compared, comma-separated |
| showDetails | boolean | no | Show details |

### Perform detection on a given picture or picture URL
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/perform-analysis-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| storeAnalysisPicture | boolean | no | Boolean value indicating whether you want the picture of the analysis to be stored for later retrieval |
| storeFacePictures | boolean | no | Boolean value indicating whether you want the faces inside the picture to be stored for later retrieval |
| storeResult | boolean | no | Boolean value indicating whether you want the result of the analysis to be stored |
| retentionTime | integer | no | How many seconds the results should be retained in stoarage? |
| pictureURL | string | no | The URL of the picture, assuming it is served by a third party server. Server should be accesible from the Internet or through another… |
| algorithmVersion | string | no | Algorithm version (V2 is more performant but not backward compatible) |
| autoRotate | boolean | no | Auto-rotate to find flipped or rotate faces |
| skipEXIF | boolean | no | Skip EXIF rotation procesing |
| waitForPictureUpload | boolean | no | Waits until the picture is successfully uploaded, before returning the response back the the client |
| filters | array | no | [For advanced users only] Change feature filters for robustness of feature extraction. Tweaking this parameter may affect per |
| options | string | no | [For advanced users only] Options for preprocessing of image. |
| body | object | no | Form fields as a JSON object |

### Retrieve the last *count* operations per current account
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/retrive-latest-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| count | integer | no | How many records to retrieve at a time |

### Perform labeled recognition on a given picture or picture URL
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/perform-recognition-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| storeAnalysisPicture | boolean | no | Boolean value indicating whether you want the picture of the analysis to be stored for later retrieval |
| storeFacePictures | boolean | no | Boolean value indicating whether you want the faces inside the picture to be stored for later retrieval |
| storeResult | boolean | no | Boolean value indicating whether you want the result of the analysis to be stored |
| retentionTime | integer | no | How many seconds the results should be retained in stoarage? |
| collectionId | string | yes | Uniquely identified collection that can store multiple profiles |
| labels | array | no | Labels associated with the given picture or picture URL |
| attributeFilters | array | no | Filters that will be applied on the recognition operation |
| pictureURL | string | no | The URL of the picture |
| algorithmVersion | string | no | Algorithm version (V2 is more performant but not backward compatible) |
| autoRotate | boolean | no | Auto-rotate to find flipped or rotate faces |
| skipEXIF rotation processing | boolean | no | Skip EXIF rotation procesing |
| waitForPictureUpload | boolean | no | Waits until the picture is successfully uploaded, before returning the response back the the client |
| filters | array | no | [For advanced users only] Change feature filters for robustness of feature extraction. Tweaking this parameter may affect per |
| options | string | no | [For advanced users only] Options for preprocessing of image. |
| body | object | no | Form fields as a JSON object |

### Retrieve a complete analysis object including both detection and recognition information
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/retrieve-analysis-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| analysisId | string | yes | The ID of the analysis for which the data will be retrieved |

### Count individuals in streams or collections
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/counter-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| collectionIds | array | no | Collection ids |
| streamIds | array | no | Stream Ids |
| startDateTime | string | no | startDateTime |
| endDateTime | string | no | endDateTime |
| visitDuration | integer | no | visitDuration |
| maxIterations | integer | no | maxIterations |
| maxBatchIterations | integer | no | maxBatchIterations |
| minNeighborsMergedPerIteration | integer | no | minNeighborsMergedPerIteration |
| mergingStep | number | no | mergingStep |
| shuffling | boolean | no | shuffling |

### Show audience (based on number of occurrences of each person) breakdown per declared attribute (age, gender).
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/presence-timeseries-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| streamIds | array | no | Stream Ids |
| startDateTime | string | no | startDateTime |
| endDateTime | string | no | endDateTime |
| step | integer | no | step |
| attributes | array | yes | attributes |

### Show presence (based on number of occurences of each face) breakdown per declared attribute (age, gender)
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/presence-total-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| streamIds | array | yes | Stream Ids |
| startDateTime | string | no | startDateTime |
| endDateTime | string | no | endDateTime |
| attributes | array | yes | attributes |

### Get classifier full
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-classifer-full-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| id | string | yes | The id of the classifier that you want the status for |

### Create new SVM classifier with given name
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/add-svmclassifier-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| name | string | yes | The name of the SVM classifier that will be created |
| collectionIds | array | yes | Collection ids |
| preprocessor | string | no | Preprocessor |
| classificationAttributeName | string | yes | Classification attribute name |
| considerViewPoints | boolean | no | Consider view point |
| seed | integer | no | Seed for divididing training and evaluation sets |
| trainingRatio | number | no | Training ratio |
| probabilityParameter | integer | no | Probability parameter |
| gammaParameter | number | no | Gamma parameter |
| nuParameter | number | no | Nu parameter |
| cParameter | number | no | c parameter |
| svmTypeParameter | integer | no | SVM type parameter |
| kernelTypeParameter | integer | no | Kernel type parameter |
| cacheSizeParameter | number | no | Cache size parameter |
| epsParameter | number | no | Eps parameter |

### Delete existing classifier
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/remove-classifer-using-delete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| id | string | yes | The id of the classifier that will be removed |

### Get classifer status
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-classifer-status-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| id | string | yes | The id of the classifier that you want the status for |

### Retrieve all collections
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-all-collections-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |

### Create new empty collection with given name
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/add-collection-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Retrieve collection content for data analysis.
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/export-csvusing-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| collectionId | string | yes | The id of the collection for which the data will be retrieved |

### Retrieve existing collection content
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-collection-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| id | string | yes | The id of the collection for which the data will be retrieved |

### Update an existing collection with a given id
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/update-collection-using-patch`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| name | string | no | The name of the collection that will be updated |
| purposes | array | no | The newly declared purposes of the collection |
| id | string | yes | The id of the collection that will be updated |

### Delete existing collection with associated profiles and faces.
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/delete-collection-using-delete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| id | string | yes | The id of the collection that will be removed |

### Gets all the profiles associated to a collection
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-all-collection-profiles-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| id | string | yes | The collection that contains the profile |

### Gets the enrollment status of a profile: information on whether it is suitable for authentication.
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-profile-enrollment-status-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| profileId | string | yes | The profile that contains the faces |
| collectionId | string | yes | The collection that contains the profile |

### Gets all the faceHashes associated to a profile
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-faces-from-profile-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| profileId | string | yes | The profile that contains the faces |
| collectionId | string | yes | The collection that contains the profile |

### Adds (maps) a list of faces, identified by faceHashes, to a profile, identified by profileId
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/map-faces-to-profile-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| faceHashes | string | yes | Comma separated face hashes, that will be associated to a profile |
| profileId | string | yes | The profile that will store the face |
| collectionId | string | yes | The collection that contains the profile |

### Removes (unmaps) a list of faces, identified by faceHashes, from a profile, identified by profileId
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/remove-faces-from-profile-using-delete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| faceHashes | string | yes | Comma separated face hashes, that will be removed from a profile |
| profileId | string | yes | The profile that contains the face |
| collectionId | string | yes | The collection that contains the profile |

### Creates a new profile with no faces associated to it (empty profile)
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/add-profile-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| collectionId | string | yes | Uniquely identified collection that can store multiple profiles |
| externalId | string | no | External reference to additional information you don’t want to share with VisageCloud |
| screenName | string | no | Human-readable label for the profile |
| labels | array | no | Allows you to do finer filtering in face recognition |
| classificationAttributes | string | no | Comma separated key:value classification attributes |
| details | string | no | Comma separated key:value details of profile |

### Retrieves a profile
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-profile-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| collectionId | string | yes | Uniquely identified collection that can store multiple profiles |
| withFaces | string | no | Retrieves the profile with all its associated faces |
| id | string | yes | The profile id (provide this if you don't have the externalId |

### Update an existing profile with a given id
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/update-profile-using-patch`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| id | string | yes | The id of the profile that will be updated |
| collectionId | string | yes | Uniquely identified collection that can store multiple profiles |
| externalId | string | no | External reference to additional information you don’t want to share with VisageCloud |
| screenName | string | no | Human-readable label for the profile |
| labels | array | no | Allows you to do finer filtering in face recognition |
| classificationAttributes | string | no | Comma separated key:value classification attributes |
| details | string | no | Comma separated key:value details of profile |

### Deletes a profile and unmaps all its faces
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/delete-profile-using-delete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| collectionId | string | yes | Uniquely identified collection that can store multiple profiles |
| id | string | yes | The profile id (provide this if you don't have the externalId |

### Show status of all streams from account
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/streams-by-account-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |

### Get last N recognized individuals from stream
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-last-nattedance-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| streamIds | array | no | The id of the stream for which the frames will be retrieved |
| count | integer | no | How many frames to retrieve at a time |

### Cleanup frames older than specified timeframe
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/cleanup-stream-using-patch`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| streamId | string | yes | The id of the stream that will be stopped |
| interval | integer | yes | Frames older than interval (seconds) will be cleaned up |

### Get individual frame image
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-frame-image-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| streamId | string | yes | The id of the stream for which the frames will be retrieved |
| timestamp | integer | yes | Timestamp of frame to retrieve |

### Get last processed N frames from stream
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-last-nframes-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey or readOnlyKey provided by VisageCloud |
| streamId | string | yes | The id of the stream for which the frames will be retrieved |
| count | integer | no | How many frames to retrieve at a time |
| collectionId | string | no | The collection id you want to run recognition against |
| labels | array | no | Labels associated with the given picture or picture URL |
| attributeFilters | array | no | Filters that will be applied on the recognition operation |

### Start existing stream
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/start-stream-using-patch`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| streamId | string | yes | The id of the stream that will be started |

### Stop existing stream
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/stop-stream-using-patch`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| streamId | string | yes | The id of the stream that will be stopped |

### Create new stream with given name
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/add-stream-using-post`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| name | string | yes | The name of the stream that will be created |
| url | string | yes | The url of the stream |
| method | string | no | Streaming method |
| username | string | no | Username |
| password | string | no | Password |
| skipFramesWithNoFaces | boolean | no | Boolean value indicating whether you want the original picture to be stored for later retrieval |
| retentionTime | integer | no | Number of seconds for frames to be kept. Default is 605000s (7 days) |
| storeOriginalFrames | boolean | no | Boolean value indicating whether you want the original picture to be stored for later retrieval |
| storeAttendanceFaces | boolean | no | Boolean value indicating whether you want to store permanently store faces clippings of the recognized faces |
| storeAttendanceFrames | boolean | no | Boolean value indicating whether you want to store permanently store frames with a recognized face in them |
| isActive | boolean | no | Boolean value indicating whether the stream is currently active or not |
| associatedCollections | array | no | List of collection ids which will be used to measure attendance |
| attributes | string | no | Attributes of the stream |

### Delete existing stream
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/remove-stream-using-delete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| id | string | yes | The id of the stream that will be removed |

### Get an existing stream with a given ID
`GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-stream-using-get`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| streamId | string | yes | The id of the stream for which the data will be retrieved |

### Update an existing stream with a given ID
`POST https://zieapi.vercel.app/v1/search-tools:visagecloud/update-stream-using-patch`

| Parameter | Type | Required | Description |
|---|---|---|---|
| accessKey | string | yes | The accessKey provided by VisageCloud |
| secretKey | string | yes | The secretKey provided by VisageCloud |
| streamId | string | yes | The id of the stream that will be updated |
| name | string | no | The name of the stream that will be updated |
| url | string | no | The url of the stream |
| method | string | no | Streaming method |
| username | string | no | Username |
| password | string | no | Password |
| skipFramesWithNoFaces | boolean | no | Boolean value indicating whether you want the original picture to be stored for later retrieval |
| retentionTime | integer | no | Number of seconds for frames to be kept |
| storeOriginalFrames | boolean | no | Boolean value indicating whether you want the original picture to be stored for later retrieval |
| storeAttendanceFaces | boolean | no | Boolean value indicating whether you want to store permanently store faces clippings of the recognized faces |
| storeAttendanceFrames | boolean | no | Boolean value indicating whether you want to store permanently store frames with a recognized face in them |
| isActive | boolean | no | Boolean value indicating whether the stream is currently active or not |
| associatedCollections | array | no | List of collection ids which will be used to measure attendance |
| attributes | string | no | Attributes of the stream |

## Example
```
curl "https://zieapi.vercel.app/v1/search-tools:visagecloud/get-account-by-access-key-using-get" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the VisageCloud API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/search-tools:visagecloud/get-account-by-access-key-using-get with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the VisageCloud API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the VisageCloud API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key search-tools:visagecloud.

### What is the status of the VisageCloud API?
Live: works with just an Apizie key
