Get anomaly detection job statistics APIedit

Retrieves usage information for anomaly detection jobs.


GET _ml/anomaly_detectors/<job_id>/_stats

GET _ml/anomaly_detectors/<job_id>,<job_id>/_stats

GET _ml/anomaly_detectors/_stats

GET _ml/anomaly_detectors/_all/_stats


  • If the Elasticsearch security features are enabled, you must have monitor_ml, monitor, manage_ml, or manage cluster privileges to use this API. See Security privileges.


You can get statistics for multiple anomaly detection jobs in a single API request by using a group name, a comma-separated list of jobs, or a wildcard expression. You can get statistics for all anomaly detection jobs by using _all, by specifying * as the <job_id>, or by omitting the <job_id>.

This API returns a maximum of 10,000 jobs.

Path parametersedit

(Optional, string) An identifier for the anomaly detection job. It can be a job identifier, a group name, or a wildcard expression. If you do not specify one of these options, the API returns statistics for all anomaly detection jobs.

Query parametersedit


(Optional, boolean) Specifies what to do when the request:

  • Contains wildcard expressions and there are no jobs that match.
  • Contains the _all string or no identifiers and there are no matches.
  • Contains wildcard expressions and there are only partial matches.

The default value is true, which returns an empty jobs array when there are no matches and the subset of results when there are partial matches. If this parameter is false, the request returns a 404 status code when there are no matches or only partial matches.

Response bodyedit

The API returns the following information:

(array) An array of anomaly detection job statistics objects. For more information, see Job statistics.

Response codesedit

404 (Missing resources)
If allow_no_jobs is false, this code indicates that there are no resources that match the request or only partial matches for the request.


The following example gets usage information for the farequote job:

GET _ml/anomaly_detectors/farequote/_stats

The API returns the following results:

  "count": 1,
  "jobs": [
      "job_id": "farequote",
      "data_counts": {
        "job_id": "farequote",
        "processed_record_count": 86275,
        "processed_field_count": 172550,
        "input_bytes": 6744714,
        "input_field_count": 172550,
        "invalid_date_count": 0,
        "missing_field_count": 0,
        "out_of_order_timestamp_count": 0,
        "empty_bucket_count": 0,
        "sparse_bucket_count": 15,
        "bucket_count": 1528,
        "earliest_record_timestamp": 1454803200000,
        "latest_record_timestamp": 1455235196000,
        "last_data_time": 1491948163685,
        "latest_sparse_bucket_timestamp": 1455174900000,
        "input_record_count": 86275
      "model_size_stats": {
        "job_id": "farequote",
        "result_type": "model_size_stats",
        "model_bytes": 387594,
        "total_by_field_count": 21,
        "total_over_field_count": 0,
        "total_partition_field_count": 20,
        "bucket_allocation_failures_count": 0,
        "memory_status": "ok",
        "log_time": 1491948163000,
        "timestamp": 1455234600000
      "state": "closed",
      "timing_stats": {
        "job_id": "farequote",
        "minimum_bucket_processing_time_ms": 0.0,
        "maximum_bucket_processing_time_ms": 15.0,
        "average_bucket_processing_time_ms": 8.75,
        "exponential_average_bucket_processing_time_ms": 6.1435899