To get silver prices in Zapier, add a Schedule trigger and a Webhooks by Zapier Custom Request action. Send a GET request to https://api.goldprice.dev/v1/spot/XAG-USD-SPOT with your goldprice.dev key in the X-API-Key header. Map price into your next action. Silver is quoted in USD per troy ounce. Free includes 5,000 calls a month, with prices 15 minutes late. Paid plans provide live prices.
Get your goldprice.dev API key
Create a free account at goldprice.dev/onboarding and copy your API key. You will paste it into the Webhooks action's X-API-Key header.
Free includes silver spot in USD, 5,000 calls a month and 10 requests a minute. Prices are 15 minutes late. No credit card is required.
Create a Zap with a Schedule trigger
Create a Zap and choose Schedule by Zapier as the trigger. Select Every Hour and choose when it should run. Test the trigger, then continue.
Each request uses your goldprice.dev quota. Allow for other Zaps, test requests and retries when choosing a schedule.
Add a Webhooks Custom Request action
Add Webhooks by Zapier and choose Custom Request. Enter the fields below. Replace the sample key with your goldprice.dev API key, keep the method as GET and leave the request body empty.
The Headers field takes key and value rows, one row per header. Enter X-API-Key as a key with your API key as its value, then add a second row with Accept as the key and application/json as the value. It is not YAML, so do not type indentation or colons into it.
# zapier: Webhooks by Zapier: Custom Request GET# curl-equivalent: https://api.goldprice.dev/v1/spot/XAG-USD-SPOTMethod: GETURL: https://api.goldprice.dev/v1/spot/XAG-USD-SPOTData Pass-Through?: falseData: (leave empty)Unflatten: yesBasic Auth: (leave empty)Headers (one key and value row each): key: X-API-Key value: ga_live_replace_with_your_key_here key: Accept value: application/jsonTest the action and map the price
Click Test action and inspect the response. Map price into a Slack message, Google Sheets row or Airtable record. Include computed_at to show when the price was calculated, and check is_stale before using it.
Prices arrive as strings and can contain decimal places. Use a decimal type if you calculate with them in code. Bid and ask appear only on plans that include them.
Switch metal or convert silver to another currency
Silver spot uses XAG-USD-SPOT and is available only in USD. For another currency, use /v1/convert?from=XAG&to=EUR&amount=1&unit=gram. Conversion supports oz, gram and kg. Without a key, prices are 15 minutes late and requests are limited to 100 an hour per IP.
To track another metal, duplicate the Zap and change its URL using the examples below. Silver and gold use USD per troy ounce; copper uses USD per pound.
# Silver in USD per troy ounceURL: https://api.goldprice.dev/v1/spot/XAG-USD-SPOT# Gold in USD per troy ounceURL: https://api.goldprice.dev/v1/spot/XAU-USD-SPOT# Copper in USD per poundURL: https://api.goldprice.dev/v1/spot/HG-USD-SPOTExpected output
{ "symbol": "XAG", "quote_currency": "USD", "unit": "troy_ounce", "contract_type": "spot", "price": "53.89", "is_stale": false, "computed_at": "2026-10-23T07:00:18.221118+00:00"}Inspect the response in Zapier's test panel. Map price into the destination field and label it USD per troy ounce. Include computed_at and is_stale where you need to track freshness.
Common errors
| Code | What you see | Fix |
|---|---|---|
| 401 | The test returns 401 Unauthorized | Check that Headers contains X-API-Key with your actual API key, without extra spaces. Replace the sample value with the key from your dashboard. Test the action again. |
| 429 | The Zap run returns 429 Too Many Requests | Check your request rate and monthly usage. Free allows 10 requests a minute and 5,000 calls a month. Count requests from other Zaps, tests and retries. Reduce requests if you hit the rate limit, and check plan limits if you exhaust your monthly quota. |
| N/A | The response appears as text instead of fields you can map | Inspect the test response and confirm it contains JSON rather than an error message. Keep Accept: application/json in the request headers. Test again, then select fields from that action's response. Check the response shape in the API reference. |
Going further
- Add a Filter step after the Webhook to continue only when the silver price meets your alert condition
- Append the price, unit and calculation timestamp to Google Sheets to keep a history of fetched values
- Format
computed_atfor Slack messages while keeping the original timestamp in your records - Duplicate the Zap for gold or copper and label each metal's price with the correct unit
- Check
is_stalebefore sending a price alert