:doc:`ForecastQueryService <../../forecastquery>` / Client / query_forecast

**************
query_forecast
**************



.. py:method:: ForecastQueryService.Client.query_forecast(**kwargs)

  

  Retrieves a forecast for a single item, filtered by the supplied criteria.

   

  The criteria is a key-value pair. The key is either ``item_id`` (or the equivalent non-timestamp, non-target field) from the ``TARGET_TIME_SERIES`` dataset, or one of the forecast dimensions specified as part of the ``FeaturizationConfig`` object.

   

  By default, ``QueryForecast`` returns the complete date range for the filtered forecast. You can request a specific date range.

   

  To get the full forecast, use the `CreateForecastExportJob <https://docs.aws.amazon.com/en_us/forecast/latest/dg/API_CreateForecastExportJob.html>`__ operation.

   

  .. note::

    

    The forecasts generated by Amazon Forecast are in the same timezone as the dataset that was used to create the predictor.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/forecastquery-2018-06-26/QueryForecast>`_  


  **Request Syntax**
  ::

    response = client.query_forecast(
        ForecastArn='string',
        StartDate='string',
        EndDate='string',
        Filters={
            'string': 'string'
        },
        NextToken='string'
    )
    
  :type ForecastArn: string
  :param ForecastArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the forecast to query.

    

  
  :type StartDate: string
  :param StartDate: 

    The start date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss (ISO 8601 format). For example, 2015-01-01T08:00:00.

    

  
  :type EndDate: string
  :param EndDate: 

    The end date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss (ISO 8601 format). For example, 2015-01-01T20:00:00.

    

  
  :type Filters: dict
  :param Filters: **[REQUIRED]** 

    The filtering criteria to apply when retrieving the forecast. For example, to get the forecast for ``client_21`` in the electricity usage dataset, specify the following:

     

    ``{"item_id" : "client_21"}``

     

    To get the full forecast, use the `CreateForecastExportJob <https://docs.aws.amazon.com/en_us/forecast/latest/dg/API_CreateForecastExportJob.html>`__ operation.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type NextToken: string
  :param NextToken: 

    If the result of the previous request was truncated, the response includes a ``NextToken``. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Forecast': {
              'Predictions': {
                  'string': [
                      {
                          'Timestamp': 'string',
                          'Value': 123.0
                      },
                  ]
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Forecast** *(dict) --* 

        The forecast.

        
        

        - **Predictions** *(dict) --* 

          The forecast.

           

          The *string* of the string-to-array map is one of the following values:

           

          
          * p10
           
          * p50
           
          * p90
          

           

          The default setting is ``["0.1", "0.5", "0.9"]``. Use the optional ``ForecastTypes`` parameter of the `CreateForecast <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateForecast.html>`__ operation to change the values. The values will vary depending on how this is set, with a minimum of ``1`` and a maximum of ``5.``

          
          

          - *(string) --* 
            

            - *(list) --* 
              

              - *(dict) --* 

                The forecast value for a specific date. Part of the  Forecast object.

                
                

                - **Timestamp** *(string) --* 

                  The timestamp of the specific forecast.

                  
                

                - **Value** *(float) --* 

                  The forecast value.

                  
            
          
      
    
    
  
  **Exceptions**
  
  *   :py:class:`ForecastQueryService.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`ForecastQueryService.Client.exceptions.ResourceInUseException`

  
  *   :py:class:`ForecastQueryService.Client.exceptions.InvalidInputException`

  
  *   :py:class:`ForecastQueryService.Client.exceptions.LimitExceededException`

  
  *   :py:class:`ForecastQueryService.Client.exceptions.InvalidNextTokenException`

  