boto3 icon indicating copy to clipboard operation
boto3 copied to clipboard

Unable to get all the Anthropic Model Pricing information from boto3.client('pricing').get_products Module

Open claumazz opened this issue 4 months ago • 3 comments

Describe the bug

Only Calude 2.0 and 3.0 models available within the get_products

Regression Issue

  • [ ] Select this option if this issue appears to be a regression.

Expected Behavior

return the entire model list with pricing.

Current Behavior

Missing Anthropic models

Reproduction Steps

response = pricing_client.get_products( ServiceCode='AmazonBedrock', MaxResults=100, Filters=[ {'Type': 'TERM_MATCH', 'Field': 'regionCode', 'Value': region}, {'Type': 'TERM_MATCH', 'Field': 'feature', 'Value': 'On-demand Inference'}, {'Type': 'TERM_MATCH', 'Field': 'serviceCode', 'Value': 'AmazonBedrock'}, ] )

#Anthropic models missing in response

Possible Solution

No response

Additional Information/Context

No response

SDK version used

boto3

Environment details (OS name and version, etc.)

mac

claumazz avatar Aug 19 '25 16:08 claumazz

Hi @claumazz, thanks for reaching out. I tried to repro with the code:

import boto3
import json

boto3.set_stream_logger('')

pricing_client = boto3.client('pricing', region_name='us-east-1')
region = 'us-east-1'

response = pricing_client.get_products(
    ServiceCode='AmazonBedrock',
    MaxResults=100,
    Filters=[
        {'Type': 'TERM_MATCH', 'Field': 'regionCode', 'Value': region},
        {'Type': 'TERM_MATCH', 'Field': 'feature', 'Value': 'On-demand Inference'}
    ]
)

models = set()
for item in response['PriceList']:
    product = json.loads(item)
    attributes = product['product']['attributes']

    # Check different model field names
    if 'model' in attributes:
        models.add(attributes['model'])
    elif 'titanModel' in attributes:
        models.add(attributes['titanModel'])

print(f"Found {len(models)} unique models:")
for model in sorted(models):
    print(f"  - {model}")

And I got:

Found 38 unique models:
  - Claude 2.0
  - Claude 2.1
  - Claude 3 Haiku
  - Claude Instant
  - Llama 3 70B
  - Llama 3 8B
  - Llama 3.1 70B
  - Llama 3.1 70B Latency Optimized
  - Llama 3.1 8B
  - Llama 3.2 11B
  - Llama 3.2 1B
  - Llama 3.2 3B
  - Llama 3.2 90B
  - Llama 3.3 70B
  - Llama 4 Maverick 17B
  - Llama 4 Scout 17B
  - Mistral 7B
  - Mistral Large
  - Mistral Small
  - Mixtral 8x7B
  - Nova Canvas
  - Nova Lite
  - Nova Micro
  - Nova Premier
  - Nova Pro
  - Nova Pro Latency Optimized
  - Nova Reel
  - Nova Sonic
  - Pixtral Large 25.02
  - R1
  - Titan Embeddings G1 Image
  - Titan Embeddings G1 Text
  - Titan Image Generator G1
  - Titan Image Generator V2
  - Titan Text G1 Express
  - Titan Text G1 Lite
  - Titan Text G1 Premier
  - TitanEmbeddingsV2-Text-input

I got:

  - Claude 2.0 (from "model":"Claude 2.0")
  - Claude 2.1 (from "model":"Claude 2.1") 
  - Claude 3 Haiku (from "model":"Claude 3 Haiku")
  - Claude Instant (from "model":"Claude Instant")

Could you try with the above code?

adev-code avatar Aug 21 '25 18:08 adev-code

Hi @adev-code , thank you for your quick response.. As you can see, Calude 3.5, 3.7 and 4 are missing

claumazz avatar Aug 21 '25 19:08 claumazz

Thank you for the reply. I have reached out to the Pricing Service Team in regards. An update will be given as soon as the team has given any updates.

Internal Ref: P307509257

adev-code avatar Sep 26 '25 18:09 adev-code