{"api":"Weather forecast","apiRows":{"Employee profile":4352,"Employee email":3885,"Email validation":5054,"Employee phone":1429,"Company profile":1521,"Company headcount":487,"Phone validation":1447,"Post comments":497,"Post reactions":410,"Employee lookalikes":236,"Company lookalikes":767,"Company technologies":510,"Company job count":67,"Employee posts":523,"Company posts":518,"Company funding":313,"Company jobs":409,"Employee search":1565,"Company search":741,"Job search":565,"Reverse email lookup":923,"Post search":423,"Post details":579,"Job details":488,"Employee comments":257,"Employee reactions":210,"Post reposts":120,"Employee recommendations":96,"Job lookalikes":55,"Employee articles":47,"Company enrichment":2481,"People search":1982,"Company discovery":2032,"Job postings":578,"Job posting details":340,"Person enrichment":327,"Leadership changes":149,"Company hierarchy":172,"Web search":927,"SERP":4524,"Search autocomplete":81,"News search":1111,"Image search":634,"Video search":647,"Web scraping":2565,"Keyword research":118,"Ranked keywords":83,"Related keywords":174,"Backlinks":121,"Domain authority":110,"X profile":573,"X posts":401,"Instagram profile":551,"Instagram posts":352,"TikTok profile":368,"TikTok videos":341,"YouTube channel":370,"YouTube channel videos":231,"Reddit profile":143,"Reddit posts":120,"Facebook page":208,"Facebook posts":183,"Threads profile":127,"Threads posts":129,"Bluesky profile":14,"Bluesky posts":14,"Telegram channel":33,"Telegram channel posts":33,"Pinterest search":53,"Pinterest pin":49,"Pinterest board pins":49,"Pinterest user boards":24,"Hacker News search":4,"Hacker News story comments":4,"Twitch profile":82,"Twitch videos":64,"Twitch clip":53,"Kick clip":25,"Snapchat profile":103,"Truth Social profile":51,"Truth Social posts":57,"GitHub profile":19,"GitHub repository":19,"GitHub user repositories":19,"Douyin profile":36,"Douyin user videos":41,"Douyin video":39,"Weibo profile":36,"Weibo user posts":28,"Weibo post":33,"Xiaohongshu profile":26,"Xiaohongshu user notes":26,"Xiaohongshu note":23,"Zhihu profile":16,"Zhihu question answers":6,"Kuaishou profile":13,"Kuaishou user videos":23,"Kuaishou video":13,"Bilibili user videos":16,"Bilibili video":16,"Facebook ads":73,"Google ads":94,"LinkedIn ads":31,"TikTok ads":22,"G2 reviews":69,"Capterra reviews":65,"Trustpilot reviews":116,"Glassdoor reviews":66,"App Store app":171,"App Store reviews":155,"Google Play app":170,"Google Play reviews":152,"Amazon product":276,"Amazon search":265,"Google Shopping product":132,"Walmart product":171,"Walmart search":161,"eBay product":142,"eBay search":157,"TikTok Shop product":25,"TikTok Shop search":23,"Facebook Marketplace listing":35,"Facebook Marketplace search":51,"Zillow search":80,"Zillow property":85,"Redfin search":30,"Redfin property":35,"Realtor.com search":50,"Realtor.com property":42,"Google Hotels search":40,"Google Hotels property":29,"Booking.com search":27,"Booking.com property":25,"Airbnb search":31,"Airbnb listing":29,"Tripadvisor search":49,"Tripadvisor reviews":39,"CarGurus search":11,"CarGurus listing":11,"AutoScout24 search":16,"mobile.de search":27,"mobile.de listing":22,"Copart lot":20,"IAAI lot":20,"AutoScout24 listing":11,"Auto Trader UK search":11,"Auto Trader UK listing":11,"Bring a Trailer search":11,"Bring a Trailer lot":11,"VIN decoder":173,"Current weather":266,"Weather forecast":421,"Air quality":254,"App Store search":146,"Google Play search":143,"ChatGPT answer":112,"Perplexity answer":47,"Gemini answer":114,"Bing Copilot answer":92,"Business verification":88},"treeCounts":{"Employee profile":{"best":157,"top":3},"Employee email":{"best":161,"top":3},"Email validation":{"best":202,"top":3},"Employee phone":{"best":93,"top":3},"Company profile":{"best":91,"top":3},"Company headcount":{"best":28,"top":3},"Phone validation":{"best":66,"top":3},"Post comments":{"best":36,"top":3},"Post reactions":{"best":27,"top":3},"Employee lookalikes":{"best":16,"top":3},"Company lookalikes":{"best":39,"top":3},"Company technologies":{"best":46,"top":3},"Company job count":{"best":7,"top":3},"Employee posts":{"best":45,"top":3},"Company posts":{"best":46,"top":3},"Company funding":{"best":32,"top":3},"Company jobs":{"best":44,"top":3},"Employee search":{"best":53,"top":3},"Company search":{"best":33,"top":3},"Job search":{"best":44,"top":3},"Reverse email lookup":{"best":56,"top":3},"Post search":{"best":37,"top":3},"Post details":{"best":49,"top":3},"Job details":{"best":42,"top":3},"Employee comments":{"best":22,"top":3},"Employee reactions":{"best":16,"top":3},"Post reposts":{"best":9,"top":3},"Employee recommendations":{"best":8,"top":3},"Job lookalikes":{"best":6,"top":3},"Employee articles":{"best":5,"top":3},"Company enrichment":{"best":145,"top":3},"People search":{"best":112,"top":3},"Company discovery":{"best":131,"top":3},"Job postings":{"best":43,"top":3},"Job posting details":{"best":34,"top":3},"Person enrichment":{"best":34,"top":3},"Leadership changes":{"best":12,"top":3},"Company hierarchy":{"best":18,"top":3},"Web search":{"best":67,"top":3},"SERP":{"best":92,"top":3},"Search autocomplete":{"best":8,"top":3},"News search":{"best":58,"top":3},"Image search":{"best":33,"top":3},"Video search":{"best":25,"top":3},"Web scraping":{"best":64,"top":3},"Keyword research":{"best":13,"top":3},"Ranked keywords":{"best":10,"top":3},"Related keywords":{"best":13,"top":3},"Backlinks":{"best":9,"top":3},"Domain authority":{"best":9,"top":3},"X profile":{"best":37,"top":3},"X posts":{"best":35,"top":3},"Instagram profile":{"best":36,"top":3},"Instagram posts":{"best":33,"top":3},"TikTok profile":{"best":35,"top":3},"TikTok videos":{"best":33,"top":3},"YouTube channel":{"best":31,"top":3},"YouTube channel videos":{"best":28,"top":3},"Reddit profile":{"best":14,"top":3},"Reddit posts":{"best":15,"top":3},"Facebook page":{"best":18,"top":3},"Facebook posts":{"best":16,"top":3},"Threads profile":{"best":15,"top":3},"Threads posts":{"best":15,"top":3},"Bluesky profile":{"best":2,"top":2},"Bluesky posts":{"best":2,"top":2},"Telegram channel":{"best":3,"top":3},"Telegram channel posts":{"best":3,"top":3},"Pinterest search":{"best":5,"top":3},"Pinterest pin":{"best":4,"top":3},"Pinterest board pins":{"best":4,"top":3},"Pinterest user boards":{"best":4,"top":3},"Hacker News search":{"best":1,"top":1},"Hacker News story comments":{"best":1,"top":1},"Twitch profile":{"best":9,"top":3},"Twitch videos":{"best":7,"top":3},"Twitch clip":{"best":6,"top":3},"Kick clip":{"best":3,"top":3},"Snapchat profile":{"best":10,"top":3},"Truth Social profile":{"best":6,"top":3},"Truth Social posts":{"best":7,"top":3},"GitHub profile":{"best":3,"top":3},"GitHub repository":{"best":3,"top":3},"GitHub user repositories":{"best":3,"top":3},"Douyin profile":{"best":6,"top":3},"Douyin user videos":{"best":7,"top":3},"Douyin video":{"best":6,"top":3},"Weibo profile":{"best":4,"top":3},"Weibo user posts":{"best":4,"top":3},"Weibo post":{"best":5,"top":3},"Xiaohongshu profile":{"best":5,"top":3},"Xiaohongshu user notes":{"best":5,"top":3},"Xiaohongshu note":{"best":4,"top":3},"Zhihu profile":{"best":3,"top":3},"Zhihu question answers":{"best":2,"top":2},"Kuaishou profile":{"best":2,"top":2},"Kuaishou user videos":{"best":3,"top":3},"Kuaishou video":{"best":2,"top":2},"Bilibili user videos":{"best":3,"top":3},"Bilibili video":{"best":3,"top":3},"Facebook ads":{"best":10,"top":3},"Google ads":{"best":5,"top":3},"LinkedIn ads":{"best":4,"top":3},"TikTok ads":{"best":2,"top":2},"G2 reviews":{"best":9,"top":3},"Capterra reviews":{"best":8,"top":3},"Trustpilot reviews":{"best":16,"top":3},"Glassdoor reviews":{"best":8,"top":3},"App Store app":{"best":12,"top":3},"App Store reviews":{"best":13,"top":3},"Google Play app":{"best":12,"top":3},"Google Play reviews":{"best":12,"top":3},"Amazon product":{"best":19,"top":3},"Amazon search":{"best":20,"top":3},"Google Shopping product":{"best":7,"top":3},"Walmart product":{"best":7,"top":3},"Walmart search":{"best":7,"top":3},"eBay product":{"best":4,"top":3},"eBay search":{"best":6,"top":3},"TikTok Shop product":{"best":6,"top":3},"TikTok Shop search":{"best":5,"top":3},"Facebook Marketplace listing":{"best":4,"top":3},"Facebook Marketplace search":{"best":6,"top":3},"Zillow search":{"best":7,"top":3},"Zillow property":{"best":7,"top":3},"Redfin search":{"best":3,"top":3},"Redfin property":{"best":4,"top":3},"Realtor.com search":{"best":5,"top":3},"Realtor.com property":{"best":4,"top":3},"Google Hotels search":{"best":4,"top":3},"Google Hotels property":{"best":3,"top":3},"Booking.com search":{"best":3,"top":3},"Booking.com property":{"best":2,"top":2},"Airbnb search":{"best":4,"top":3},"Airbnb listing":{"best":4,"top":3},"Tripadvisor search":{"best":4,"top":3},"Tripadvisor reviews":{"best":4,"top":3},"CarGurus search":{"best":1,"top":1},"CarGurus listing":{"best":1,"top":1},"AutoScout24 search":{"best":2,"top":2},"mobile.de search":{"best":3,"top":3},"mobile.de listing":{"best":2,"top":2},"Copart lot":{"best":2,"top":2},"IAAI lot":{"best":2,"top":2},"AutoScout24 listing":{"best":1,"top":1},"Auto Trader UK search":{"best":1,"top":1},"Auto Trader UK listing":{"best":1,"top":1},"Bring a Trailer search":{"best":1,"top":1},"Bring a Trailer lot":{"best":1,"top":1},"VIN decoder":{"best":11,"top":3},"Current weather":{"best":35,"top":3},"Weather forecast":{"best":37,"top":3},"Air quality":{"best":27,"top":3},"App Store search":{"best":10,"top":3},"Google Play search":{"best":9,"top":3},"ChatGPT answer":{"best":8,"top":3},"Perplexity answer":{"best":6,"top":3},"Gemini answer":{"best":7,"top":3},"Bing Copilot answer":{"best":4,"top":3},"Business verification":{"best":10,"top":3}},"bestPages":{"Employee profile":["/best-linkedin-profile-api","Best LinkedIn profile API in 2026"],"Employee email":["/best-email-finder-api","Best email finder API in 2026"],"Email validation":["/best-email-verification-api","Best email verification API in 2026"],"Employee phone":["/best-phone-finder-api","Best phone finder API in 2026"],"Company profile":["/best-linkedin-company-data-api","Best LinkedIn company data API in 2026"],"Company headcount":["/best-company-headcount-api","Best company headcount API in 2026"],"Phone validation":["/best-phone-validation-api","Best phone validation API in 2026"],"Post comments":["/best-linkedin-post-comment-api","Best LinkedIn post comment API in 2026"],"Post reactions":["/best-linkedin-post-reaction-api","Best LinkedIn post reaction API in 2026"],"Employee lookalikes":["/best-similar-people-api","Best similar people API in 2026"],"Company lookalikes":["/best-similar-companies-api","Best similar companies API in 2026"],"Company technologies":["/best-tech-stack-api","Best tech stack API in 2026"],"Employee posts":["/best-linkedin-profile-post-api","Best LinkedIn profile post API in 2026"],"Company posts":["/best-linkedin-company-post-api","Best LinkedIn company post API in 2026"],"Company funding":["/best-company-funding-api","Best company funding API in 2026"],"Company jobs":["/best-company-open-jobs-api","Best company open jobs API in 2026"],"Employee search":["/best-linkedin-people-search-api","Best LinkedIn people search API in 2026"],"Company search":["/best-linkedin-company-search-api","Best LinkedIn company search API in 2026"],"Job search":["/best-linkedin-job-search-api","Best LinkedIn job search API in 2026"],"Reverse email lookup":["/best-reverse-email-lookup-api","Best reverse email lookup API in 2026"],"Post search":["/best-linkedin-post-search-api","Best LinkedIn post search API in 2026"],"Post details":["/best-linkedin-post-details-api","Best LinkedIn post details API in 2026"],"Job details":["/best-linkedin-job-details-api","Best LinkedIn job details API in 2026"],"Employee comments":["/best-linkedin-profile-comment-api","Best LinkedIn profile comment API in 2026"],"Employee reactions":["/best-linkedin-profile-reaction-api","Best LinkedIn profile reaction API in 2026"],"Post reposts":["/best-linkedin-post-repost-api","Best LinkedIn post repost API in 2026"],"Company enrichment":["/best-company-enrichment-api","Best company enrichment API in 2026"],"People search":["/best-people-search-api","Best people search API in 2026"],"Company discovery":["/best-company-discovery-api","Best company discovery API in 2026"],"Job postings":["/best-job-postings-api","Best job postings API in 2026"],"Job posting details":["/best-job-posting-details-api","Best job posting details API in 2026"],"Person enrichment":["/best-people-enrichment-api","Best people enrichment API in 2026"],"Leadership changes":["/best-leadership-change-api","Best leadership change API in 2026"],"Company hierarchy":["/best-company-hierarchy-api","Best company hierarchy API in 2026"],"Web search":["/best-web-search-api","Best web search API in 2026"],"SERP":["/best-serp-api","Best SERP API in 2026"],"Search autocomplete":["/best-search-autocomplete-api","Best search autocomplete API in 2026"],"News search":["/best-news-api","Best news API in 2026"],"Image search":["/best-image-search-api","Best image search API in 2026"],"Video search":["/best-video-search-api","Best video search API in 2026"],"Web scraping":["/best-web-scraping-api","Best web scraping API in 2026"],"Keyword research":["/best-keyword-research-api","Best keyword research API in 2026"],"Ranked keywords":["/best-ranked-keywords-api","Best ranked keywords API in 2026"],"Related keywords":["/best-related-keywords-api","Best related keywords API in 2026"],"Backlinks":["/best-backlink-api","Best backlink API in 2026"],"Domain authority":["/best-domain-authority-api","Best domain authority API in 2026"],"X profile":["/best-x-twitter-profile-api","Best X (Twitter) profile API in 2026"],"X posts":["/best-x-twitter-post-api","Best X (Twitter) post API in 2026"],"Instagram profile":["/best-instagram-profile-api","Best Instagram profile API in 2026"],"Instagram posts":["/best-instagram-post-api","Best Instagram post API in 2026"],"TikTok profile":["/best-tiktok-profile-api","Best TikTok profile API in 2026"],"TikTok videos":["/best-tiktok-video-api","Best TikTok video API in 2026"],"YouTube channel":["/best-youtube-channel-api","Best YouTube channel API in 2026"],"YouTube channel videos":["/best-youtube-channel-video-api","Best YouTube channel video API in 2026"],"Reddit profile":["/best-reddit-profile-api","Best Reddit profile API in 2026"],"Reddit posts":["/best-reddit-post-api","Best Reddit post API in 2026"],"Facebook page":["/best-facebook-page-api","Best Facebook page API in 2026"],"Facebook posts":["/best-facebook-post-api","Best Facebook post API in 2026"],"Threads profile":["/best-threads-profile-api","Best Threads profile API in 2026"],"Threads posts":["/best-threads-post-api","Best Threads post API in 2026"],"Twitch profile":["/best-twitch-profile-api","Best Twitch profile API in 2026"],"Twitch videos":["/best-twitch-video-api","Best Twitch video API in 2026"],"Twitch clip":["/best-twitch-clip-api","Best Twitch clip API in 2026"],"Snapchat profile":["/best-snapchat-profile-api","Best Snapchat profile API in 2026"],"Truth Social posts":["/best-truth-social-post-api","Best Truth Social post API in 2026"],"Facebook ads":["/best-facebook-ad-library-api","Best Facebook Ad Library API in 2026"],"G2 reviews":["/best-g2-review-api","Best G2 review API in 2026"],"Capterra reviews":["/best-capterra-review-api","Best Capterra review API in 2026"],"Trustpilot reviews":["/best-trustpilot-review-api","Best Trustpilot review API in 2026"],"Glassdoor reviews":["/best-glassdoor-review-api","Best Glassdoor review API in 2026"],"App Store reviews":["/best-app-store-review-api","Best App Store review API in 2026"],"Google Play app":["/best-google-play-api","Best Google Play API in 2026"],"Amazon product":["/best-amazon-product-api","Best Amazon product API in 2026"],"Amazon search":["/best-amazon-search-api","Best Amazon search API in 2026"],"TikTok Shop product":["/best-tiktok-shop-product-api","Best TikTok Shop product API in 2026"],"Facebook Marketplace search":["/best-facebook-marketplace-search-api","Best Facebook Marketplace search API in 2026"],"Zillow search":["/best-zillow-search-api","Best Zillow search API in 2026"],"Realtor.com search":["/best-realtor-com-search-api","Best Realtor.com search API in 2026"],"Google Hotels search":["/best-google-hotels-search-api","Best Google Hotels search API in 2026"],"Current weather":["/best-current-weather-api","Best current weather API in 2026"],"Weather forecast":["/best-weather-forecast-api","Best weather forecast API in 2026"],"Air quality":["/best-air-quality-api","Best air quality API in 2026"],"ChatGPT answer":["/best-chatgpt-scraper-api","Best ChatGPT scraper API in 2026"]},"accuratePages":{"Employee email":["/most-accurate-email-finder-api","Most accurate email finder API in 2026"],"Email validation":["/most-accurate-email-verification-api","Most accurate email verification API in 2026"],"Employee phone":["/most-accurate-phone-finder-api","Most accurate phone finder API in 2026"],"Company headcount":["/most-accurate-company-headcount-api","Most accurate company headcount API in 2026"],"Phone validation":["/most-accurate-phone-validation-api","Most accurate phone validation API in 2026"],"Reverse email lookup":["/most-accurate-reverse-email-lookup-api","Most accurate reverse email lookup API in 2026"]},"familyPages":[["/best-linkedin-api","Best LinkedIn API in 2026"],["/best-phone-api","Best phone API in 2026"],["/best-email-api","Best email API in 2026"],["/best-x-api","Best X (Twitter) API in 2026"]],"three":{"words":"weather forecast","plans":[["Weatherbit","/weather-forecast-apis/weatherbit/free-get-v2-0-forecast-daily#495-monthly-business-get-v2-0-forecast-daily"],["WeatherAPI.com","/weather-forecast-apis/weatherapi-com/free#7-monthly"],["MET Norway","/weather-forecast-apis/met-norway/free-get-weatherapi-locationforecast-2-0-complete"]]},"first":[{"provider":"7Timer!","api":"Weather forecast","website":"https://www.7timer.info","pricingPage":"https://www.7timer.info/doc.php?lang=en#acknowledgement_and_disclaimer","pitch":"As the oldest product that 7Timer! has ever provided, ASTRO product is mainly intended for astronomical purpose. The forecast range is 3-day and has included several elements that concerns astronomers most – such as cloud cover, astronomical seeing and atmospheric transparency.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"The weather data distributed in this site are entirely free – you can use or redistribute them as long as you are not using them for commercial purpose. Program developers are asked to notify me when using the data so I can track the server workload. [...] using these data is at your own risk.","plan":"Free","who":"anyone not using the data for a commercial purpose","auth":"none","billing":"free","charged":null,"topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":null,"perThousand":0,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"ASTRO","method":"GET","path":"/bin/api.pl","send":"lon, lat, product \"astro\", output one of \"xml\" or \"json\"; ac, lang, unit, tzshift","fields":["cloud cover","lifted index","2 m temperature","2 m relative humidity","10 m wind","precipitation type","astronomical seeing","atmospheric transparency"]},{"provider":"Ambee","api":"Weather forecast","website":"https://www.getambee.com","pricingPage":"https://www.getambee.com/pricing","pitch":"Retrieve forecast weather data using geographic coordinates (latitude/longitude).","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Until the terms end: \"Upon termination of these Terms, you shall destroy and remove from all websites, applications, computers, hard drives, networks, and other storage media all copies of the Service and/or APIs\".","use":"A \"non-commercial\" license \"solely for your personal or internal business purpose\": \"we grant you a non-assignable, non-exclusive, non-commercial, revocable, non-transferable, limited license to freely access and use the Platform and Services solely for your personal or internal business purpose (as the case may be) as authorized under and in accordance with these Terms. You do not have any permission to download, copy, install, or use the Service for any other purpose without our prior written consent.\" \"You do not have the right to duplicate, distribute, creative derivative works of display, or commercially exploit our Intellectual Property, directly or indirectly, without our prior written permission.\" \"The use of our APIs to you and any of the Services may be subject to further terms and conditions, as may be released by us from time to time\".","plan":"Talk to us","who":"anyone competent to enter into a contract under applicable laws, or with the authority to bind the entity it acts for","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":null,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":null,"sharesBudgetWith":null,"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":null,"resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Weather forecast, 48 hours","method":"GET","path":"/v3/weather/forecast/48hrs","send":"lat, lng; units, locale, Accept-Language header","fields":["latitude","longitude","time zone","temperature","feels-like temperature","humidity","dew point","pressure","surface pressure","cloud cover","visibility","wind speed","wind gusts","wind direction","precipitation intensity","precipitation chance","UV index","ozone","precipitation type","conditions","conditions icon","time read","unix timestamp","local time"]},{"provider":"API Ninjas","api":"Weather forecast","website":"https://api-ninjas.com","pricingPage":"https://api-ninjas.com/pricing","pitch":"Returns a 5-day weather forecast in 3-hour intervals for a given city.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"for as long as your paid Subscription Plan remains active: once it ends or is canceled, you must immediately cease all commercial use of the Services and Output, and you may not continue to display, use, or provide Output in your commercial applications, products, or to your clients. Data caching/storing allowed: Yes on Business, Professional and Enterprise; No on Developer and Free","use":"If you are using the Free Subscription Plan, you may use the Services and Output solely for personal, non-commercial purposes and for development, testing, or evaluation of your Customer Applications. You may NOT: Use the Services or Output in any commercial environment. Use the Services or Output in any commercial product, service, or application, whether internal or external Share, distribute, or make available any Output or content from the Services to any third party in any form [...] Commercial use of the Services or Output is permitted while your paid Subscription Plan remains active. [...] You are strictly prohibited from using any information or Output from the Services to develop, train, maintain, or operate any API, software, database, or service that competes with API Ninjas—regardless of whether it is available on our platform or elsewhere. This prohibition extends to repackaging, redistributing, or making the Output or data accessible in any way that would compete with or substitute for our Services. [...] You agree NOT to use the Services for any purpose that: [...] Resells, redistributes, or sublicenses API access without authorization Creates competing products or services using our APIs White-labels or rebrands Output as your own data source Uses the Free plan for commercial purposes Shares or transfers API Keys to unauthorized parties [...] Attribution required: Yes (Free plan)","plan":"Professional","who":"anyone 18 or over","billing":"monthly","charged":null,"topUp":null,"pay":299,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":10000000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":10000000,"monthlyCap":null,"perThousand":0.0299,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"hard","addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["283 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":360,"call":null,"method":"GET","path":"/v1/weatherforecast","send":"lat, lon; zip, city, state, country","fields":["temperature","feels-like temperature","minimum temperature","maximum temperature","humidity","cloud cover","wind speed","wind direction","sunrise","sunset","conditions","conditions code","conditions description","day or night","conditions icon","conditions icon SVG URL","conditions icon dark SVG URL","conditions icon PNG URL","conditions icon dark PNG URL","simultaneous conditions","unix timestamp"]},{"provider":"Apple WeatherKit","api":"Weather forecast","website":"https://developer.apple.com/weatherkit/","pricingPage":"https://developer.apple.com/weatherkit/","pitch":"A collection of day forecasts for a specified range of days.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Unless otherwise expressly permitted in the Documentation, Apple Weather Data may not be cached, pre-fetched, or stored by You, Your Application, or Your Corresponding Product other than on a temporary and limited basis solely to improve the performance of the WeatherKit APIs with Your Application or Corresponding Product.","use":"You may not charge any fees to end users for access to or use of the Apple Weather Data presented in its original form through Your Application or Corresponding Product; provided, however, You may charge fees to end users for Value-Added Services or Products [...] You may not grant sublicensing rights to the WeatherKit APIs or Apple Weather Data in their original form. You may use Apple Weather Data for internal purposes or to create, make or display Value-Added Services or Products to Your end users. Your end user license terms must not permit end users or any other third parties to reverse engineer the WeatherKit APIs or Apple Weather Data for any purpose. [...] Applications or Corresponding Products that use the WeatherKit APIs may not be designed or marketed for emergency or life-saving purposes. [...] Your Application or Corresponding Product may access the Apple Weather Data only through the WeatherKit APIs. You agree that Your display of the Apple Weather Data must comply with all applicable attribution requirements and any other specifications provided in the Program Requirements. You may not modify, change, alter, or obscure Weather Alerts in any way. [...] You may not use the WeatherKit APIs in any manner that enables or permits bulk downloads or feeds of the Apple Weather Data, or any portion thereof, or that in any way attempts to extract or scrape any portions of the Apple Weather Data. For example, neither You, Your Applications, nor Your Corresponding Products may use or make available the Apple Weather Data, or any portion thereof, as part of any secondary or derived database. [...] If your apps, web apps, or websites display any weather data from Apple (other than weather alerts or value-added services or products, as described below), you must clearly display the Apple Weather trademark (Weather), as well as the legal link to other data sources.","plan":"1 million calls/month","who":"the Account Holder of an Apple Developer Program membership","billing":"monthly","charged":null,"topUp":null,"pay":49.99,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":1000000,"unit":"request","renews":"month","expires":"unused calls don't roll over to the next month","costUnits":1,"calls":1000000,"monthlyCap":null,"perThousand":0.05,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["currentWeather","forecastHourly","forecastNextHour","weatherAlerts"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"forecastDaily","method":"GET","path":"/api/v1/weather/{language}/{latitude}/{longitude}","send":"language, latitude, longitude, timezone, dataSets \"forecastDaily\"; countryCode, currentAsOf, dailyEnd, dailyStart, hourlyEnd, hourlyStart","fields":["units","data procured time","data reported time","data expiry time","attribution URL","provider name","provider logo","language","latitude","longitude","temporarily unavailable","version","start time","end time","conditions code","high","low","precipitation amount","precipitation chance","precipitation type","snowfall amount","max UV index","moon phase","moonrise","moonset","sunrise","sunrise civil","sunrise nautical","sunrise astronomical","sunset","sunset civil","sunset nautical","sunset astronomical","solar noon","solar midnight","daytime start time","daytime end time","daytime cloud cover","daytime conditions code","daytime humidity","daytime precipitation amount","daytime precipitation chance","daytime precipitation type","daytime snowfall amount","daytime wind speed","daytime wind direction","overnight start time","overnight end time","overnight cloud cover","overnight conditions code","overnight humidity","overnight precipitation amount","overnight precipitation chance","overnight precipitation type","overnight snowfall amount","overnight wind speed","overnight wind direction","learn more URL"]},{"provider":"Azure Maps","api":"Weather forecast","website":"https://azure.microsoft.com/en-us/products/azure-maps","pricingPage":"https://azure.microsoft.com/en-us/pricing/details/azure-maps/","pitch":"Use to get a daily detailed weather forecast for the next 1, 5, 10, 15, 25, or 45 days.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Customer may not cache or store results delivered by the Azure Maps API for the purpose of scaling such Results (as defined below) to serve multiple users, or to circumvent any functionality in Azure Maps, including but not limited to (i) map data tiles, or (ii) information on the calculation of a path between two (2) or more points (“Route”) information (collectively the “Results”). Caching and storing Results and locations (latitude and longitude pair) or addresses that have been returned from a call to Azure Maps (“Geocode”/ ”Reverse Geocode”) are permitted where the purpose of caching is to reduce latency times of the Customer Solution. Results may not be stored for longer than: (i) the validity period indicated in returned headers; or (ii) 6 months, whichever is shorter.","use":"Customer may not use Azure Maps, or any part thereof (1) to enable turn-by-turn navigation functionality in any Customer Solution or use within an automatic or autonomous vehicle control; or (2) with a vehicle’s dashboard, or a device connected to a vehicles dashboard, systems, or sensors, except that the device may be connected to the vehicle power source for charging purposes. [...] Customer may not use Azure Maps or any part thereof to create a competing database or service, or a derived database populated wholly or partially with Customer’s content and/or content supplied or created by any third party. Customer will not use the content delivered by the Azure Maps in combination with any other third-party database, except that Customer may layer onto the content a type of content not already included within Azure Maps (such as Customer's proprietary content) or which Microsoft separately licenses to Customer. [...] Customer will not modify or create a derivative work based on Azure Maps, or any part thereof, unless expressly permitted to do so under these terms. [...] Microsoft may, in its sole discretion, limit the rate at which Azure Maps, or any portion thereof, may be called. [...] Customer may not display any Results, and/or Azure Maps Weather service results, solely as described in these Terms, on any third-party content or geographical map database. [...] Customers may not remove, obscure, mask or change any logo and/or copyright notice placed on or automatically generated by Azure Maps. Customer must display in a conspicuous manner within Customer Solution any Microsoft or third-party attribution provided by Microsoft.","plan":"<500K","who":"anyone with an Azure subscription","billing":"on-demand","charged":"monthly","topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":1001,"graduated":true,"units":null,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":4.5,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Get Current Conditions","Get Hourly Forecast","Get Current Air Quality","Get Air Quality Daily Forecasts"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":50,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Get Daily Forecast","method":"GET","path":"/weather/forecast/daily/json","send":"query, api-version \"1.1\"; duration, unit, language","fields":["units","day","high","low","RealFeel temperature","RealFeel temperature in shade","hours of sun","degree days","air quality","pollen","UV index","data sources","summary","cloud cover","conditions","conditions code","conditions description","precipitation indicator","precipitation chance","precipitation type","precipitation intensity","hours of precipitation","rain","rain chance","hours of rain","snow","snow chance","hours of snow","ice","ice chance","hours of ice","thunderstorm chance","total liquid","wind speed","wind direction","wind gusts","local source"]},{"provider":"Bright Sky","api":"Weather forecast","website":"https://brightsky.dev/","pricingPage":"https://brightsky.dev/","pitch":"Check out /weather for hourly weather observations and forecasts.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"Free for any purpose: \"Bright Sky is free-to-use for all purposes. As it solely provides an additional method to access the DWD's meteorological data, the DWD's Terms of Use apply to all data you retrieve through the API.\" (brightsky.dev). The DWD's Terms of Use: \"All open spatial data and spatial data services of the DWD [...] may be re-used under the Creative Commons licence conditions CC BY 4.0 providing the source is acknowledged.\" (dwd.de legal notice).","plan":"Free","who":"anyone","auth":"none","billing":"free","charged":null,"topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":null,"perThousand":0,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":351,"call":null,"method":"GET","path":"/weather","send":"lat, lon, date; last_date, max_dist (default 50000 m, at most 500000 m), tz, units","fields":["forecast time","source ID","cloud cover","conditions","dew point","icon","sea-level pressure","humidity","temperature","visibility","fallback source IDs","precipitation","solar irradiation","sunshine duration","wind direction","wind speed","wind gust direction","wind gusts","precipitation chance","precipitation chance over 6 hours","station name","DWD station ID","WMO station ID","observation type","first record","last record","station latitude","station longitude","station height","distance from the location"]},{"provider":"Foreca","api":"Weather forecast","website":"https://developer.foreca.com","pricingPage":"https://developer.foreca.com/pricing","pitch":"Daily forecasts, up to 14 days.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Subject to Customer's payment of the applicable Fees, Foreca grants to Customer, for the duration of the Agreement, a limited, non-exclusive and non-transferable licence and right to use the Service and Content as described in the Service Description.","use":"Subject to Customer's payment of the applicable Fees, Foreca grants to Customer, for the duration of the Agreement, a limited, non-exclusive and non-transferable licence and right to use the Service and Content as described in the Service Description. Customer may not use or transfer the Content in any way not expressly provided for in these Terms. [...] Any Customer’s application or service incorporating Content shall prominently display the message “Powered by Foreca” or the Foreca logo (available at www.foreca.com/logo) in a legible manner. Customer shall follow Foreca's instructions regarding the use of Foreca's logo, trade name and other trademarks. Customer may not present the Service, Content or Foreca's name or logo in any manner that implies a partnership, affiliation, sponsorship or endorsement by Foreca, unless expressly authorized by these Terms.","plan":"Altocumulus","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":319,"currency":"EUR","exchangeRate":1.1253,"termMonths":1,"from":null,"graduated":null,"units":5000000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":5000000,"monthlyCap":null,"perThousand":0.0718,"waterfall":null,"listPerThousand":null,"overagePerThousand":0.1013,"unitsCap":"soft","addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Point Forecasts Location search","Point Forecasts Location info","Point Forecasts Observations","Point Forecasts Current","Point Forecasts Nowcast (short)","Point Forecasts Nowcast (long)","Point Forecasts Hourly","Point Forecasts Three-hourly","Air Quality Hourly","Air Quality Daily","Weather Maps Tile","Marine Weather Hourly","Marine Weather Daily"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":50,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Daily","method":"GET","path":"/api/v1/forecast/daily/{location}","send":"location; periods, alt, tempunit, windunit, dataset, lang, rounding, offset_hours","fields":["date","conditions code","conditions","cloud cover","confidence","max temperature","min temperature","max temperature ensemble","min temperature ensemble","max feels-like temperature","min feels-like temperature","max dew point","min dew point","max humidity","min humidity","max wind speed","max wind gusts","wind direction","precipitation accumulation","precipitation accumulation ensemble","precipitation chance","snow accumulation","snow depth","pressure","min visibility","UV index","solar radiation sum","sun hours","sunrise","sunrise epoch","sunset","sunset epoch","moonrise","moonset","moon phase"]},{"provider":"Google Maps Platform","api":"Weather forecast","website":"https://mapsplatform.google.com","pricingPage":"https://mapsplatform.google.com/pricing/","pitch":"The forecast.days endpoint returns up to 10 days of forecast information for a specific location, starting with the current day.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Today's Forecast values: 30 consecutive calendar days, after which Customer must delete the cached Google Maps Content. Daily Forecast values: 24 hours, after which Customer must delete the cached Google Maps Content","use":"Customers may not use Google Maps Content retrieved from Weather API to recreate a Google service or product (e.g. use data retrieved from Weather API in a weather app or weather model whose primary purpose is to provide weather information). [...] Customer will not export, extract, or otherwise scrape Google Maps Content for use outside the Services. For example, Customer will not: (i) pre-fetch, index, store, reshare, or rehost Google Maps Content outside the services [...] Customer will not cache Google Maps Content except as expressly permitted under the Maps Service Specific Terms. Customer will not create content based on Google Maps Content. For example, Customer will not: [...] (vii) use Google Maps Content to improve machine learning and artificial intelligence models, including to train, test, validate or fine-tune the models. Customer will not use the Services to create a product or service with features that are substantially similar to or that re-create the features of another Google product or service. Customer’s product or service must contain substantial, independent value and features beyond the Google products or services. [...] Customer will display all attribution that (i) Google provides through the Services (including branding, logos, and copyright and trademark notices); or (ii) is specified in the Maps Service Specific Terms. Customer will not modify, obscure, or delete such attribution.","plan":"5,000,000+","who":"anyone who enables billing on a Google Cloud project","billing":"on-demand","charged":"monthly","topUp":null,"pay":346.5,"currency":"USD","exchangeRate":1,"termMonths":null,"from":5000001,"graduated":true,"units":null,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":0.038,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Weather API: Get current conditions","Weather API: Get hourly forecast"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Get daily forecast","method":"GET","path":"/v1/forecast/days:lookup","send":"location.latitude, location.longitude; unitsSystem, pageSize, pageToken, days, languageCode","fields":["date","interval","time zone","next page token","maximum temperature","minimum temperature","feels-like maximum temperature","feels-like minimum temperature","maximum heat index","sunrise","sunset","moonrise times","moonset times","moon phase","daytime interval","daytime conditions","daytime conditions type","daytime conditions icon","daytime precipitation probability","daytime precipitation type","daytime precipitation amount","daytime wind direction","daytime wind speed","daytime wind gusts","daytime ice thickness","daytime humidity","daytime UV index","daytime thunderstorm probability","daytime cloud cover","nighttime interval","nighttime conditions","nighttime conditions type","nighttime conditions icon","nighttime precipitation probability","nighttime precipitation type","nighttime precipitation amount","nighttime wind direction","nighttime wind speed","nighttime wind gusts","nighttime ice thickness","nighttime humidity","nighttime UV index","nighttime thunderstorm probability","nighttime cloud cover"]},{"provider":"HERE","api":"Weather forecast","website":"https://www.here.com","pricingPage":"https://www.here.com/get-started/pricing","pitch":"forecast7days – morning, afternoon, evening and night weather forecasts for the next seven days.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"30 days, and no pre-fetching, caching or storing \"except as explicitly allowed by the caching headers (HTTP/1.1 standard) returned by HERE Location Services\" (Platform Terms 6.4 j: \"Cache or store outside of the Platform any Results that include anything from the use of HERE Content or Location Services for more than 30 days [...] unless Results are used solely for your internal testing, evaluation, or record retention for audit and legal compliance purposes\")","use":"Platform Terms 5.2: \"Subject to your compliance with these Terms and payment of applicable fees, you may [...] a) Access and use HERE Services as described in the relevant Exhibit, Subscription Plan, and Documentation; [...] c) Use HERE Content only for the purposes and in a manner as specified in the relevant Exhibit, Subscription Plan, Documentation, or in a separate written agreement with HERE\"; 6.3 \"Except as otherwise permitted in your Subscription Plan or separate agreement with HERE, you may not: a) Integrate HERE Materials into a ground, aerial, manned, or unmanned vehicle system or any component thereof [...]; and b) Use HERE Materials for or in connection with any systems or functions for automatic or autonomous control of ground, aerial, manned, or unmanned vehicle behavior [...]\"; 6.4 \"You may not: a) Use non-HERE datasets with HERE Content or Results in Applications that are made available to End-Users or third parties (as allowed by your license in these Terms). [...]; b) Expose HERE Materials to any open source software, open content, open database licenses or other resembling terms where such licenses or terms would [...]; c) Modify HERE Content and/or Results; d) Extract sales lead information, category-specific business listings, or mailing or marketing lists; e) Make any derivative works based on or using HERE Materials, reverse engineer, reverse compile, disassemble, or attempt to determine the source code of the HERE Materials; f) Use HERE Materials in connection with a machine learning or artificial intelligence (“AI”) system, including but not limited to, models used in connection with natural language processing, algorithm optimization and training, logical AI/inferencing, machine learning, deep learning, behavioral learning, artificial neural networks, machine perception and motion manipulation, predictive analytics, generative AI, and data extrapolation; g) Use HERE Materials for: (i) benchmarking of third-party data sets, or (ii) a reference to create, enhance, or improve a product or service competitive to HERE; h) Provide Results and/or HERE Content to another person or entity; i) Except as included in an Application, and as permitted in Your license grant from HERE, use HERE Materials to create, develop, enhance, test, or evaluate a platform, product or solution regardless of whether such platform, product or solution contains reference to any HERE Materials; j) Cache or store outside of the Platform any Results that include anything from the use of HERE Content or Location Services for more than 30 days [...] unless Results are used solely for your internal testing, evaluation, or record retention for audit and legal compliance purposes; [...] l) Create any Results that contain unenhanced or unmodified HERE Content or scaling one Request to serve multiple End Users; m) Use incorrect attribution of any information derived from the Platform; [...] o) Use outdated versions of the Platform or HERE Materials.\"; Location Services Terms 1.3 \"you may not use HERE Materials in a manner that pre-fetches, caches, or stores data or Results, except as explicitly allowed by the caching headers (HTTP/1.1 standard) returned by HERE Location Services\"; the Base Plan excludes the use cases \"Asset Management\", \"Usage Based Insurance (UBI)/Telematics\" and \"Optimization\", and \"One app ID can only be used for one application – no sharing\" (Base plan restrictions).","plan":"Destination Weather: 2,501 to 200,000 transactions a month (€4.66 per 1,000)","who":"anyone with a HERE account, but for the Base Plan's excluded use cases (\"Asset Management\", \"Usage Based Insurance (UBI)/Telematics\", \"Optimization\")","billing":"on-demand","charged":"monthly","topUp":null,"pay":0,"currency":"EUR","exchangeRate":1.1253,"termMonths":null,"from":2501,"graduated":true,"units":null,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":5.2439,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":5.2439,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Weather report (observation)","Weather report (forecast7daysSimple)","Weather report (forecastHourly)","Weather report (forecastAstronomy)","Weather report (alerts)","Weather report (nwsAlerts)"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Weather report (forecast7days)","method":"GET","path":"/report","send":"products \"forecast7days\", location; units, lang, politicalView","fields":["country code","country name","state","city","latitude","longitude","distance from requested point","daylight","day segment","description","sky code","sky description","temperature","temperature description","feels-like temperature","humidity","dew point","precipitation chance","precipitation description","rainfall","snowfall","air code","air description","wind speed","wind direction","wind direction name","wind direction abbreviation","Beaufort scale","Beaufort description","visibility","icon ID","icon name","icon URL","weekday","time"]},{"provider":"IQAir","api":"Weather forecast","website":"https://www.iqair.com","pricingPage":"https://www.iqair.com/air-quality-monitors/api","pitch":"7-day weather forecast","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no API terms","use":"no API terms","plan":"Enterprise","who":"anyone","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":null,"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":1000000,"perSecond":16.67,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"nearest_city","method":"GET","path":"/v2/nearest_city","send":"lat, lon","fields":["city name","state name","country name","latitude","longitude","forecast time","forecast day","temperature","minimum temperature","pressure","humidity","wind speed","wind direction","conditions icon","precipitation chance","heat index","US AQI","China AQI","PM2.5","PM10","PM2.5 concentration"]},{"provider":"Meersens","api":"Weather forecast","website":"https://meersens.com","pricingPage":"https://meersens.com/api/?lang=en","pitch":"Returns hourly forecast weather data at a given location.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no API terms","use":"no API terms","plan":"Contact us","who":"anyone","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":null,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":null,"sharesBudgetWith":null,"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":null,"resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/weather/forecast","send":"lat, lng; system, from, to, page, Accept-Language header","fields":["found","hour","weather index","weather index type","weather index name","weather index category","weather index description","weather index icon","weather index color","main parameters","temperature","feels-like temperature","humidity","pressure","wind speed","wind direction","precipitation","cloud cover","conditions","conditions description","conditions icon","parameter unit","parameter confidence","weather index by parameter","total results","total pages","page number","page size"]},{"provider":"MET Norway","api":"Weather forecast","website":"https://api.met.no","pricingPage":"https://docs.api.met.no/doc/FAQ","pitch":"Weather forecasts for any location on earth","strengths":[],"aggregators":null,"freshness":"6 hours","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"Free for any purpose: \"You can use our data (and within reason, our services) for any purpose you like, as described in the CC BY 4.0 license. This includes paid-for apps or services, including advertising revenue.\" (FAQ). Asks in return: \"All open data require attribution as specified in the CC BY 4.0 license: You must give appropriate credit, provide a link to the license, and indicate if changes were made.\" (terms); \"Credit should be given to The Norwegian Meteorological Institute, shortened MET Norway, as the source of data.\" (licence); \"You are not allowed to make services/sites that appear to be made by Yr, NRK or The Norwegian Meteorological Institute.\" (terms); processed data: \"you must make it clear to the user that the data shown are a derived product and not the responsibility of MET Norway.\" (FAQ).","plan":"Free","who":"anyone","auth":"none","billing":"free","charged":null,"topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":51840000,"perThousand":0,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":20,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":49,"call":"complete","method":"GET","path":"/weatherapi/locationforecast/2.0/complete","send":"lat, lon, User-Agent header; altitude","fields":["latitude","longitude","updated at","units","forecast time","temperature","humidity","dew point","sea-level pressure","cloud cover","high cloud cover","medium cloud cover","low cloud cover","fog cover","wind speed","wind direction","wind gusts","conditions","precipitation","highest likely precipitation","lowest likely precipitation","precipitation chance","thunder chance","highest temperature","lowest temperature","highest clear-sky UV index","temperature 10th percentile","temperature 90th percentile","wind speed 10th percentile","wind speed 90th percentile"]},{"provider":"Met Office","api":"Weather forecast","website":"https://datahub.metoffice.gov.uk","pricingPage":"https://datahub.metoffice.gov.uk/pricing/site-specific","pitch":"We offer GeoJSON data via three APIs for a single specified location defined by latitude and longitude.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"\"The data and products listed on Met Office Weather DataHub are made available to you under a perpetual, worldwide, non-exclusive, non-transferable licence to download, use, copy, publish, distribute, transmit, adapt and exploit the Met Office Weather DataHub Products for use in your application. Certain conditions must be met and these are explained in more detail in the terms and conditions. Users are required to include the following attribution statement in their application: “Powered by Met Office data”\" (FAQ); commercial use: \"Yes. Subject to the terms of the licence granted to you\" (FAQ).","plan":"Monthly subscription (36,000 calls per day)","who":"businesses anywhere and UK consumers; an international consumer needs the Enterprise option","billing":"monthly","charged":null,"topUp":null,"pay":250,"currency":"GBP","exchangeRate":1.3335,"termMonths":1,"from":null,"graduated":null,"units":36000,"unit":"request","renews":"day","expires":null,"costUnits":1,"calls":36000,"monthlyCap":null,"perThousand":0.3087,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"hard","addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Global hourly spot data","Global three hourly spot data"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":36000,"perSecond":null,"concurrent":null,"batch":null,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Global daily spot data","method":"GET","path":"/point/daily","send":"latitude, longitude; dataSource, excludeParameterMetadata, includeLocationName","fields":["latitude","longitude","elevation","location name","location licence","model run date","distance from requested point","units","forecast time","midday sea-level pressure","midnight sea-level pressure","day rain chance","night rain chance","day heavy rain chance","night heavy rain chance","day precipitation chance","night precipitation chance","day high temperature","night low temperature","day high temperature upper bound","day high temperature lower bound","night low temperature upper bound","night low temperature lower bound","day high feels-like temperature","night low feels-like temperature","day high feels-like temperature upper bound","day high feels-like temperature lower bound","night low feels-like temperature upper bound","night low feels-like temperature lower bound","midday humidity","midnight humidity","midday visibility","midnight visibility","day highest UV index","day lightning chance","night lightning chance","day hail chance","night hail chance","day snow chance","night snow chance","day heavy snow chance","night heavy snow chance","midday wind gusts","midnight wind gusts","midday wind direction","midnight wind direction","midday wind speed","midnight wind speed","day conditions","night conditions"]},{"provider":"meteoblue","api":"Weather forecast","website":"https://business.meteoblue.com","pricingPage":"https://business.meteoblue.com/products/weather-apis/free-weather-api","pitch":"The Basic package contains commonly used weather forecast variables.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"10.03. REPRODUCTION: METEOBLUE DATA, PRODUCTS or SERVICES may not be stored, reproduced, printed or sent without prior consent of METEOBLUE, except for NON-COMMERCIAL UTILISATION.","use":"5.05. COMMERCIAL LICENSE is a specific set of SERVICE TERMS agreed between CUSTOMER and METEOBLUE. METEOBLUE offers specific contractual terms for business based on their needs. Terms differing from the general terms must be agreed in written. [...] 10.04. RE-ENGINEERING: it is expressly not permitted to use METEOBLUE DATA, PRODUCTS or SERVICES to re-engineer, copy or derive service components, unless permitted in writing by METEOBLUE. [...] 9.05. CREDENTIALS: If METEOBLUE SERVICES are referenced on any WEBSITE a clearly visible reference to METEOBLUE has to be displayed close to the METEOBLUE DATA. [...] 10.07. CUSTOMERS agree to not use any of the services for any illegal, non-ethical, racist, defamatory or abusive purposes, and will not engage in any such activity on our website.","plan":"Prepaid API","who":"anyone","billing":"one-time","charged":null,"topUp":true,"pay":null,"currency":"EUR","exchangeRate":1.1253,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":"1 year","costUnits":8000,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["259 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":8.33,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"basic-1h","method":"GET","path":"/packages/basic-1h","send":"lat, lon; forecastDays, historyDays, asl, station, name, domain, raw, tz, timeformat, format, temperatureUnit, windSpeedUnit, windDirectionUnit, precipitationUnit","fields":["time","temperature","feels-like temperature","wind speed","wind direction","relative humidity","sea level pressure","precipitation","precipitation probability","convective precipitation","snow fraction","precipitation grid","weather condition code","daylight indicator","UV index","latitude","longitude","elevation","time zone","UTC offset","model run time","model run update time","generation time"]},{"provider":"Meteomatics","api":"Weather forecast","website":"https://www.meteomatics.com","pricingPage":"https://www.meteomatics.com/en/pricing/","pitch":"You will receive the best available forecast for the queried date and location.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"\"The Right of Use is limited temporally to the duration of the Agreement concluded between Meteomatics and the Customer\" (General Terms and Conditions, 3.1.2)","use":"\"use the Services of Meteomatics solely for internal business purpose or the purpose indicated in the Agreement\" (9.1.2); \"The Customer shall not undertake any of the following actions with respect to the Services and/or Documentation of Meteomatics:\" \"adapt, reverse engineer, create, copy, modify, create any derivative work of, disassemble, decompile, re-engineer, make error corrections to the Services, or otherwise create, attempt to create, or permit, allow or assist others to create, the source code or the structural framework of the Services (this also applies to Equipment) in whole or in part;\" \"copy, modify, translate, or create derivative works based on the specifications of Meteomatics Services;\" \"cause or permit any use, sub-license, assign, novate the benefit, display, loan, publication, transfer of possession or other dissemination of the Services or Documentation, in whole or in part, to or by any third party without Meteomatics prior written consent;\" \"remove, delete, obscure, or alter any proprietary notices or labels;\" \"engage in any fraudulent, unlawful or illegal activity, violate any laws or violate the rights of any third party.\" (3.2.1)","plan":"Weather API","who":"Businesses: its Talk to an expert form asks for a \"Business e-mail\"","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":null,"sharesBudgetWith":null,"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":10,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/{validdatetime}/{parameters}/{location}/{format}","send":"validdatetime (a start date, a duration such as \"P5D\" and a spacing such as \"PT12H\"), parameters, location, format; source, calibrated, mask, ens_select, timeout, route","fields":["latitude","longitude","valid date","temperature","maximum temperature","minimum temperature","mean temperature","feels-like temperature","feels-like maximum temperature","feels-like minimum temperature","heat index","dew point","humidity","precipitation","precipitation chance","precipitation type","snowfall","snow depth","thunderstorm chance","wind speed","wind direction","wind gusts","sea-level pressure","surface pressure","conditions","conditions code","weather symbol","cloud cover","visibility","UV index","solar radiation","sunshine duration","day or night","sunrise","sunset"]},{"provider":"Meteosource","api":"Weather forecast","website":"https://www.meteosource.com","pricingPage":"https://www.meteosource.com/pricing","pitch":"Weather forecasts are provided by Meteosources's machine learning technology, which uses a multitude of different weather models but minimises their errors, resulting in extremely high accuracy. Predictions are available for any location on Earth.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"Customer terms: \"The Customer is permitted solely to use Meteosource API for reference by Your end users. Except as expressly provided herein, under no circumstances whatsoever may You transfer or permit the transfer of Meteosource API outside of your application(s).\" \"You shall not make access to the Meteosource API available to unauthorized parties.\" FAQ: \"you can use our products and data for non-commercial or commercial purposes as long as visible credit is given to Meteosource as a weather data provider in a prominent part of your application. The Free/Trial subscriptions are only available for non-commercial use.\" Free plan: \"Mention & backlink\".","plan":"Standard","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":399,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":1000000,"unit":"request","renews":"day","expires":"1 day","costUnits":1,"calls":1000000,"monthlyCap":null,"perThousand":0.0133,"waterfall":null,"listPerThousand":null,"overagePerThousand":1,"unitsCap":"soft","addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Get air quality data"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":1000000,"perSecond":11.67,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Get weather data","method":"GET","path":"/point","send":"lat, lon, \"minutely\", \"hourly\", \"daily\" or \"alerts\" in sections; timezone, language, units","fields":["latitude","longitude","elevation","time zone","units","forecast time","forecast day","conditions","conditions code","conditions summary","temperature","minimum temperature","maximum temperature","wind speed","wind direction","cardinal wind direction","cloud cover","precipitation","morning forecast","afternoon forecast","evening forecast","minutely forecast summary","minutely forecast time","minutely precipitation","alert event","alert onset","alert expiry","alert sender","alert certainty","alert severity","alert headline","alert description","sunrise","sunset","sun always up","sun always down","moon phase","moonrise","moonset","moon always up","moon always down","average temperature","average minimum temperature","average maximum temperature","record minimum temperature","record maximum temperature","average wind speed","average wind direction","average cardinal wind direction","maximum wind speed","maximum wind gust","average precipitation","average precipitation probability","feels-like temperature","soil temperature","wind chill","surface temperature","dew point","wind gusts","low cloud cover","middle cloud cover","high cloud cover","pressure","precipitation type","convective precipitation","rainspot","precipitation chance","storm probability","freeze probability","CAPE","evaporation","irradiance","lifted index","ozone","UV index","humidity","snow depth","sunshine duration","visibility","predictability","minimum feels-like temperature","maximum feels-like temperature","minimum soil temperature","maximum soil temperature","minimum wind chill","maximum wind chill","minimum dew point","maximum dew point","minimum surface temperature","maximum surface temperature"]},{"provider":"Meteum","api":"Weather forecast","website":"https://meteum.ai","pricingPage":"https://docs.meteum.ai/en/pages/plans","pitch":"an aggregated forecast for parts of the day is perfect for displaying in the interface or a quick assessment of the overall picture of the day","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"1 week (\"obliged to update the Information used on Sources at least 1 (one) time per week, and is also obliged to immediately delete the stored Information that is no longer available on the Platform\")","use":"\"the Customer shall use the latest version of the Platform, updates, and the Platform's functions only for the purpose of accessing the Information and its use on the Sources. The Customer has the right to process the received Information solely to display it through the Platform\"; \"The Customer shall not remove, reorder or sort, hide and/or modify the Information [...] including, but not limited to, promotional materials, trademarks, logos, links or other attributions to the right holders\"; \"The Customer shall not provide and/or sell the Information for commercial and/or non-commercial purposes to third parties, except for providing access to the Information to End Users, without the prior written consent\"; \"The Customer shall not extract Information from the Platform beyond its functional capabilities, change the content and type of Information in the process of its use on the Sources, copy and / or save Information from the Platform for any purpose other than its use on Sources\"; \"the Customer shall comply with the rules and requirements specified in the guide (guideline) [...] including, but not limited to, attribution to the source of Information in the form specified in the guideline\"; \"Before displaying any layouts of materials containing Information or a part of it the Customer shall receive Beyond ML's prior written consent via e-mail\"","plan":"Enterprise","who":"a person or legal entity that is not on an applicable sanctions list, nor located in, controlled by or a national or resident of a territory where Beyond ML may not do business (service agreement, \"Customer\")","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":null,"sharesBudgetWith":null,"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":null,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Forecast by parts of the day","method":"POST","path":"/graphql/query","send":"query selecting forecast.days.parts, request.lat, request.lon, Content-Type header \"application/json\"; language, days.limit, days.offset","fields":["hemisphere","Kp index","maximum Kp index","moon","moon phase","ocean tide extremums","polar day or night","sunrise start time","sunrise time","sunset end time","sunset time","day start time","timestamp","average temperature","cloudiness","condition","daytime","humidity","sea ice area fraction","ice thickness","icon","leaf wetness percent","maximum dew point","maximum soil temperature","maximum temperature","mean sea-level pressure","minimum soil temperature","minimum temperature","phenomenon condition","phenomenon icon","precipitation","precipitation probability","precipitation strength","precipitation type","pressure","pressure in inHg","snow depth","temperature","visibility","water temperature","wind angle","wind direction","wind gust","wind speed","dominant pollutant","individual AQI"]},{"provider":"MetGIS","api":"Weather forecast","website":"https://metgis.com","pricingPage":"https://metgis.com/en/price-overview","pitch":"MetGIS weather forecasts currently reach out up to 14 days in the future.","strengths":[],"aggregators":null,"freshness":"6 hours","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Point API price list, \"Caching of weather data at the customer\": \"no\" on Starter and Smart, \"possibly by arrangement\" on Premium, \"by arrangement\" on Enterprise; GTC: \"Caching of the weather data is only allowed in certain API data packages, and then only with express permission from MetGIS\" (§ 9(12)); \"The weather products may only be archived to the extent that they are used solely for the private and internal purposes of the party archiving [...] The archive must not be accessible to third parties.\" (§ 12(5)); the right of use is \"limited in terms of time to the term of the contract\" (§ 12(2))","use":"GTC § 12(2): \"MetGIS shall grant the customer the non-exclusive right to use the weather products and the content contained in these, with this right being unlimited in terms of territory and limited in terms of time to the term of the contract, and, depending on the scope of services agreed by contract, to integrate these into their website or internal or external information systems, apps, or similar items\"; \"The access data transmitted for the purposes of using the products ordered is intended for personal and/or internal company use only\" and the customer \"shall not use and/or disclose the subject matter of the contract other than in accordance with the details provided by them prior to entering into the contract\" (§ 9(8), (9)); \"Any further use shall require prior written consent from MetGIS.\" (§ 9(10)); in return, \"If the MetGIS weather data is displayed on publicly accessible websites and in publicly accessible apps, the customer undertakes to add the notice “powered by MetGIS” or “data by MetGIS,” with the MetGIS company logo displayed and linked to the MetGIS website\" unless agreed otherwise (§ 9(11)); \"Consumers [...] may use the weather products for private purposes only. Integration of the weather forecasts and analyses into the consumer’s website or similar application is not permitted.\" (§ 12(3)); Point API price list, \"Type of use\": \"No resale\" on Starter, Smart and Premium, \"by arrangement\" on Enterprise","plan":"Premium, 1,000,000 calls a month, monthly payment","who":"anyone with a MetGIS account; consumers for private purposes only, with no integration into a website or application","billing":"monthly","charged":null,"topUp":null,"pay":300,"currency":"EUR","exchangeRate":1.1253,"termMonths":1,"from":null,"graduated":null,"units":1000000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":1000000,"monthlyCap":null,"perThousand":0.3376,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":1000,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/forecast","send":"lat, lon, v; alt, lang","fields":["latitude","longitude","elevation","package description","calculation time (local)","calculation time (UTC)","forecast time","conditions icon","feels-like temperature","rain","snowfall","precipitation","humidity","sunshine duration","temperature","thunderstorm probability","cloud cover","short conditions","wind direction","wind speed","wind strength","precipitation probability","maximum temperature","maximum wind gusts","maximum wind speed","maximum wind strength","mean humidity","maximum feels-like temperature","minimum feels-like temperature","minimum temperature","minimum wind speed","moon phase","moonrise","moonset","sunrise","sunset","long conditions","minimum cloud cover","mean cloud cover","maximum cloud cover","wind direction at maximum speed"]},{"provider":"Oikolab","api":"Weather forecast","website":"https://oikolab.com","pricingPage":"https://oikolab.com","pitch":"This is the basic entry point into our datasets to request both historical and forecast weather data.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"\"non-exclusive, non-sublicensable, non-transferable license, during the Term, to download and use the APIs to receive the data strictly for your internal business purposes\"; in return, \"Unless you notify us otherwise in writing, we may identify you as a customer and user of the Service on our website, mobile application and in other online or offline marketing materials and press releases\"","plan":"Pay As You Go","who":"anyone","billing":"on-demand","charged":"monthly","topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":1500,"unit":"credit","renews":"month","expires":null,"costUnits":1,"calls":1500,"monthlyCap":null,"perThousand":10,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["/airquality"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[{"fields":["dew point"],"perThousand":10},{"fields":["wet-bulb temperature"],"perThousand":10},{"fields":["humidex index"],"perThousand":10},{"fields":["skin temperature"],"perThousand":10},{"fields":["soil temperature level 1"],"perThousand":10},{"fields":["soil temperature level 2"],"perThousand":10},{"fields":["soil temperature level 3"],"perThousand":10},{"fields":["soil temperature level 4"],"perThousand":10},{"fields":["wind speed"],"perThousand":10},{"fields":["wind direction"],"perThousand":10},{"fields":["wind gusts"],"perThousand":10},{"fields":["wind u component"],"perThousand":10},{"fields":["wind v component"],"perThousand":10},{"fields":["80 m wind speed"],"perThousand":10},{"fields":["80 m wind direction"],"perThousand":10},{"fields":["80 m wind u component"],"perThousand":10},{"fields":["80 m wind v component"],"perThousand":10},{"fields":["100 m wind speed"],"perThousand":10},{"fields":["100 m wind direction"],"perThousand":10},{"fields":["100 m wind u component"],"perThousand":10},{"fields":["100 m wind v component"],"perThousand":10},{"fields":["solar radiation"],"perThousand":10},{"fields":["net solar radiation"],"perThousand":10},{"fields":["thermal radiation"],"perThousand":10},{"fields":["net thermal radiation"],"perThousand":10},{"fields":["direct solar radiation"],"perThousand":10},{"fields":["direct normal solar radiation"],"perThousand":10},{"fields":["diffuse solar radiation"],"perThousand":10},{"fields":["humidity"],"perThousand":10},{"fields":["surface pressure"],"perThousand":10},{"fields":["sea-level pressure"],"perThousand":10},{"fields":["cloud cover"],"perThousand":10},{"fields":["precipitation"],"perThousand":10},{"fields":["snowfall"],"perThousand":10},{"fields":["soil moisture level 1"],"perThousand":10},{"fields":["soil moisture level 2"],"perThousand":10},{"fields":["soil moisture level 3"],"perThousand":10},{"fields":["soil moisture level 4"],"perThousand":10},{"fields":["boundary layer height"],"perThousand":10},{"fields":["cloud base height"],"perThousand":10},{"fields":["convective available potential energy"],"perThousand":10},{"fields":["convective inhibition"],"perThousand":10},{"fields":["downward UV radiation"],"perThousand":10},{"fields":["evaporation"],"perThousand":10},{"fields":["albedo"],"perThousand":10},{"fields":["surface roughness"],"perThousand":10},{"fields":["friction velocity"],"perThousand":10},{"fields":["high cloud cover"],"perThousand":10},{"fields":["high vegetation cover"],"perThousand":10},{"fields":["high vegetation leaf area index"],"perThousand":10},{"fields":["low vegetation leaf area index"],"perThousand":10},{"fields":["low cloud cover"],"perThousand":10},{"fields":["low vegetation cover"],"perThousand":10},{"fields":["medium cloud cover"],"perThousand":10},{"fields":["potential evaporation"],"perThousand":10},{"fields":["skin reservoir content"],"perThousand":10},{"fields":["sub-surface runoff"],"perThousand":10},{"fields":["latent heat flux"],"perThousand":10},{"fields":["surface runoff"],"perThousand":10},{"fields":["total column rain water"],"perThousand":10},{"fields":["total column water vapour"],"perThousand":10},{"fields":["zero-degree level"],"perThousand":10}],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":null,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Weather data (/weather)","method":"GET","path":"/weather","send":"lat, lon; param, start, end, freq, resample_method, location, location_id, north, south, east, west, model, centre, ensemble, run, format","fields":["hour","day","dataset","temperature"]},{"provider":"Open-Meteo","api":"Weather forecast","website":"https://open-meteo.com","pricingPage":"https://open-meteo.com/en/pricing","pitch":"Get detailed JSON hourly weather forecasts for up to 7 or 16 days by specifying the geographical coordinates and desired weather variables in the API endpoint.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"While you are permitted to utilise and distribute the data, including for commercial purposes, attribution is a requirement under this licence.","use":"Free API: \"You may only use the free API services for non-commercial purposes. You accept to the CC-BY 4.0 licence\" (terms); paid plans: \"A subscription grants a commercial use licence\" (pricing page).","plan":"API Professional (10 million calls)","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":160,"currency":"EUR","exchangeRate":1.1253,"termMonths":1,"from":null,"graduated":null,"units":10000000,"unit":"request","renews":"month","expires":null,"costUnits":3.9,"calls":2564102.564103,"monthlyCap":null,"perThousand":0.0702,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"soft","addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Air Quality API","Marine API","Flood API","Elevation API","Geocoding API","Historical Weather API","Climate API","Ensemble API","Historical Forecast API","Previous Model Runs API","Seasonal Forecast API","Single Runs API"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":null,"minBatch":null,"answer":"in the call","latencyMs":115,"call":"Weather forecast, full","method":"GET","path":"/v1/forecast","send":"latitude, longitude, hourly \"temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall,snow_depth,weather_code,pressure_msl,surface_pressure,cloud_cover,visibility,wind_speed_10m,wind_direction_10m,wind_gusts_10m,uv_index,is_day\", daily \"weather_code,temperature_2m_max,temperature_2m_min,apparent_temperature_max,apparent_temperature_min,uv_index_max,sunrise,sunset,daylight_duration,sunshine_duration,rain_sum,showers_sum,snowfall_sum,precipitation_sum,precipitation_hours,precipitation_probability_max,wind_speed_10m_max,wind_gusts_10m_max,wind_direction_10m_dominant\", timezone; forecast_days (up to 16, 7 by default), past_days, temperature_unit, wind_speed_unit, precipitation_unit, models","fields":["latitude","longitude","elevation","time zone","time zone abbreviation","UTC offset","generation time","units","hour","temperature","feels-like temperature","humidity","dew point","precipitation chance","precipitation","rain","showers","snowfall","snow depth","day","conditions","sea-level pressure","surface pressure","cloud cover","visibility","wind speed","wind direction","wind gusts","UV index","day or night","daily conditions","high","low","feels-like high","feels-like low","highest UV index","sunrise","sunset","daylight","sunshine","total rain","total showers","total snowfall","total precipitation","precipitation hours","highest precipitation chance","highest wind speed","highest wind gusts","dominant wind direction"]},{"provider":"OpenWeather","api":"Weather forecast","website":"https://openweathermap.org","pricingPage":"https://openweathermap.org/price","pitch":"5 day forecast is available at any location on the globe. It includes weather forecast data with 3-hour step.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"All automated self-service plans are provided under the ODbL (Open Database License). Commercial use is allowed. [...] Provide visible attribution to OpenWeather [...] Share-alike applies only if you: Build a reusable dataset from OpenWeather data; Restructure, combine, or enrich it; Operate your own weather dataset or API based on stored OpenWeather data; Make that dataset or API available outside your organisation [...] If such a database is distributed externally, it must be offered under the same ODbL license.","plan":"Professional","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":370,"currency":"GBP","exchangeRate":1.3335,"termMonths":1,"from":null,"graduated":null,"units":1000000000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":1000000000,"monthlyCap":null,"perThousand":0.00049,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Current weather data","Hourly forecast","16 day / daily forecast","Climatic forecast 30 days","Current air pollution data","Forecast air pollution data"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":500,"concurrent":null,"batch":null,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"5 day / 3 hour forecast","method":"GET","path":"/data/2.5/forecast","send":"lat, lon; cnt, units, lang","fields":["latitude","longitude","city ID","city name","country code","city population","UTC offset","sunrise","sunset","forecast time","temperature","feels-like temperature","minimum temperature","maximum temperature","sea-level pressure","ground-level pressure","humidity","cloud cover","wind speed","wind direction","wind gusts","visibility","precipitation chance","rain","snowfall","day or night","conditions","conditions description","weather condition ID","weather icon"]},{"provider":"ReefAPI","api":"Weather forecast","website":"https://reefapi.com","pricingPage":"https://reefapi.com/pricing","pitch":"global point forecast (MET Norway, ~9 days): hourly steps + daily aggregates with normalized weather-code, feels-like, sunrise/sunset/moon.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"You are solely responsible for how you use the data you retrieve and for ensuring your use complies with all applicable laws, third-party terms, and the rights of others (including data-protection, intellectual-property, and anti-spam laws) in your jurisdiction and your users'. You will not use the Service to break the law, infringe rights, send spam, or build a competing bulk-redistribution product. [...] Don't attempt to circumvent authentication, rate limits, or credit metering; don't probe, scan, or stress the Service except your own account within posted limits. [...] Where a source requires attribution, we surface it in the response meta; honor it.","plan":"Pro monthly","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":15,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":10000,"unit":"credit","renews":"month","expires":"never","costUnits":1,"calls":10000,"monthlyCap":null,"perThousand":1.5,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"hard","addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["3,551 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":1264,"call":null,"method":"POST","path":"/weather-intel/v1/forecast","send":"lat, lon; units, hours, days, source","fields":["current time","step time","temperature","feels-like temperature","wind","humidity","pressure","cloud cover","UV index","precipitation","condition code","condition","condition intensity","date","minimum temperature","maximum temperature","total precipitation","maximum wind speed","daily condition","sunrise","sunset","moon","samples","date basis","source name","source updated at","fetched at","staleness minutes","stale","confidence","attribution","disclaimer","NWS forecast periods","NWS location","NWS grid ID","NWS grid X","NWS grid Y"]},{"provider":"Seniverse","api":"Weather forecast","website":"https://www.seniverse.com","pricingPage":"https://www.seniverse.com/buy?type=enterprise_subscription","pitch":"获取指定城市未来最多 15 天每天的白天和夜间预报，以及昨日的历史天气。付费用户可获取全部数据，免费用户只返回 3 天天气预报。","strengths":[],"aggregators":null,"freshness":"12 hours","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no caching of its data without its authorization","use":"您无权实施包括但不限于下列行为：以任何方式对心知天气的产品和服务进行干扰、破坏、修改或施加其他影响；以任何特殊方式恶意获取心知天气数据；在未获得心知天气授权的情况下，缓存心知天气数据；在获得天气数据后，将相关数据出租、出借、复制、转载、发表、出版，擅自借助本服务发展与之有关的衍生产品、服务、插件或者向任何第三方分发、销售或再授权；利用本服务发表、传送、传播、储存违反国家法律、危害国家安全、祖国统一、社会稳定、公序良俗的内容，或任何不当的、侮辱诽谤的、淫秽的、暴力的及任何违反国家法律法规政策的内容；其他以任何不合法的方式、为任何不合法的目的、或以任何与本协议不一致的方式使用本协议提供的所有服务。 [...] 您在使用本服务过程中不得屏蔽此类广告信息；","plan":"Extra visits 1,000,000 (额外访问量)","who":"customers with a monthly or yearly data subscription (包年包月)","billing":"one-time","charged":null,"topUp":false,"pay":100,"currency":"CNY","exchangeRate":0.14956,"termMonths":null,"from":null,"graduated":null,"units":1000000,"unit":"request","renews":null,"expires":"never","costUnits":1,"calls":1000000,"monthlyCap":null,"perThousand":0.015,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Weather now","Hourly weather forecast, 24 hours","Historical weather, past 24 hours","Weather alerts","Air quality now","Air quality city ranking","Historical air quality, past 24 hours","Daily air quality forecast","Hourly air quality forecast","Life index","Lunar calendar, solar terms and zodiac","Vehicle plate restrictions","Hourly tide forecast","Sunrise and sunset","Moonrise, moonset and moon phase","City search"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Daily weather forecast","method":"GET","path":"/v3/weather/daily.json","send":"location; language, unit, start, days","fields":["location ID","location name","country code","location path","time zone","UTC offset","day","conditions","conditions code","daytime and nighttime values","high","low","precipitation chance","wind direction compass","wind direction","wind speed","wind scale","precipitation amount","humidity","update time"]},{"provider":"Stormglass","api":"Weather forecast","website":"https://stormglass.io","pricingPage":"https://stormglass.io/pricing","pitch":"The stormglass API gives you direct access to the world’s most accurate weather forecasts and you can get data from multiple datasets and several weather parameters in every request.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"Free plan: \"Not for commercial use\", and \"The free test plan is intended solely for evaluation of the Service prior to purchasing a paid plan and is not meant for indefinite ongoing use.\" Commercial use needs a paid plan: Medium and Large are \"Full support and for commercial use\" (its FAQ: \"you need to subscribe to a paid plan (Medium, Large or any of the plans above) which explicitly allow commercial usage\"). \"You may not transfer your access rights or disclose your password to any third party.\" \"You are solely responsible for not using the Services for any purpose that is prohibited by these Terms and Conditions or deemed unlawful by local legislation were you operate.\"","plan":"Large","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":129,"currency":"EUR","exchangeRate":1.1253,"termMonths":1,"from":null,"graduated":null,"units":25000,"unit":"request","renews":"day","expires":null,"costUnits":1,"calls":25000,"monthlyCap":null,"perThousand":0.1936,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"hard","addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":null,"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":25000,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/v2/weather/point","send":"lat, lng, params; start, end (up to 10 days ahead), source","fields":["hour","temperature","temperature at 80 m","temperature at 100 m","temperature at 1000 hPa","temperature at 800 hPa","temperature at 500 hPa","temperature at 200 hPa","pressure","cloud cover","ocean current direction","ocean current speed","dew point","wind gusts","humidity","ice cover","precipitation","rain","snowfall","graupel","snow albedo","snow depth","sea ice thickness","sea level","swell direction","swell height","swell period","secondary swell direction","secondary swell height","secondary swell period","visibility","water temperature","surface temperature","wave direction","wave height","wave period","wind wave direction","wind wave height","wind wave period","wind direction","wind direction at 20 m","wind direction at 30 m","wind direction at 40 m","wind direction at 50 m","wind direction at 80 m","wind direction at 100 m","wind direction at 1000 hPa","wind direction at 800 hPa","wind direction at 500 hPa","wind direction at 200 hPa","wind speed","wind speed at 20 m","wind speed at 30 m","wind speed at 40 m","wind speed at 50 m","wind speed at 80 m","wind speed at 100 m","wind speed at 1000 hPa","wind speed at 800 hPa","wind speed at 500 hPa","wind speed at 200 hPa","latitude","longitude","daily quota","request count"]},{"provider":"Strale","api":"Weather forecast","website":"https://strale.dev","pricingPage":"https://strale.dev/pricing","pitch":"Get the current weather and a 7-day forecast for a place or coordinates, from Open-Meteo.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"You agree not to use the Service to: break the law, evade sanctions, or facilitate fraud; process personal data of EU/UK data subjects without an appropriate lawful basis; circumvent rate limits, quotas, or the Service’s authentication; resell the Service as your own or build a competing product whose primary purpose is to mirror Strale’s capability catalog; scrape or systematically extract Strale’s own metadata (capability descriptions, test results, pricing) outside of the documented public endpoints; use AI-assisted capability outputs as the sole basis for decisions with legal or significant effects on a person without human review [...] You retain all rights to the data you send to the Service and to the structured responses you receive.","plan":"Prepaid wallet","who":"anyone","billing":"one-time","charged":null,"topUp":true,"pay":10,"currency":"EUR","exchangeRate":1.1253,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":"never","expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":56.265,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["392 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":94,"call":"Weather Lookup","method":"POST","path":"/v1/do","send":"capability_slug \"weather-lookup\"; inputs.latitude, inputs.longitude, inputs.city, max_price_cents, require_fresh, dry_run","fields":["location name","latitude","longitude","time zone","day","high","low","daily conditions","precipitation"]},{"provider":"Tomorrow.io","api":"Weather forecast","website":"https://www.tomorrow.io","pricingPage":"https://www.tomorrow.io/weather-api/","pitch":"Using the weather forecast API you can access up-to-date weather information for your location, including minute-by-minute forecasts (for premium users) for the next hour, hourly forecasts for the next 120 hours, and daily forecasts for the next 5 days.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"\"store or otherwise collect or copy the unaltered Datafeed, unless otherwise expressly provided for in the Order or for permitted evaluation of DaaS, in which case Datafeed may only be stored for the duration of the Initial Term [...]\" (terms, Restrictions).","use":"\"Paid Solution offerings may be used for Subscriber's internal business purposes or, as specified in an Order, integrated into Subscriber proprietary commercial applications. Commercial use is strictly prohibited in the case of evaluation, proof of concept, or in connection with self-generated accounts originated on Company's website [...] The Solution may not be distributed, shared, or offered on a standalone basis\" (terms, Permitted Use); \"any portion of the Solution that incorporates and presents Datafeed shall prominently display the message \"Powered by Tomorrow.io\" in a legible manner near such data or any information derived from it\" (terms, Attribution); \"Subscriber acknowledges and agrees not to engage, directly or indirectly, or facilitate engagement by a third party, in the following prohibited activities: [...] Use the Solution to develop, or create, or permit others to develop or create, a product or service in any way similar or competitive to the Solution, as solely determined by Company; Offer any portion or all of the Solution to any third parties [...] including but not limited to reselling, licensing, renting, leasing, transferring, lending, timesharing, assigning or redistributing it or any part thereof or generating revenue thereform. [...] Use robots, crawlers and similar applications to scrape, harvest, collect or compile content or data from or through the Solution; Publish or disclose the results of any benchmark tests performed with respect to the Solution or otherwise use any testing results related to the Solution for commercial, competitive, or other purposes\" (terms, Restrictions).","plan":"Enterprise","who":"anyone","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":null,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Realtime Weather","Retrieve Timelines"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":null,"resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Weather Forecast","method":"GET","path":"/v4/weather/forecast","send":"location, accept-encoding header \"deflate, gzip, br\"; timesteps, units","fields":["latitude","longitude","location name","location type","minute","hour","day","cloud base","cloud ceiling","cloud cover","dew point","evapotranspiration","freezing rain intensity","hail probability","hail size","humidity","ice accumulation","ice accumulation liquid water equivalent","precipitation probability","sea-level pressure","surface pressure","rain accumulation","rain accumulation liquid water equivalent","rain intensity","sleet accumulation","sleet accumulation liquid water equivalent","sleet intensity","snow accumulation","snow accumulation liquid water equivalent","snow depth","snow intensity","temperature","feels-like temperature","UV health concern","UV index","visibility","conditions","wind direction","wind gusts","wind speed","average cloud base","highest cloud base","lowest cloud base","average cloud ceiling","highest cloud ceiling","lowest cloud ceiling","average cloud cover","highest cloud cover","lowest cloud cover","average dew point","highest dew point","lowest dew point","average evapotranspiration","highest evapotranspiration","lowest evapotranspiration","total evapotranspiration","average freezing rain intensity","highest freezing rain intensity","lowest freezing rain intensity","average hail probability","highest hail probability","lowest hail probability","average hail size","highest hail size","lowest hail size","average humidity","highest humidity","lowest humidity","average ice accumulation","average ice accumulation liquid water equivalent","highest ice accumulation liquid water equivalent","lowest ice accumulation liquid water equivalent","total ice accumulation liquid water equivalent","highest ice accumulation","lowest ice accumulation","total ice accumulation","moonrise","moonset","average precipitation probability","highest precipitation probability","lowest precipitation probability","average sea-level pressure","highest sea-level pressure","lowest sea-level pressure","average surface pressure","highest surface pressure","lowest surface pressure","average rain accumulation","average rain accumulation liquid water equivalent","highest rain accumulation liquid water equivalent","lowest rain accumulation liquid water equivalent","highest rain accumulation","lowest rain accumulation","total rain accumulation","average rain intensity","highest rain intensity","lowest rain intensity","average sleet accumulation","average sleet accumulation liquid water equivalent","highest sleet accumulation liquid water equivalent","lowest sleet accumulation liquid water equivalent","total sleet accumulation liquid water equivalent","highest sleet accumulation","lowest sleet accumulation","average sleet intensity","highest sleet intensity","lowest sleet intensity","average snow accumulation","average snow accumulation liquid water equivalent","highest snow accumulation liquid water equivalent","lowest snow accumulation liquid water equivalent","total snow accumulation liquid water equivalent","highest snow accumulation","lowest snow accumulation","total snow accumulation","average snow depth","highest snow depth","lowest snow depth","total snow depth","average snow intensity","highest snow intensity","lowest snow intensity","sunrise","sunset","average feels-like temperature","highest feels-like temperature","lowest feels-like temperature","average temperature","highest temperature","lowest temperature","average UV health concern","highest UV health concern","lowest UV health concern","average UV index","highest UV index","lowest UV index","average visibility","highest visibility","lowest visibility","highest conditions","lowest conditions","average wind direction","average wind gusts","highest wind gusts","lowest wind gusts","average wind speed","highest wind speed","lowest wind speed"]},{"provider":"Visual Crossing","api":"Weather forecast","website":"https://www.visualcrossing.com","pricingPage":"https://www.visualcrossing.com/weather-data-pricing/","pitch":"Since a full 15-day weather forecast for any worldwide location counts as only a single record, you can get 1000 forecasts per day without any cost.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"\"10. DATA STORAGE. The data produced by the Service Components may be stored in any database or other storage and retrieval system.\" \"13. RESALE OR COMPETING WEATHER DATA SERVICES. You may not use the Service Components or the data they produce to create, operate, or offer a weather data API, bulk weather dataset, weather data marketplace, or similar service that competes with Visual Crossing.\" \"11. DATA SHARING. [...] Raw Weather Data may never be shared or distributed publicly for download and may only be shown to the general public for viewing purposes where the data is not readily exportable, downloadable, or available through bulk export, API access, structured download, automated retrieval, or similar retrieval functionality.\" Attribution: \"Attribution for all Visual Crossing Weather Data usage is required at the Pay-as-you-go and Pro license level.\" (pricing page).","plan":"Metered","who":"anyone","billing":"on-demand","charged":"at a threshold","topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"result","renews":null,"expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":0.1,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Timeline Weather API date range queries"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":"no limit","batch":5,"minBatch":null,"answer":"in the call","latencyMs":84,"call":"Timeline Weather API: forecast","method":"GET","path":"/VisualCrossingWebServices/rest/services/timeline/{location}","send":"location; include, elements, unitGroup, lang, options, iconSet, timezone, maxDistance, maxStations, elevationDifference, locationNames, forecastDataset","fields":["latitude","longitude","resolved address","address","time zone","UTC offset","query cost","elevation","seven day outlook","day","hour","temperature","feels-like temperature","humidity","dew point","precipitation chance","precipitation","radar precipitation","precipitation type","precipitation coverage","snow","snow depth","conditions","icon","description","cloud cover","sea-level pressure","visibility","wind speed","wind direction","wind gusts","solar radiation","solar energy","UV index","severe risk","CAPE","CIN","high","low","feels-like high","feels-like low","sunrise","sunset","moon phase","moonrise","moonset","civil dawn","civil dusk","nautical dawn","nautical dusk","astronomical dawn","astronomical dusk","highest wind speed","mean wind speed","lowest wind speed","record type"]},{"provider":"Weather Unlocked","api":"Weather forecast","website":"https://developer.weatherunlocked.com","pricingPage":"https://developer.weatherunlocked.com/localweather/pricing","pitch":"comprehensive 3-hourly, 7-day forecast data for worldwide locations","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no limit","use":"\"a limited, worldwide, nonexclusive, non-transferable revocable license for your use for access, use, and to receive information via the API to transmit, use and display information obtained via the API for the uses allowed by these terms of use\", and in return you \"integrate and use the obligatory WeatherUnlocked domain names, trademarks, logos necessary to acknowledge that WeatherUnlocked is the source of the data originating from the API\"; \"Weather Unlocked reserves the right to limit or remove any account where the user is deemed to be acting out with what is considered ‘fair usage’\"; the pricing page lists the licensing of Advanced and Enterprise as \"Custom\" and of the other plans as \"Standard\".","plan":"Advanced","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":380,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":432000000,"perThousand":0.00088,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Current Weather"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":166.67,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Forecast Weather","method":"GET","path":"/api/forecast/{Location}","send":"Location; lang","fields":["date","sunrise","sunset","moonrise","moonset","moon phase","maximum temperature","minimum temperature","total precipitation","total rain","total snowfall","precipitation chance","maximum humidity","minimum humidity","maximum wind speed","maximum wind gusts","maximum sea-level pressure","minimum sea-level pressure","time","UTC date","UTC time","conditions","short conditions","conditions code","conditions icon","temperature","feels-like temperature","wind direction","cardinal wind direction","wind speed","wind gusts","low cloud cover","mid cloud cover","high cloud cover","cloud cover","precipitation","rain","snowfall","snow accumulation","humidity","dew point","visibility","sea-level pressure"]},{"provider":"WeatherAPI.com","api":"Weather forecast","website":"https://www.weatherapi.com","pricingPage":"https://www.weatherapi.com/pricing","pitch":"Up to 14 days of daily and hourly forecast with astronomy, chance of rain and snow, alerts and air quality. 15-minute interval with tp=15.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"You may cache API responses for performance optimisation subject to the following limits: current conditions data — maximum 60 minutes; forecast data — maximum 24 hours; historical data — no restriction. Caching beyond these limits or storing data beyond your subscription term constitutes a breach of these Terms and Conditions.","use":"You may access, view and make copies of the data in the API for your personal or commercial use, including making the data in the API available in online and/or mobile applications/services (a single API key/subscription may be used in respect of one online or mobile application/service only) [...] If you are a Free API user then for all uses of the data, you will credit WeatherAPI.com by name or brand logo as the source of the data. [...] You agree not to sell our weather data to any third party. [...] you warrant that you will not use the Services for any purpose that is unlawful or prohibited by these Terms and Conditions, including: Scraping, bulk downloading, or systematic extraction of data beyond your subscribed plan limits. Using the API in any application or service that facilitates illegal activity. Interfering with or disrupting the integrity or performance of the API infrastructure. Attempting to reverse-engineer, decompile, or derive source code from the API. Using the data in any safety-critical system as the sole data source without independent verification against official meteorological services. [...] Where you make weather data derived from the WeatherAPI.com API available to your own end users [...] you must display a clear, conspicuous, and intelligible disclaimer to those end users.","plan":"Starter","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":7,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":3000000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":3000000,"monthlyCap":null,"perThousand":0.0023,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"hard","addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Realtime API","History API","Alerts API","Marine API","Search/Autocomplete API","IP Lookup API","Astronomy API","Time Zone API","Sports API"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":282,"call":null,"method":"GET","path":"/v1/forecast.json","send":"q (latitude and longitude), days (up to 3 on Free, 7 on Starter, 14 on Pro+ and above); dt, unixdt, hour, alerts, aqi, pollen, tp, lang, day_fields, hour_fields, et0","fields":["location name","region","country","latitude","longitude","time zone","local time","date","hour","temperature","feels-like temperature","wind chill","heat index","dew point","humidity","cloud cover","conditions","condition icon","condition code","day or night","precipitation","snowfall","chance of rain","chance of snow","will it rain","will it snow","pressure","visibility","wind speed","wind direction","wind gusts","UV index","high","low","average temperature","average humidity","average visibility","highest wind speed","total precipitation","total snowfall","sunrise","sunset","moonrise","moonset","moon phase","moon illumination","moon up","sun up"]},{"provider":"Weatherbit","api":"Weather forecast","website":"https://www.weatherbit.io","pricingPage":"https://www.weatherbit.io/pricing","pitch":"Returns daily forecast data for up to 16 days. Forecasts update approximately once per hour.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Only with an active commercial license (paid API subscription): \"A paid subscription must be maintained for the full duration of storage. If you unsubscribe, any data stored must be deleted.\"","use":"Free and Trial: \"Commercial use of our Free/trial/hobbyist tier API\" is not accepted and the data is under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license, with \"a do-follow link to Weatherbit.io\" as credit; Standard, Plus, Business and Enterprise carry a commercial license. Use of the API for any of the following \"will lead to immediate restriction of API use\": \"Use of our Free tier API to target or trigger advertising\"; \"Commercial use of our Free/trial/hobbyist tier API\"; \"Use of our API for mission critical applications. This includes any service where failure will lead to personal injury, death, or environmental damage\"; \"Using multiple accounts to circumnavigate rate limits\"; \"Use of proxy/anonymous emails to sign up for multiple accounts\"; \"Use of our API to promote illegal activities\"; \"Directing users to sign up for non-commercial account(s) to use in a commercial application\"; \"Reselling of Weatherbit data without an appropriate custom license\".","plan":"Business","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":495,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":2000000,"unit":"request","renews":"day","expires":null,"costUnits":1,"calls":2000000,"monthlyCap":null,"perThousand":0.0083,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"hard","addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Current Weather API","Hourly Forecast API (240 hour)","Minutely Forecast API (60 minute)","Current Air Quality API","Air Quality Forecast API"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":2000000,"perSecond":150,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":76,"call":"Daily Forecast API (16 day)","method":"GET","path":"/v2.0/forecast/daily","send":"lat, lon; days, units, lang","fields":["city name","state code","country code","latitude","longitude","time zone","valid date","unix timestamp","snowfall","snow depth","precipitation","temperature","dew point","maximum temperature","minimum temperature","daytime high","night-time low","feels-like maximum temperature","feels-like minimum temperature","humidity","cloud cover","low cloud cover","mid cloud cover","high cloud cover","conditions","conditions code","conditions icon","sea-level pressure","station pressure","UV index","ozone","visibility","precipitation chance","moon phase","moon lunation","sunrise","sunset","moonrise","moonset","day or night","wind speed","wind direction","cardinal wind direction","cardinal wind direction text","wind gusts"]},{"provider":"Weatherstack","api":"Weather forecast","website":"https://weatherstack.com","pricingPage":"https://weatherstack.com/pricing","pitch":"Make use of reliable weather forecast data for 7, 10 or 14 days into the future, updated in real-time and around the clock.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Only while the agreement lasts: You shall not \"use, store, or access any weatherstack API Data & Services, or the weatherstack API after the termination of this Agreement\".","use":"Free plan: pricing page \"Non-Commercial Use\"; Standard, Professional and Business: \"Commercial Use\". Terms: You may \"receive, process, and display weatherstack API Data & Services to individual end-users of your application(s), provided such end users use weatherstack API Data & Services strictly for their own personal use\" and \"You do not permit Your end users to store, distribute, or otherwise exploit weatherstack API Data & Services for any other purposes\"; \"You are permitted solely to use weatherstack API Data & Services for reference by Your end users\" and \"under no circumstances whatsoever may You transfer or permit the transfer of weatherstack API Data & Services outside of your application(s)\". \"You shall not:\" \"reproduce, copy, modify, distribute, market, display, transfer, sublicense, assign, prepare derivative work(s) or adaptation(s) based on, sell, exchange, barter or transfer, rent, lease, loan, time-share, resell, or in any other manner exploit weatherstack API Data & Services or the weatherstack API\"; \"make access to weatherstack API Data & Services or the weatherstack API available to unauthorized parties, or otherwise post or distribute weatherstack API Data & Services in any public forum including, but not limited to, print, newsletters, radio, television, or internet\"; \"use or permit others to use, market, distribute, or export weatherstack API Data & Services, or the weatherstack API\"; \"use weatherstack API Data & Services or the weatherstack API in any manner or for any purpose that violates any law, regulation or right of any person\" [...]. Attribution: \"Your inclusion of a clickable hyperlink to the weatherstack API website at https://weatherstack.com would be highly appreciated\".","plan":"Business","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":99.99,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":1000000,"unit":"request","renews":"month","expires":"at the end of each month","costUnits":1,"calls":1000000,"monthlyCap":null,"perThousand":0.1,"waterfall":null,"listPerThousand":null,"overagePerThousand":0.4,"unitsCap":"soft","addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Current Weather","Historical Weather","Historical Time-Series","Marine Weather"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":null,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/forecast","send":"query; forecast_days, hourly, interval, units, language, callback","fields":["location name","country","region","latitude","longitude","time zone","local time","local time epoch","UTC offset","time read","temperature","conditions","conditions code","conditions icon","wind speed","wind direction","cardinal wind direction","pressure","precipitation","humidity","cloud cover","feels-like temperature","UV index","visibility","date","date epoch","sunrise","sunset","moonrise","moonset","moon phase","moon illumination","minimum temperature","maximum temperature","average temperature","total snowfall","sun hours","hour","heat index","dew point","wind chill","wind gusts","chance of rain","chance of remaining dry","chance of wind","chance of overcast","chance of sunshine","chance of frost","chance of high temperature","chance of fog","chance of snow","chance of thunder"]},{"provider":"WeatherXu","api":"Weather forecast","website":"https://weatherxu.com","pricingPage":"https://weatherxu.com/pricing","pitch":"Hyper-local forecasting","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"Once a subscription is terminated, the subscriber is prohibited from utilizing previously obtained data from the API for any commercial endeavors.","use":"Data accessed through the API with the Free Plan is intended solely for personal exploration and evaluation purposes and must not be used for any commercial activities. [...] Subscribers are granted the right to display WeatherXu's data on their websites for both commercial and personal projects, provided they hold an active subscription with WeatherXu. [...] The reproduction, duplication, copying, sale, resale, or exploitation of any aspect of this Application and its Services, and/or Data is strictly forbidden without the explicit written consent of the owner, Lyker Labs LLC. [...] Free plan usage is for non-commercial use and requires attribution to weatherxu.com.","plan":"Business","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":90,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":5000000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":5000000,"monthlyCap":null,"perThousand":0.018,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":"hard","addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Current weather (/weather with parts currently)","Historical weather (/history)"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":500,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/v1/weather","send":"lat, lon; parts, units","fields":["latitude","longitude","unit system","timezone","timezone abbreviation","timezone offset","time read","forecast start","forecast end","feels-like temperature","cloud cover","dew point","humidity","conditions","precipitation intensity","precipitation probability","pressure","temperature","UV index","visibility","wind direction","wind gusts","wind speed","sunrise time","sunset time","moon phase","feels-like temperature average","feels-like temperature minimum","feels-like temperature maximum","dew point average","dew point minimum","dew point maximum","temperature average","temperature minimum","temperature maximum","wind gusts average","wind gusts minimum","wind gusts maximum","wind speed average","wind speed minimum","wind speed maximum","wind direction average","UV index maximum"]},{"provider":"Windy","api":"Weather forecast","website":"https://api.windy.com","pricingPage":"https://api.windy.com/point-forecast/pricing","pitch":"Get raw weather forecast data for specific coordinates","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"In particular, the User may not: [...] store, extract, modify, distribute, use the weather data or other content of the Services, create any weather works or databases derived therefrom, or use other means than the weather forecasting functions of the Services permitted by this Agreement;","use":"Trial Version: \"The Trial Version is intended for development purposes only and the User is not allowed to use it for production, i.e. to integrate it into the User Application.\" [...] \"The User may integrate the Services into their User Application only on the condition that such User Application creates a significant added value for its users and maintains good faith and fair dealing.\" [...] \"The User is not allowed to create User Applications that would aim to replicate the Services or other services of the Provider.\" [...] \"Any individuals or entities that are or aim to be direct competition to the Provider with respect to the Services or other services of the Provider may not become Users and are prohibited from using the Services.\" [...] \"The User is not authorized to provide access to the Services to any third party. Redistribution of any part of the API or the included data to any third party is forbidden.\" [...] \"The User must always state the source of the weather data in the User Applications. The publication of the following text “Contains data from the Windy database” [...] is deemed to be the indication of the source of the weather data.\" [...] \"The use of the Restricted Models (ECMWF), where available, is limited only to the Private Application and Users are not authorized to pass the Services on to any third party, or use them to generate Value Added Services.\"","plan":"Professional","who":"anyone not in direct competition with Windy","billing":"yearly","charged":null,"topUp":null,"pay":990,"currency":"EUR","exchangeRate":1.1253,"termMonths":12,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":300000,"perThousand":0.3095,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":10000,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Point Forecast","method":"POST","path":"/api/point-forecast/v2","send":"lat, lon, model one of \"arome\", \"aromeAntilles\", \"aromeFrance\", \"aromeReunion\", \"icon\", \"iconD2\", \"iconEu\", \"gfs\", \"namConus\", \"namHawaii\", \"namAlaska\", \"hrrrConus\", \"hrrrAlaska\", \"canHrdps\", \"gfsWave\", \"iconWave\", \"iconEuWave\", \"canRdwpsWave\" or \"cmems\", parameters \"temp\", \"dewpoint\", \"precip\", \"convPrecip\", \"snowPrecip\", \"wind\", \"windGust\", \"cape\", \"ptype\", \"lclouds\", \"mclouds\", \"hclouds\", \"rh\", \"gh\", \"pressure\", \"cbase\", \"visibility\", \"weatherWarnings\", \"waves\", \"wavesPower\", \"windWaves\", \"swell1\", \"swell2\", \"currents\", \"currentsTide\"; levels","fields":["forecast time","units","temperature","dew point","precipitation","snowfall","convective precipitation","wind u component","wind v component","wind gusts","CAPE","precipitation type","low cloud cover","medium cloud cover","high cloud cover","humidity","geopotential height","pressure","cloud base height","visibility","weather warnings","wave height","wave period","wave direction","wind wave height","wind wave period","wind wave direction","wave power","swell 1 height","swell 1 period","swell 1 direction","swell 2 height","swell 2 period","swell 2 direction","sea current u component","sea current v component","tidal current u component","tidal current v component"]},{"provider":"World Weather Online","api":"Weather forecast","website":"https://www.worldweatheronline.com","pricingPage":"https://www.worldweatheronline.com/weather-api/api/pricing.aspx","pitch":"Fetch weather data for up to 10 locations in a single HTTP POST request — available for the Local Weather and Marine Weather APIs.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"You may cache API responses for performance optimisation subject to the following limits: current conditions data — maximum 60 minutes; forecast data — maximum 24 hours; historical data — no restriction. Caching beyond these limits or storing data beyond your subscription term constitutes a breach of these Terms and Conditions.","use":"WorldWeatherOnline grants you a limited, non-exclusive, non-transferable right to access and use the Weather API services for your own internal business or personal purposes, subject to these Terms and Conditions and your selected subscription plan. Free API access is permitted for both commercial and non-commercial use within the stated request limits. Free API users must credit WorldWeatherOnline by name or brand logo as the source of data in all public displays. [...] You may not transfer, sublicense, resell, or redistribute the API service or raw data feeds to any third party without prior written consent from WorldWeatherOnline. Any use of the API beyond the scope of your subscription plan — including exceeding request limits or accessing endpoints not included in your tier — is prohibited and may result in account suspension. Attribution required for public display of weather data [...] Where you make weather data derived from the WorldWeatherOnline API available to your own end users — whether through a website, mobile application, API, dashboard, or any other channel — you must display a clear, conspicuous disclaimer to those end users.","plan":"Pro","who":"anyone aged 16 or over","billing":"monthly","charged":null,"topUp":null,"pay":1,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":500,"unit":"request","renews":"day","expires":null,"costUnits":1,"calls":500,"monthlyCap":null,"perThousand":0.0667,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Local History API","Marine Weather API","Marine History API","Ski Weather API","Search API","Astronomy API","Time Zone API","Local Weather API"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":500,"perSecond":null,"concurrent":null,"batch":10,"minBatch":null,"answer":"in the call","latencyMs":null,"call":"Bulk API","method":"POST","path":"/premium/v1/weather.ashx","send":"q, num_of_days, cc \"no\", Content-Type header \"multipart/form-data\"; date, tp, fx24, includelocation, showlocaltime, showmap, lang, date_format","fields":["day","high","low","UV index","sunrise","sunset","moonrise","moonset","moon phase","moon illumination","hour","temperature","feels-like temperature","heat index","dew point","wind chill","wind speed","wind gusts","wind direction","conditions code","conditions icon","conditions","precipitation","humidity","visibility","pressure","cloud cover","rain chance","wind chance","overcast chance","sunshine chance","frost chance","high temperature chance","fog chance","snow chance","thunder chance","area name","country","region","latitude","longitude"]},{"provider":"wttr.in","api":"Weather forecast","website":"https://wttr.in","pricingPage":"https://github.com/chubin/wttr.in","pitch":"The JSON format is a feature providing access to wttr.in data through an easy-to-parse format, without requiring the user to create a complex script to reinterpret wttr.in's graphical output.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no API terms","use":"no API terms","plan":"Free","who":"anyone","auth":"none","billing":"free","charged":null,"topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":null,"perThousand":0,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/{latitude},{longitude}","send":"latitude, longitude, format \"j1\"; lang","fields":["hourly forecast"]},{"provider":"Xweather","api":"Weather forecast","website":"https://www.xweather.com","pricingPage":"https://www.xweather.com/pricing/weather-api-subscription","pitch":"The forecasts endpoint/data set provides up to 15-day forecasts for US and international locations.","strengths":[],"aggregators":null,"freshness":"live","fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"no API terms","use":"Developer trial: \"Xweather's free developer trial is intended solely for testing Xweather's products and services and is not intended for commercial use.\"","plan":"API and Maps subscription","who":"anyone outside the US and Canada","billing":"monthly","charged":null,"topUp":null,"pay":300,"currency":"EUR","exchangeRate":1.1253,"termMonths":1,"from":null,"graduated":null,"units":1000000,"unit":"credit","renews":"month","expires":null,"costUnits":1,"calls":1000000,"monthlyCap":null,"perThousand":0.3376,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["64 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/forecasts/{id}","send":"id; p, limit, filter, from, to, skip, plimit, pskip, fields, lang","fields":["city name","state code","country code","latitude","longitude","time zone","elevation","forecast interval","unix timestamp","valid time","date and time","temperature","maximum temperature","minimum temperature","average temperature","feels-like temperature","feels-like maximum temperature","feels-like minimum temperature","feels-like average temperature","dew point","maximum dew point","minimum dew point","average dew point","humidity","maximum humidity","minimum humidity","precipitation chance","precipitation","ice accumulation","snowfall","sea-level pressure","cardinal wind direction","wind direction","wind speed","wind gusts","maximum cardinal wind direction","maximum wind direction","maximum wind speed","minimum cardinal wind direction","minimum wind direction","minimum wind speed","cardinal wind direction at 80 m","wind direction at 80 m","wind speed at 80 m","wind gusts at 80 m","maximum cardinal wind direction at 80 m","maximum wind direction at 80 m","maximum wind speed at 80 m","minimum cardinal wind direction at 80 m","minimum wind direction at 80 m","minimum wind speed at 80 m","cloud cover","cloud cover code","conditions","conditions code","conditions code start time","primary conditions","primary conditions code","conditions icon","visibility","UV index","solar radiation","minimum solar radiation","maximum solar radiation","clear-sky solar radiation","clear-sky solar radiation source","global horizontal irradiance","direct normal irradiance","diffuse horizontal irradiance","solar azimuth angle","solar zenith angle","day or night","sunrise","sunset","wet bulb globe temperature"]},{"provider":"Yandex Weather","api":"Weather forecast","website":"https://yandex.com/dev/weather/","pricingPage":"https://yandex.ru/dev/weather/doc/ru/concepts/pricing","pitch":"The Yandex Weather API can provide weather forecast data both with hourly details and aggregated by parts of the day.","strengths":[],"aggregators":null,"freshness":null,"fieldFreshness":null,"history":null,"countries":null,"fullFamilyTree":null,"checks":null,"searchesIn":null,"keep":"1 week, and all stored Information deleted within 3 business days of the contract's end (\"Заказчик обязан проверять актуальность Информации, используемой на Ресурсах, не реже 1 (одного) раза в неделю, а также обязан незамедлительно удалять ту из сохраненной Информации, которая более не содержится на Платформе\" (3.6.8); \"В течение 3 (трех) рабочих дней после прекращения Договора по любому основанию удалить всю сохраненную Информацию с ресурсов Заказчика, со всех компьютеров, серверов и оборудования Заказчика, а также письменно подтвердить такое удаление по запросу Яндекса\" (3.6.13))","use":"\"Если иное не предусмотрено соответствующим Тарифом доступа при оказании Услуг Заказчик обязуется: Использовать последнюю версию обновления Платформы, а функции Платформы только в целях доступа к Информации для использования на ресурсах Заказчика. Заказчик имеет право обрабатывать полученную Информацию исключительно для отображения их посредством Платформы.\" (3.6.5); \"Если иное не предусмотрено соответствующим Тарифом доступа при оказании Услуг Заказчик обязуется: Не удалять, не изменять порядок или сортировку, не скрывать и/или не модифицировать Информацию, а также любую информацию, доступную на Платформе или полученных данных, включая, но не ограничиваясь, рекламно-информационные материалы, товарные знаки, логотипы, ссылки или иные указания на правообладателей, а также любые другие уведомления и/или информацию, доступные на Платформе вместе с Информацией.\" (3.6.6); \"Если иное не предусмотрено соответствующим Тарифом доступа при оказании Услуг Заказчик обязуется: Не предоставлять и/или не реализовывать Информацию самостоятельно в коммерческих и/или некоммерческих целях третьим лицам, за исключением предоставления к ней доступа Конечных пользователей, без письменного согласия Яндекса, оформленного в виде дополнительного соглашения к Договору или в ином, согласованным Сторонами виде.\" (3.6.7); \"Если иное не предусмотрено соответствующим Тарифом доступа при оказании Услуг Заказчик обязуется: Не извлекать Информацию из Платформы за пределами возможностей, предоставленных Платформой, изменять содержание и вид Информации в процессе ее использования на Ресурсах, а также копировать и/или сохранять Информацию из Платформы для любых целей, кроме их использования на Ресурсах Заказчика.\" (3.6.8); \"Если иное не предусмотрено соответствующим Тарифом доступа при оказании Услуг Заказчик обязуется: При любом использовании Информации соблюдать правила и требования, указанные в руководстве (гайдлайне), размещенном по следующей ссылке – http://download.cdn.yandex.net/probki/Guide_weather_full.pdf, в том числе, но не ограничиваясь сказанным, указывать ссылку на источник Информации в указанном в гайдлайне виде.\" (3.6.10); \"Если иное не предусмотрено соответствующим Тарифом доступа при оказании Услуг Заказчик обязуется: Любые макеты материалов, содержащих Информацию или ее часть и которые отличаются от установленных в гайдлайне требований, перед размещением таких материалов на Ресурсах подлежат предварительному согласованию с Яндексом по электронной почте с использованием следующего адреса электронной почты Яндекса - yandexmedia@yandex-team.ru\" (3.6.11); \"Если погодные данные будут в открытом доступе (доступны третьим лицам), необходимо соблюдать правила брендирования. В противном случае сервис оставляет за собой право ограничить доступ к получаемым данным.\" (pricing page)","plan":"Optimal","who":"new customers only, by a contract on the offer; the offer is addressed to legal entities and fully capable individuals who are Residents (Russian citizens or foreign nationals with a Russian residence permit; legal entities created under Russian law and their branches abroad)","billing":"monthly","charged":null,"topUp":null,"pay":54000,"currency":"RUB","exchangeRate":0.011939,"termMonths":1,"from":null,"graduated":null,"units":100000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":100000,"monthlyCap":null,"perThousand":6.4471,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"unitsCap":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Weather for now"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":100,"concurrent":null,"batch":null,"minBatch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/graphql/query","send":"request.lat, request.lon, query, Content-Type header \"application/json\"; days.limit","fields":["time","temperature","humidity","pressure","wind speed","wind direction","wind angle","cloud cover","conditions","icon","precipitation amount","accumulated precipitation","precipitation chance","precipitation strength","precipitation type","phenomenon","water temperature","sunrise time","sunset time"]}],"total":421,"checked":["2026-10-30","2026-10-31"],"freshness":["Live","Within an hour","Within a day","Within a week","Within a month","Within a year","Stored, age unknown"],"providers":[{"label":"7 to H","kids":[{"label":"7Timer!","value":"7Timer! on its own site"},{"label":"Ambee","value":"Ambee on its own site"},{"label":"API Ninjas","value":"API Ninjas on its own site"},{"label":"Apple WeatherKit","value":"Apple WeatherKit on its own site"},{"label":"Azure Maps","value":"Azure Maps on its own site"},{"label":"Bright Sky","value":"Bright Sky on its own site"},{"label":"Foreca","value":"Foreca on its own site"},{"label":"Google Maps Platform","value":"Google Maps Platform on its own site"},{"label":"HERE","value":"HERE on its own site"}],"range":true},{"label":"I to Oi","kids":[{"label":"IQAir","value":"IQAir on its own site"},{"label":"Meersens","value":"Meersens on its own site"},{"label":"meteoblue","value":"meteoblue on its own site"},{"label":"Meteomatics","value":"Meteomatics on its own site"},{"label":"Meteosource","value":"Meteosource on its own site"},{"label":"Meteum","value":"Meteum on its own site"},{"label":"MetGIS","value":"MetGIS on its own site"},{"label":"MET Norway","value":"MET Norway on its own site"},{"label":"Met Office","value":"Met Office on its own site"},{"label":"Oikolab","value":"Oikolab on its own site"}],"range":true},{"label":"Op to V","kids":[{"label":"Open-Meteo","value":"Open-Meteo on its own site"},{"label":"OpenWeather","value":"OpenWeather on its own site"},{"label":"ReefAPI","value":"ReefAPI on its own site"},{"label":"Seniverse","value":"Seniverse on its own site"},{"label":"Stormglass","value":"Stormglass on its own site"},{"label":"Strale","value":"Strale on its own site"},{"label":"Tomorrow.io","value":"Tomorrow.io on its own site"},{"label":"Visual Crossing","value":"Visual Crossing on its own site"}],"range":true},{"label":"W to Y","kids":[{"label":"WeatherAPI.com","value":"WeatherAPI.com on its own site"},{"label":"Weatherbit","value":"Weatherbit on its own site"},{"label":"Weatherstack","value":"Weatherstack on its own site"},{"label":"Weather Unlocked","value":"Weather Unlocked on its own site"},{"label":"WeatherXu","value":"WeatherXu on its own site"},{"label":"Windy","value":"Windy on its own site"},{"label":"World Weather Online","value":"World Weather Online on its own site"},{"label":"wttr.in","value":"wttr.in on its own site"},{"label":"Xweather","value":"Xweather on its own site"},{"label":"Yandex Weather","value":"Yandex Weather on its own site"}],"range":true}],"at":[0,7,12,17,39,43,64,109,120,129,132,134,147,158,174,182,186,203,225,235,255,268,281,315,319,321,323,330,333,378,394,401,404,406,410,413,416],"fields":{"Weather forecast":["temperature","wind direction","humidity","wind speed","cloud cover","conditions","latitude","longitude","precipitation","feels-like temperature","visibility","wind gusts","dew point","precipitation chance","sunrise","sunset","UV index","pressure","minimum temperature","moon phase","conditions code","maximum temperature","time zone","moonrise","moonset","snowfall","conditions icon","precipitation type","sea-level pressure","hour","snow depth","day","forecast time","high","low","day or night","elevation","units","average temperature","date","location name","rain","UTC offset","cardinal wind direction","country code","heat index","high cloud cover","low cloud cover","maximum wind speed","precipitation probability","city name","conditions description","feels-like maximum temperature","feels-like minimum temperature","highest wind speed","icon","sunshine duration","surface pressure","time","total precipitation","total snowfall","unix timestamp","wind chill","CAPE","convective precipitation","country","local time","maximum dew point","moon illumination","ozone","precipitation amount","precipitation intensity","region","snow accumulation","solar radiation","sunrise time","sunset time","time read","water temperature","average dew point","average humidity","average precipitation probability","average visibility","average wind direction","average wind speed","chance of rain","chance of snow","condition","condition code","confidence","country name","daily conditions","daylight","daytime cloud cover","daytime humidity","daytime precipitation amount","daytime precipitation type","daytime wind direction","daytime wind speed","description","distance from requested point","feels-like high","feels-like low","forecast day","generation time","highest temperature","highest UV index","highest wind gusts","ice accumulation","lifted index","lowest temperature","lowest wind speed","maximum feels-like temperature","maximum humidity","maximum soil temperature","maximum wind gusts","medium cloud cover","mid cloud cover","minimum dew point","minimum feels-like temperature","minimum humidity","minimum soil temperature","minimum wind speed","moon","precipitation strength","rain chance","short conditions","snow","snow chance","state code","sun hours","surface temperature","thunder chance","thunderstorm chance","total rain","valid date","wave direction","wave height","wave period","wind angle","wind direction at 80 m","wind speed at 80 m","wind wave direction","wind wave height","wind wave period","10 m wind","2 m relative humidity","2 m temperature","accumulated precipitation","address","afternoon forecast","air code","air description","air quality","alert certainty","alert description","alert event","alert expiry","alert headline","alert onset","alert sender","alert severity","area name","astronomical dawn","astronomical dusk","astronomical seeing","atmospheric transparency","attribution","attribution URL","average cardinal wind direction","average cloud base","average cloud ceiling","average cloud cover","average evapotranspiration","average feels-like temperature","average freezing rain intensity","average hail probability","average hail size","average ice accumulation","average ice accumulation liquid water equivalent","average maximum temperature","average minimum temperature","average precipitation","average rain accumulation","average rain accumulation liquid water equivalent","average rain intensity","average sea-level pressure","average sleet accumulation","average sleet accumulation liquid water equivalent","average sleet intensity","average snow accumulation","average snow accumulation liquid water equivalent","average snow depth","average snow intensity","average surface pressure","average UV health concern","average UV index","average wind gusts","Beaufort description","Beaufort scale","calculation time (local)","calculation time (UTC)","cardinal wind direction at 80 m","cardinal wind direction text","chance of fog","chance of frost","chance of high temperature","chance of overcast","chance of remaining dry","chance of sunshine","chance of thunder","chance of wind","China AQI","CIN","city","city ID","city population","civil dawn","civil dusk","clear-sky solar radiation","clear-sky solar radiation source","cloud base","cloud base height","cloud ceiling","cloud cover code","cloudiness","condition icon","condition intensity","conditions code start time","conditions icon dark PNG URL","conditions icon dark SVG URL","conditions icon PNG URL","conditions icon SVG URL","conditions summary","current time","daily condition","daily quota","data expiry time","data procured time","data reported time","data sources","dataset","date and time","date basis","date epoch","day conditions","day hail chance","day heavy rain chance","day heavy snow chance","day high feels-like temperature","day high feels-like temperature lower bound","day high feels-like temperature upper bound","day high temperature","day high temperature lower bound","day high temperature upper bound","day highest UV index","day lightning chance","day precipitation chance","day rain chance","day segment","day snow chance","day start time","daylight indicator","daytime","daytime and nighttime values","daytime conditions","daytime conditions code","daytime conditions icon","daytime conditions type","daytime end time","daytime high","daytime ice thickness","daytime interval","daytime precipitation chance","daytime precipitation probability","daytime snowfall amount","daytime start time","daytime thunderstorm probability","daytime UV index","daytime wind gusts","degree days","dew point average","dew point maximum","dew point minimum","diffuse horizontal irradiance","direct normal irradiance","disclaimer","distance from the location","dominant pollutant","dominant wind direction","DWD station ID","end time","evaporation","evapotranspiration","evening forecast","fallback source IDs","feels-like average temperature","feels-like temperature average","feels-like temperature maximum","feels-like temperature minimum","fetched at","first record","fog chance","fog cover","forecast end","forecast interval","forecast start","found","freeze probability","freezing rain intensity","frost chance","geopotential height","global horizontal irradiance","graupel","ground-level pressure","hail probability","hail size","hemisphere","high temperature chance","highest clear-sky UV index","highest cloud base","highest cloud ceiling","highest cloud cover","highest conditions","highest dew point","highest evapotranspiration","highest feels-like temperature","highest freezing rain intensity","highest hail probability","highest hail size","highest humidity","highest ice accumulation","highest ice accumulation liquid water equivalent","highest likely precipitation","highest precipitation chance","highest precipitation probability","highest rain accumulation","highest rain accumulation liquid water equivalent","highest rain intensity","highest sea-level pressure","highest sleet accumulation","highest sleet accumulation liquid water equivalent","highest sleet intensity","highest snow accumulation","highest snow accumulation liquid water equivalent","highest snow depth","highest snow intensity","highest surface pressure","highest UV health concern","highest visibility","hourly forecast","hours of ice","hours of precipitation","hours of rain","hours of snow","hours of sun","ice","ice accumulation liquid water equivalent","ice chance","ice cover","ice thickness","icon ID","icon name","icon URL","individual AQI","interval","irradiance","Kp index","language","last record","leaf wetness percent","learn more URL","local source","local time epoch","location ID","location licence","location path","location type","long conditions","lowest cloud base","lowest cloud ceiling","lowest cloud cover","lowest conditions","lowest dew point","lowest evapotranspiration","lowest feels-like temperature","lowest freezing rain intensity","lowest hail probability","lowest hail size","lowest humidity","lowest ice accumulation","lowest ice accumulation liquid water equivalent","lowest likely precipitation","lowest precipitation probability","lowest rain accumulation","lowest rain accumulation liquid water equivalent","lowest rain intensity","lowest sea-level pressure","lowest sleet accumulation","lowest sleet accumulation liquid water equivalent","lowest sleet intensity","lowest snow accumulation","lowest snow accumulation liquid water equivalent","lowest snow depth","lowest snow intensity","lowest surface pressure","lowest UV health concern","lowest UV index","lowest visibility","lowest wind gusts","main parameters","max dew point","max feels-like temperature","max humidity","max temperature","max temperature ensemble","max UV index","max wind gusts","max wind speed","maximum cardinal wind direction","maximum cardinal wind direction at 80 m","maximum cloud cover","maximum heat index","maximum Kp index","maximum sea-level pressure","maximum solar radiation","maximum surface temperature","maximum wind chill","maximum wind direction","maximum wind direction at 80 m","maximum wind gust","maximum wind speed at 80 m","maximum wind strength","mean cloud cover","mean humidity","mean sea-level pressure","mean temperature","mean wind speed","midday humidity","midday sea-level pressure","midday visibility","midday wind direction","midday wind gusts","midday wind speed","middle cloud cover","midnight humidity","midnight sea-level pressure","midnight visibility","midnight wind direction","midnight wind gusts","midnight wind speed","min dew point","min feels-like temperature","min humidity","min temperature","min temperature ensemble","min visibility","minimum cardinal wind direction","minimum cardinal wind direction at 80 m","minimum cloud cover","minimum sea-level pressure","minimum solar radiation","minimum surface temperature","minimum wind chill","minimum wind direction","minimum wind direction at 80 m","minimum wind speed at 80 m","minute","minutely forecast summary","minutely forecast time","minutely precipitation","model run date","model run time","model run update time","moon always down","moon always up","moon lunation","moon up","moonrise times","moonset times","morning forecast","nautical dawn","nautical dusk","next page token","night conditions","night hail chance","night heavy rain chance","night heavy snow chance","night lightning chance","night low feels-like temperature","night low feels-like temperature lower bound","night low feels-like temperature upper bound","night low temperature","night low temperature lower bound","night low temperature upper bound","night precipitation chance","night rain chance","night snow chance","night-time low","nighttime cloud cover","nighttime conditions","nighttime conditions icon","nighttime conditions type","nighttime humidity","nighttime ice thickness","nighttime interval","nighttime precipitation amount","nighttime precipitation probability","nighttime precipitation type","nighttime thunderstorm probability","nighttime UV index","nighttime wind direction","nighttime wind gusts","nighttime wind speed","NWS forecast periods","NWS grid ID","NWS grid X","NWS grid Y","NWS location","observation type","ocean current direction","ocean current speed","ocean tide extremums","overcast chance","overnight cloud cover","overnight conditions code","overnight end time","overnight humidity","overnight precipitation amount","overnight precipitation chance","overnight precipitation type","overnight snowfall amount","overnight start time","overnight wind direction","overnight wind speed","package description","page number","page size","parameter confidence","parameter unit","phenomenon","phenomenon condition","phenomenon icon","PM10","PM2.5","PM2.5 concentration","polar day or night","pollen","precipitation accumulation","precipitation accumulation ensemble","precipitation chance over 6 hours","precipitation coverage","precipitation description","precipitation grid","precipitation hours","precipitation indicator","predictability","pressure in inHg","primary conditions","primary conditions code","provider logo","provider name","query cost","radar precipitation","rain accumulation","rain accumulation liquid water equivalent","rain intensity","rainfall","rainspot","RealFeel temperature","RealFeel temperature in shade","record maximum temperature","record minimum temperature","record type","relative humidity","request count","resolved address","samples","sea current u component","sea current v component","sea ice area fraction","sea ice thickness","sea level","sea level pressure","secondary swell direction","secondary swell height","secondary swell period","seven day outlook","severe risk","showers","simultaneous conditions","sky code","sky description","sleet accumulation","sleet accumulation liquid water equivalent","sleet intensity","snow accumulation liquid water equivalent","snow albedo","snow fraction","snow intensity","snowfall amount","soil temperature","solar azimuth angle","solar energy","solar irradiation","solar midnight","solar noon","solar radiation sum","solar zenith angle","source ID","source name","source updated at","stale","staleness minutes","start time","state","state name","station height","station latitude","station longitude","station name","station pressure","step time","storm probability","summary","sun always down","sun always up","sun up","sunrise astronomical","sunrise civil","sunrise epoch","sunrise nautical","sunrise start time","sunset astronomical","sunset civil","sunset end time","sunset epoch","sunset nautical","sunshine","sunshine chance","swell 1 direction","swell 1 height","swell 1 period","swell 2 direction","swell 2 height","swell 2 period","swell direction","swell height","swell period","temperature 10th percentile","temperature 90th percentile","temperature at 100 m","temperature at 1000 hPa","temperature at 200 hPa","temperature at 500 hPa","temperature at 80 m","temperature at 800 hPa","temperature average","temperature description","temperature maximum","temperature minimum","temporarily unavailable","thunderstorm probability","tidal current u component","tidal current v component","time zone abbreviation","timestamp","timezone","timezone abbreviation","timezone offset","total evapotranspiration","total ice accumulation","total ice accumulation liquid water equivalent","total liquid","total pages","total rain accumulation","total results","total showers","total sleet accumulation liquid water equivalent","total snow accumulation","total snow accumulation liquid water equivalent","total snow depth","unit system","update time","updated at","US AQI","UTC date","UTC time","UV health concern","UV index maximum","valid time","version","wave power","weather condition code","weather condition ID","weather icon","weather index","weather index by parameter","weather index category","weather index color","weather index description","weather index icon","weather index name","weather index type","weather symbol","weather warnings","weekday","wet bulb globe temperature","will it rain","will it snow","wind","wind chance","wind direction abbreviation","wind direction at 100 m","wind direction at 1000 hPa","wind direction at 20 m","wind direction at 200 hPa","wind direction at 30 m","wind direction at 40 m","wind direction at 50 m","wind direction at 500 hPa","wind direction at 800 hPa","wind direction at maximum speed","wind direction average","wind direction compass","wind direction name","wind gust","wind gust direction","wind gusts at 80 m","wind gusts average","wind gusts maximum","wind gusts minimum","wind scale","wind speed 10th percentile","wind speed 90th percentile","wind speed at 100 m","wind speed at 1000 hPa","wind speed at 20 m","wind speed at 200 hPa","wind speed at 30 m","wind speed at 40 m","wind speed at 50 m","wind speed at 500 hPa","wind speed at 800 hPa","wind speed average","wind speed maximum","wind speed minimum","wind strength","wind u component","wind v component","WMO station ID"]},"same":["api","strengths","aggregators","waterfall","repeatFree","resultsCap","startPerCall","monthlyFee","addons","catchAllPerThousand","bounceRefund","history","countries","fullFamilyTree","checks","searchesIn","answer"],"facets":["defaults","provider","price","fields","billing","who","freshness","use","paysFor"],"ties":{"Weather forecast":{"tied":["7Timer!, free","7Timer!, free, GET /bin/api.pl","Ambee, contact us","Ambee, contact us, Talk to us","Apple WeatherKit, $49.99 monthly","Apple WeatherKit, $49.99 monthly, 1 million calls/month","Apple WeatherKit, $49.99 monthly, 1 million calls/month, GET /api/v1/weather/{language}/{latitude}/{longitude}","Apple WeatherKit, $49.99 monthly, 1 million calls/month, GET /api/v1/weather/{language}/{latitude}/{longitude}, 1,000,000 requests a month","Azure Maps, pay as you go","Azure Maps, pay as you go, <500K","Foreca, €319 monthly","Foreca, €319 monthly, Altocumulus","Google Maps Platform, pay as you go","Google Maps Platform, pay as you go, 5,000,000+","HERE, pay as you go","HERE, pay as you go, Destination Weather: 2,501 to 200,000 transactions a month (€4.66 per 1,000)","HERE, pay as you go, Destination Weather: 2,501 to 200,000 transactions a month (€4.66 per 1,000), GET /report","HERE, pay as you go, Destination Weather: 2,501 to 200,000 transactions a month (€4.66 per 1,000), GET /report, from the 2,501st call a month","IQAir, contact us","IQAir, contact us, Enterprise","MET Norway, free","Met Office, £250 monthly","Met Office, £250 monthly, Monthly subscription (36,000 calls per day)","Meteum, contact us","Meteum, contact us, Enterprise","Meteum, contact us, Enterprise, POST /graphql/query","Open-Meteo, €160 monthly","Open-Meteo, €160 monthly, API Professional (10 million calls)","Open-Meteo, €160 monthly, API Professional (10 million calls), GET /v1/forecast","Open-Meteo, €160 monthly, API Professional (10 million calls), GET /v1/forecast, 10,000,000 requests a month","OpenWeather, £370 monthly","OpenWeather, £370 monthly, Professional","Seniverse, CNY 100 pack","Seniverse, CNY 100 pack, Extra visits 1,000,000 (额外访问量)","Weatherbit, $495 monthly","Weatherbit, $495 monthly, Business","World Weather Online, $1 monthly","World Weather Online, $1 monthly, Pro","meteoblue, top-up","meteoblue, top-up, Prepaid API"],"movedPages":{},"canonicals":{"Ambee":"free-15-day-free-trial-get-v3-weather-forecast-48hrs","API Ninjas":"free","Apple WeatherKit":"49-99-monthly-1-million-calls-month-get-api-v1-weather-language-latitude-longitude-forecastdaily","Azure Maps":"free-get-weather-forecast-daily-json","Foreca":"free-30-day-free-trial-get-api-v1-forecast-daily-location","Google Maps Platform":"free-usage-cap-get-v1-forecast-days-lookup","HERE":"free-destination-weather-0-to-2500-transactions-a-month-free-get-report-weather-report-forecast7days","Meersens":"free","Met Office":"free-plan-get-point-daily","meteoblue":"free-api-get-packages-basic-1h","Meteosource":"free","Meteum":"free-trial-post-graphql-query-forecast-by-parts-of-the-day","MetGIS":"free","Oikolab":"pay-as-you-go","Open-Meteo\nGET /v1/forecast\nWeather forecast, full":"free-get-v1-forecast-weather-forecast-full","Open-Meteo":"free-get-v1-forecast-weather-forecast","OpenWeather":"free-get-data-2-5-forecast","ReefAPI":"free","Seniverse":"free-trial-get-v3-weather-daily-json","Stormglass":"free","Strale":"free","Tomorrow.io":"free","Visual Crossing":"free","Weather Unlocked":"free","WeatherAPI.com":"free","Weatherbit":"free-get-v2-0-forecast-daily","Weatherstack":"49-99-monthly","WeatherXu":"free","Windy":"free","World Weather Online":"free","Xweather":"free","Yandex Weather":"free"}}},"shared":[],"notes":{"name":"The sheet's first column gives each row's name. No two rows on the sheet share a name. The name starts with the provider, then the plan's price. Some names: \"API Builderz, $50 monthly\", \"HarvestAPI, $280 pack\", \"Crawlbase, pay as you go\", \"Bright Data, top-up\" (a prepaid balance of any amount), \"AnyAPI, top-up from $10\" (a balance you top up by $10 or more), \"free\" or \"contact us\". Two plans with the same price also get the plan's name. We drop any words in the plan's name that the price already gives. If two rows share a name after that, we add the call's method and path to each name. When two names still match, we add the plan's units. When they still match after that, we add the call's name. The sheet's own CSV and JSON files have no name column. datacircle.json and datacircle.csv have a name column with the same names as the sheets.","api":"This column names each row's API. Each API has a sheet in the GTM APIs list. Most sheets share the API's name. For the rest, we give the sheet's name after the API. \"Employee profile\", on the LinkedIn profiles sheet, returns a person's LinkedIn profile. \"Employee email\", on the Find email sheet, finds a person's work email. \"Email validation\", on the Validate email sheet, checks whether an email address takes mail. \"Employee phone\", on the Find phone sheet, finds a person's phone number. \"Company profile\", on the LinkedIn company profiles sheet, returns a company's LinkedIn page. \"Company headcount\" counts a company's staff. \"Phone validation\", on the Validate phone sheet, checks whether a phone number is valid. \"Post comments\", on the LinkedIn post comments sheet, returns the comments on a LinkedIn post. \"Post reactions\", on the LinkedIn post reactions sheet, returns the reactions to a LinkedIn post, each with the person who reacted. \"Employee lookalikes\", on the Similar people sheet, returns people similar to the person you send. \"Company lookalikes\", on the Similar companies sheet, returns companies similar to the company you send. \"Company technologies\" returns the tools a company uses. \"Company job count\" counts the jobs a company has open on LinkedIn. \"Employee posts\", on the LinkedIn person posts sheet, returns a person's LinkedIn posts. \"Company posts\", on the LinkedIn company posts sheet, returns a company's LinkedIn posts. \"Company funding\" returns a company's funding rounds. \"Company jobs\", on the Company open jobs sheet, returns the jobs a company has open. \"Employee search\", on the LinkedIn people search sheet, finds people by job title, company and place. \"Company search\", on the LinkedIn company search sheet, finds companies by industry, size and place. \"Job search\", on the LinkedIn job search sheet, finds jobs by title, company and place. \"Reverse email lookup\" finds the person behind an email address. \"Post search\", on the LinkedIn post search sheet, finds posts by keyword. \"Post details\", on the LinkedIn post details sheet, returns a post from the post's URL or ID. \"Job details\", on the LinkedIn job details sheet, returns a job from the job's URL or ID. \"Employee comments\", on the LinkedIn person comments sheet, returns the comments a person left on posts. \"Employee reactions\", on the LinkedIn person reactions sheet, returns the posts a person reacted to. \"Post reposts\", on the LinkedIn post reposts sheet, returns the people who reposted a LinkedIn post. \"Employee recommendations\", on the LinkedIn person recommendations sheet, returns the recommendations on a person's LinkedIn profile. \"Job lookalikes\", on the Similar jobs sheet, returns jobs similar to the job you send. \"Employee articles\", on the LinkedIn person articles sheet, returns a person's LinkedIn articles. \"Company enrichment\" returns a company's profile from each seller's own database. \"People search\" finds people in each seller's own database. \"Company discovery\" finds companies in each seller's own database. \"Job postings\" finds job postings in each seller's own database. \"Job posting details\" returns a job posting from the posting's ID. \"Person enrichment\" returns a person's profile. \"Leadership changes\" returns the new hires, promotions and departures in a company's senior roles. \"Company hierarchy\" returns a company's parent companies and subsidiaries. \"Web search\" returns the web pages that match a query. \"SERP\" returns a search engine's results page as data. \"News search\" returns the news articles that match a query. \"Image search\" returns the images a search engine finds for a query, in the order the engine ranks them. \"Video search\" returns the videos a search engine finds for a query, in the order the engine ranks them. \"Search autocomplete\" returns the searches a search engine suggests as you type a query. \"Web scraping\" returns a page's content from the page's URL. \"Keyword research\" returns a keyword's search volume, cost per click and competition. \"Ranked keywords\" returns the keywords a domain ranks for in Google, with the domain's position and traffic for each keyword. \"Related keywords\" returns keywords like the keyword you send, with the search volume of each. \"Backlinks\" returns the links that point to a domain. \"Domain authority\" returns a domain's authority score and the number of links to the domain. \"X profile\" returns an X (Twitter) account's profile from the account's handle. \"X posts\" returns an X account's posts. \"Instagram profile\" returns an Instagram account's profile. \"Instagram posts\" returns an Instagram account's posts. \"TikTok profile\" returns a TikTok account's profile. \"TikTok videos\" returns a TikTok account's videos. \"YouTube channel\" returns a YouTube channel's name, subscribers and description. \"YouTube channel videos\" returns a YouTube channel's videos. \"Reddit profile\" returns a Reddit account's profile. \"Reddit posts\" returns a Reddit account's posts. \"Facebook page\" returns a Facebook page's details from the page's URL. \"Facebook posts\" returns a Facebook page's posts. \"Threads profile\" returns a Threads account's profile. \"Threads posts\" returns a Threads account's posts. \"Bluesky profile\" returns a Bluesky account's profile. \"Bluesky posts\" returns a Bluesky account's posts. \"Telegram channel\" returns a Telegram channel's details. \"Telegram channel posts\" returns a Telegram channel's posts. \"Pinterest search\" returns the pins Pinterest finds for a query. \"Pinterest pin\" returns a Pinterest pin's details. \"Pinterest board pins\" returns the pins on a Pinterest board. \"Pinterest user boards\" returns a Pinterest account's boards. \"Hacker News search\" returns the Hacker News stories for a query. \"Hacker News story comments\" returns the comments on a Hacker News story. \"Twitch profile\" returns a Twitch channel's profile. \"Twitch videos\" returns a Twitch channel's videos. \"Twitch clip\" returns a Twitch clip's details. \"Kick clip\" returns a Kick clip's details. \"Snapchat profile\" returns a Snapchat account's profile. \"Truth Social profile\" returns a Truth Social account's profile. \"Truth Social posts\" returns a Truth Social account's posts. \"GitHub profile\" returns a GitHub account's profile. \"GitHub repository\" returns a GitHub repository's details. \"GitHub user repositories\" returns a GitHub account's repositories. \"Douyin profile\" returns a Douyin account's profile. \"Douyin user videos\" returns a Douyin account's videos. \"Douyin video\" returns a Douyin video's details. \"Weibo profile\" returns a Weibo account's profile. \"Weibo user posts\" returns a Weibo account's posts. \"Weibo post\" returns a Weibo post's details. \"Xiaohongshu profile\" returns a Xiaohongshu (RedNote) account's profile. \"Xiaohongshu user notes\" returns a Xiaohongshu account's notes. \"Xiaohongshu note\" returns a Xiaohongshu note's details. \"Zhihu profile\" returns a Zhihu account's profile. \"Zhihu question answers\" returns the answers to a Zhihu question. \"Kuaishou profile\" returns a Kuaishou account's profile. \"Kuaishou user videos\" returns a Kuaishou account's videos. \"Kuaishou video\" returns a Kuaishou video's details. \"Bilibili user videos\" returns a Bilibili account's videos. \"Bilibili video\" returns a Bilibili video's details. \"Facebook ads\" returns a company's ads from Meta's Ad Library. \"Google ads\" returns a company's ads from Google's Ads Transparency Center. \"LinkedIn ads\" returns a company's ads from LinkedIn's Ad Library. \"TikTok ads\" returns a company's TikTok ads. \"G2 reviews\" returns a software product's reviews on G2. \"Capterra reviews\" returns a software product's reviews on Capterra. \"Trustpilot reviews\" returns a company's reviews on Trustpilot. \"Glassdoor reviews\" returns a company's reviews on Glassdoor, written by people who work or worked there. \"App Store app\" returns an app's listing on the App Store from the app's App Store ID. \"App Store reviews\" returns an app's reviews on the App Store. \"Google Play app\" returns an app's listing on Google Play from the app's package name. \"Google Play reviews\" returns an app's reviews on Google Play. \"Amazon product\" returns a product's listing on Amazon from the product's ASIN. \"Amazon search\" returns the products Amazon finds for a query, in the order Amazon ranks them. \"Google Shopping product\" returns a product's offers on Google Shopping from the product's Google Shopping ID. \"Walmart product\" returns the Walmart listing for a Walmart ID. \"Walmart search\" returns the products Walmart finds for a query, in the order Walmart ranks them. \"eBay product\" returns the eBay listing for a listing ID. \"eBay search\" returns the listings eBay finds for a query, in the order eBay ranks them. \"TikTok Shop product\" returns the listing at a TikTok Shop product link. \"TikTok Shop search\" returns the products TikTok Shop finds for a query, in the order TikTok Shop ranks them. \"Facebook Marketplace listing\" returns one listing from the listing's link or ID. \"Facebook Marketplace search\" returns the listings Facebook Marketplace shows for a search term in a city. \"Zillow search\" returns the homes Zillow lists in a place, in the order Zillow ranks them. \"Zillow property\" returns a home's Zillow listing from the home's Zillow URL. \"Redfin search\" returns the homes Redfin lists in a ZIP code, in the order Redfin ranks them. \"Redfin property\" returns a home's Redfin listing from the home's Redfin URL. \"Realtor.com search\" returns the homes Realtor.com lists in a place, in the order Realtor.com ranks them. \"Realtor.com property\" returns a home's Realtor.com listing from the home's Realtor.com ID. \"Google Hotels search\" returns the hotels and rentals Google Hotels lists in a place for your dates. Each one has a price for a night and for the stay. \"Google Hotels property\" returns a hotel's page for your dates when you send the hotel's token from a Google Hotels search. The page has the hotel's price on each booking site. \"Booking.com search\" returns the stays Booking.com lists in a place for your dates, each with a price for the stay. \"Booking.com property\" returns a stay's Booking.com page for your dates from the stay's Booking.com URL. \"Airbnb search\" returns the stays Airbnb lists in a place for your dates, each with a price for the stay. \"Airbnb listing\" returns a stay's Airbnb listing from the listing's Airbnb URL, with no price. \"Tripadvisor search\" returns the places Tripadvisor finds for a name you send. \"Tripadvisor reviews\" returns a place's reviews on Tripadvisor from the place's Tripadvisor URL. \"CarGurus search\" returns the cars for sale on CarGurus for a make and model near a ZIP code you send. Each car comes with the asking price and CarGurus's deal rating. \"CarGurus listing\" returns a car's CarGurus listing from the listing's ID. \"AutoScout24 search\" returns the cars AutoScout24 lists for a make and model you send. \"mobile.de search\" returns the cars mobile.de lists for a make and model you send. \"mobile.de listing\" returns a car's mobile.de listing from the listing's ID or URL. \"Copart lot\" returns a car up for auction on Copart from the lot's number, with the damage and the sale date. \"IAAI lot\" returns a car up for auction on IAAI from the lot's number, with the damage and the sale date. \"AutoScout24 listing\" returns a car's AutoScout24 listing from the listing's ID or URL. \"Auto Trader UK search\" returns the cars Auto Trader UK lists for a make and model you send. \"Auto Trader UK listing\" returns a car's Auto Trader UK listing from the listing's ID or URL. \"Bring a Trailer search\" returns the auctions Bring a Trailer has closed for a query you send, with what each car sold for. \"Bring a Trailer lot\" returns a car's auction on Bring a Trailer from the lot's listing ID or URL. \"VIN decoder\" returns a vehicle's make, model, year and specs from the VIN you send. \"Current weather\" returns the weather now at the latitude and longitude you send. You get temperature, humidity, wind, pressure and conditions, with the unit of each. \"Weather forecast\" returns the forecast for the latitude and longitude you send, hour by hour or day by day. \"Air quality\" returns the air quality now at the latitude and longitude you send. You get the air quality index, particle levels and gas levels. \"App Store search\" returns the apps the App Store finds for a query, in the order the App Store ranks them. \"Google Play search\" returns the apps Google Play finds for a query, in the order Google Play ranks them. \"ChatGPT answer\" returns ChatGPT's answer to a prompt. \"Perplexity answer\" returns Perplexity's answer to a prompt. \"Gemini answer\" returns Gemini's answer to a prompt. \"Bing Copilot answer\" returns Bing Copilot's answer to a prompt. \"Business verification\" looks a company up by legal name in a state's register and returns the register's record of the company.","score":"We score each plan out of 100 on five parts: price, data, cost to get started, bundled calls and performance. We score data and performance from our benchmark of the provider's call. Until we benchmark the call, the plan's data, performance and Overall scores are N/A. The data, performance and Overall scores are also N/A on a plan that lacks a check or feature the benchmarked plan has. A plan whose data score is 0 has an Overall score of 0, whatever the plan's other scores. Each API's sheet shows what we measured on each benchmarked plan, in the columns after the price. We rank a plan's price per 1,000 against the other scored plans of the same API. We score cost to get started and bundled calls on the plan alone. We give N/A to yearly plans, contact us plans and plans over $500 to start. We also give N/A to plans bought on a marketplace and plans that need your own LinkedIn or X account. We score a free plan only when the provider has no paid plan for that call. The free plan must never end. Any limit on the plan's calls must reset each day or sooner. Other free plans get N/A. A plan we don't score gets no score for any of the five parts, even when we benchmarked the call. Click Score in the sheet's bar to set the five weights. The JSON, datacircle.json and datacircle.csv give each plan's score at the default weights. A plan with N/A has an empty score in the JSON, datacircle.json and datacircle.csv. The sheet's CSV has no scores.","Price score":"The plan's price score out of 100. We rank the plan's $ per 1,000 against the $ per 1,000 of the other scored plans of the same API. We also count the cost of a call that finds nothing. Some plans give no $ per 1,000. For those plans, when each call returns one result, we use the price our benchmark paid per call. We scale that price by what a credit costs on the plan. We skip our benchmark's price for a plan if another paid plan for the same call lists a $ per 1,000. Plans for one call can each charge a different price per call. On the sheet, click or tap the score to see how we worked out the score.","Data score":"The plan's data score out of 100, from our benchmark of the provider's call. On some APIs, the score measures how complete the call's answer is. On others, the score measures how often the answer is right. We lower the score when we test the call on fewer inputs than the benchmark has. Until we benchmark the call, the score is N/A, and so is the Overall score. The data, performance and Overall scores are also N/A on a plan that lacks a check or feature the benchmarked plan has. On the sheet, click or tap the score to see how we scored the plan. Each API's sheet shows what we measured on each benchmarked plan, in the columns after the price.","Cost to get started score":"The plan's score out of 100 for getting your first result. The score weighs who can get the plan, how you pay, and the least you pay to start. On the sheet, click or tap the score to see why.","Bundle score":"The plan's score out of 100 for the other calls the plan's price gets you. Also pays for lists those calls. On the sheet, click or tap the score to see why.","Performance score":"The plan's performance score out of 100, from our benchmark of the provider's call. We divide the fastest benchmarked provider's median time by this provider's median time. We compare live calls with live calls, and calls that answer from a copy with each other. A median under 0.1 s counts as 0.1 s, since the baseline we take off varies by about that much. The Performance score and the Overall score are N/A until we benchmark the call. The data, performance and Overall scores are also N/A on a plan that lacks a check or feature the benchmarked plan has. If the call gave no answer we could time, the Performance score is N/A. The Overall score then counts Performance as 0. The Performance score is N/A when we timed no other call of the same kind in the same benchmark. The Overall score then leaves Performance out. On the sheet, click or tap the score to see how we scored the plan. Each API's sheet shows what we measured on each benchmarked plan, in the columns after the price.","perThousand":"The price of 1,000 places on this plan, in dollars. The price is 0 on a free plan. On a plan that charges by the call, each call asks for one place. We add the Start fee to each place's price. On a plan that charges by the page, we divide a page's price by the most results one page holds. Then we multiply by 1,000. We leave the price blank when the provider doesn't say how many results a page holds. On a search that charges by the page, we price the first page of each search, whatever the page holds. On a flat fee, we take the most places the plan allows in one month. We multiply those places by the months the fee covers. We divide the fee by that total. Then we multiply by 1,000. We leave the price blank when the provider doesn't say how many places the plan allows. A plan with no end date and only limits per second, minute, hour or day has no cap on places. A flat fee with no cap on places shows \"no limit\" on the sheet. We leave the price blank in the CSV and JSON. On a waterfall's paid plan, we show the average cost of a call. We take the price of each provider listed under Waterfall. We weight each price by how often a call reaches that provider. We leave the price blank when a provider a call can reach has no hit rate or page size. On a plan with a Monthly fee, we first subtract one month of the fee from the plan's units. Then we divide the plan's price by the number of places the remaining units buy. Then we multiply by 1,000. We leave the price blank when the Monthly fee uses up all the plan's units. Some plans limit calls per second, minute, hour, day or month. We divide the price by the places the limit allows, if that is fewer than the places you pay for. Then we multiply by 1,000. We leave the price blank on a top-up, because a top-up buys no fixed number of places. We also leave the price blank when the provider's website doesn't say what a place costs on this plan. We leave the price blank, too, when the website doesn't say how many places the price buys.","per":"The price counts a \"call\" or a \"result\". A call asks for one place. A result is each place a call returns. Some calls return a page of results. \"result\" means you pay for each result on the page. \"page of 50\" means you pay for each page of up to 50 results. You pay for a whole page even when the page holds fewer than 50. In the JSON, resultsPerPage is the most results a page holds. resultsPerPage is null when the price isn't per page or the provider doesn't say the page size. \"page, size not stated\" means the provider doesn't say how many results a page holds. On a search, a call is one search, and a \"page of 10\" holds up to 10 results. The price is for the first page of each search. Each further page costs the same as the first page.","billing":"How you pay. \"free\": the plan costs nothing. \"on-demand\": you pay for what you use, with nothing to buy first. \"one-time\": a pack or a top-up you pay for first, then use. \"contact\": no public price, so you ask the provider for one. A subscription: \"monthly\", \"quarterly\" (every three months), \"half-yearly\" (every six months) or \"yearly\". The sheet shows \"one-time\" as \"pay first\" and \"on-demand\" as \"pay as you go\".","perMonth":"On a subscription: the plan's price for one month in dollars. We divide the plan's Pay by the months the plan buys (termMonths), 12 on most yearly plans. We work out this price for the sheet, to the cent. The sheet's CSV and JSON leave this price out. datacircle.json and datacircle.csv have this price. Blank (null) on every other plan.","notFoundPerThousand":"What you pay for 1,000 places the provider has no forecast for. 0 when the provider charges nothing for them, as on free plans. On a waterfall, the cost of a call when no provider finds the answer. That cost is the sum of the prices of the providers that charge for a miss.","strengths":"The plan's strengths, which we work out from the plan's row. Each strength is a band that many plans of the same API are in. Strengths differ by API. We list and explain them under Strengths on datacircle.dev/fields. Only LinkedIn profiles and Find email have strengths so far. Blank ([] in the JSON) when the plan has none, and then the plan's page leaves Strengths out. Under Filters, you see only the rows with every strength you tick.","aggregators":"Aggregators like treg and Deepline sell the row's call. With one aggregator account, you reach many providers. Each cell gives what a call costs through the aggregator with your own provider key. The cell also gives what 1,000 places cost when you pay the aggregator and have no account at the provider: \"treg: your key free, paid $1.50\". We add \"per 1,000 results\" when the aggregator charges per result found. We say \"paid, no fixed price\" when the aggregator publishes no price. When an aggregator charges by the page, we divide a page's price by the most results one page holds. Then we multiply by 1,000. We write \"paid, page size not stated\" when the aggregator doesn't say how many results a page holds. Some aggregators list the call but don't say whether you pay them or use your own key. For those, we write \"listed, how it's sold not stated\". An aggregator may sell one of the provider's calls without saying which. Then the cell ends with \"this call or another\", the provider's name and \"call\": \"this call or another Pubrio call\". A cell says \"none\" when no aggregator we checked for the row's API sells the call. A blank cell (null in the JSON) means we haven't checked any aggregator for that API. We skip calls an aggregator doesn't list. In the JSON, each aggregator has these keys. aggregator is the aggregator's name. url is the aggregator's page for the call. ownKey is what a call costs there with your own key, or null when you can't use yours. paid is true when you can pay the aggregator. paid and ownKey are both null when the aggregator doesn't say how the call is sold. callStated is false when the aggregator doesn't say whether the call is this one or another of the provider's. usd is the aggregator's price in dollars for one per, or null when the aggregator sets no price. perThousand is the aggregator's price in dollars for 1,000. per is \"call\", \"result\" or \"page\". resultsPerPage is the most results a page holds, or null.","waterfall":"Some routers, like treg's, try one provider after another until one finds the answer. On a router's call, the Waterfall column lists each provider the router tries, in order. Each provider shows the router's name for the provider's call in brackets. Then we give the provider's price per 1,000 on this plan and how often the provider finds the answer. We add \"misses billed\" when the provider charges for a miss. When a provider charges by the page, we divide a page's price by the most results one page holds. Then we multiply by 1,000. We write \"page size not stated\" when the provider doesn't say how many results a page holds. The router publishes how often each provider finds an answer over all the router's calls. We assume each provider finds answers at that same rate on the calls the earlier providers miss. We leave the Waterfall column blank on calls with a single provider. In the JSON, each step has these keys. provider is the provider's name. call is the provider's call, which you can also make alone. perThousand, per and resultsPerPage mean the same as on a plan's row. hitRate is from 0 to 1, or null when the router gives none. missesBilled is true when the provider charges for a miss.","repeatFree":"On a call that costs units: how long you can get a paid place again for free. On a flat fee with a call limit, the time before the same place counts toward the limit again. We copy the time from the provider's pages, like \"20 minutes\". \"no limit\" means the provider never charges again for a place you paid for once. \"never\" means the provider charges each time you get the place again. Blank when the provider's pages don't say.","resultsCap":"For a search API: the most results one search gets on this plan, however many pages you ask for. \"no limit\" when the provider says you can get every match. Blank (null in the JSON) when the provider's docs don't say, or when the API isn't a search. On a plan that charges by the page, you pay for each page you ask for.","startPerCall":"A fee in dollars you pay once for each call, on top of the price per place. An Apify Actor's start fee is one. You pay the same fee for a call of 1,000 places or a call of one place. On a plan that charges by the call, each call asks for one place. On that plan, the $ per 1,000, List $ per 1,000, Overage and Enough for columns all count the Start fee. On a plan that charges by the result or the page, a call can return any number of results. On those plans, the $ per 1,000, List $ per 1,000, Overage and Enough for columns leave the Start fee out. The Start fee is $0.00 on a free plan, and blank when the plan has no start fee. A provider's page can give a range, like \"2-3 credits\". startPerCall then holds the lowest fee and startPerCallMax holds the highest. The sheet and the CSV show \"$0.04 to $0.06\". startPerCallMax is blank on a plan with one start fee or none.","monthlyFee":"A monthly fee the call needs. The provider takes the fee from the plan's units. For example, RouterGrowth charges $9.625 a month for each LinkedIn account you connect. monthlyFee is the fee in dollars. monthlyFeePer is what one fee pays for, like \"LinkedIn account\". The Enough for and $ per 1,000 columns count what is left after one month of the fee. Blank (null in the JSON) when the call has no monthly fee.","extras":"Fields that cost more than the row's price. Each group of extra fields has fields and perThousand. perThousand is the price you pay on top of the row's price. Some providers charge for each search and also for the extra fields on each result. For those providers, perThousand is the price for 1,000 searches. We assume each search returns the most results the plan allows.","Also pays for":"The other calls you get for the plan's price. The other calls each have a separate limit. We use the provider's words. When a plan pays for more than 40 other calls, we write their count instead, like \"300 other calls\". We leave out apps, extensions, MCP servers, proxies and storage, since they are not calls. We also leave out features you can use only in the provider's app, like sending the provider's email campaigns. For example, gtm-api.com's account price also buys 100 searches, 50 messages and 25 connection requests a day. \"nothing\" when you get only the row's call. The row's $ per 1,000 is for that call alone, since providers don't say how to split their price. Blank (null in the JSON) until we read the provider's plan. Also blank on a \"contact\" plan whose pages don't say what the price buys.","overagePerThousand":"On a subscription: dollars for each 1,000 places you get past the plan's units, when the provider sells extra places. On a plan that charges by the call, Overage includes the Start fee.","unitsCap":"\"hard\" means calls stop once the plan's units run out. \"soft\" means calls go on after the plan's units run out. Those calls cost the Overage price when the provider gives one. Blank (null in the JSON) when the provider's pages don't say.","addons":"On an email API's subscription: the packs of units the provider sells on top of the plan. We read them on the pricing page. Each pack has units and pay, in the plan's currency. renews is \"month\" or \"year\" when you pay for the pack again with the plan. renews is \"never\" when you buy the pack once. perThousand is dollars for 1,000 emails at the pack's price. The sheet's CSV says \"500 credits a month for $10 ($20.00 per 1,000)\". An empty list when the provider sells none. Blank (null) on every other plan.","catchAllPerThousand":"On an email API: dollars for 1,000 calls that return an address at a catch-all domain. Such a domain takes mail for any address. So you can't check whether the person's mailbox exists, and the email may bounce. 0 when such calls cost nothing, or when the provider returns no such address. The same as the row's $ per 1,000 when the provider charges for any address found. Blank when the provider's pages don't say.","bounceRefund":"On an email API: the credit or refund the provider gives when a paid address bounces. Also the conditions, in the provider's words, like \"the credit, reported from the dashboard or the API and reviewed\". \"never\" when the provider's pages say a bounced address stays charged. Blank when the pages don't say.","pitch":"How the provider sells the row's call, quoted from the call's own page. When one page covers all the provider's calls, we quote the provider's own pitch. \"[...]\" marks a cut.","freshness":"How old the answer may be, from the provider's pages. \"live\": the provider gets the data at the moment you call. The provider reads sources like LinkedIn, company websites, job boards, search results, keyword data or a page you send. Or the provider finds or checks an email or phone number at the moment you call. Some providers keep each answer for an hour or less. They give the same answer to anyone who asks the same question in that time. We call such a plan \"live\" too. Renidly keeps each answer for 20 minutes. \"1 month\" or \"30 days\": the provider answers from a copy refreshed that often. \"as of 2025-11-13\": from a copy last refreshed that day. \"stored\": from a copy the provider's pages don't date. Some email or phone checks read only the format, the domain's DNS and the provider's own lists. We mark those checks \"stored\" too. Such a check never asks the mail server or the carrier. Freshness is blank (null in the JSON) when the provider's pages don't say how fresh the answer is. Freshness is also blank when the pages don't agree with each other. A plan whose Freshness says a copy is on the API's sheet, beside the plans that read live. In brackets, we list the fields whose freshness differs on the provider's pages. fieldFreshness gives the freshness of each of those fields. Bright Data's LinkedIn profile is \"live (current title, jobs, schools: as of 2025-11-13)\". LinkedIn put those three behind a login wall, so Bright Data serves them from a cache.","history":"How far back the answers reach, on an API whose answers are dated. A company's funding rounds and open jobs are dated. \"since 2016\": back to 2016. \"open only\": only what is open now. \"the last 7 days\": a window that ends today. \"no limit\": every one ever. \", closed only\" after a value: the closed ones alone. Blank (null in the JSON) when the provider's pages don't say, or when the answers aren't dated.","countries":"On Validate phone, the countries whose numbers the call checks, like \"United States\". We take them from the provider's pages. \"Worldwide\": the call checks numbers from any country, or from over 100 countries. Blank (null in the JSON) until we read the countries on the provider's pages. Also blank when the provider's pages don't list the countries. Always blank on every other API.","fullFamilyTree":"On Company hierarchy, this column says whether one call gives the whole family tree. The whole tree runs from the top parent down each branch. \"yes\" (true in the JSON): one call gives the whole tree, counting every page of results the call returns. \"no\" (false): one call gives part of the tree, like the parents or one level of subsidiaries. You call again for each company to get the rest. The column is blank (null in the JSON) until we read the provider's website. The column is also blank when the provider's website doesn't say. Always blank on every other API.","checks":"This column lists the checks each call makes, as the provider's pages describe them. You find this column on the Validate email and Validate phone sheets. On Find email, the column lists the checks a finder makes on an address before giving you the address. A finder that asks the mail server takes longer than a finder that doesn't. On an email, \"format\": the address is well formed. \"mail servers\": the domain has servers that take mail. \"disposable domains\": the call spots a domain on a list of throwaway domains. \"role addresses\": the call spots a shared address, like sales@. \"mailbox\": the call checks with the mail server that the mailbox exists. On a number, \"numbering plan\": the number fits the rules of the number's country. \"carrier\": the call finds the carrier the number is with today. If the owner moved the number to a new carrier, you see the new carrier. \"line in service\": the call checks with the network that the line is live. \"messaging apps\": the call checks with a messaging app, like WhatsApp, that the number has an account there. A call without \"mailbox\" doesn't check the mailbox. Such a call can pass an address that bounces. The column is blank (null in the JSON) until we read the provider's pages. Also blank when the provider's pages don't say. Always blank on every other API.","searchesIn":"This column says where the call looks for posts. We read where the call looks on the provider's pages. You find this column on the LinkedIn post search sheet. \"LinkedIn's search\": the call runs LinkedIn's own search. \"Google's index\": the call searches Google for LinkedIn posts. Google sets how many posts the call can find. New posts show up only after Google indexes them. \"a search engine's index\": the call searches another search engine for LinkedIn posts. We also mark a call \"a search engine's index\" when the provider's pages don't name the search engine. \"the provider's own database\": the call searches a copy of LinkedIn posts the provider keeps. We leave the column blank (null in the JSON) when the provider's pages don't say. We leave the column blank for every other API.","keep":"How long the provider's terms let you keep the API's answers. \"no limit\" when the terms set none. \"no API terms\" when the provider has no API terms.","use":"What the provider's terms let you use the API's answers for. Also what the terms ask in return, like a link back or a credit. \"any\" when the terms limit nothing and ask nothing. \"no API terms\" when the provider has no API terms.","pay":"The plan's price, in the plan's currency. On a subscription, the price covers the months in termMonths. In the sheet's CSV, we write the months after the price. Some examples: \"$39.00/month\", \"€99.00/month\" on a plan in euros, or \"$468.00/15 months\" on gtm-api.com's yearly plan. A pack's Pay is the pack's price. A top-up's Pay is the smallest amount you can top up. On a top-up with no minimum from the provider, Pay is blank (null in the JSON). A free plan's Pay is $0.00. On a usage tier, Pay is what you pay each month for your calls below that tier. Each of those calls costs the price of the tier the call is in. Some tiers have a minimum. If your calls below the tier cost less than the minimum, you pay the minimum. When a usage tier sits on a subscription, you also pay the plan's price. Crawlbase has a tier for the next 10M requests. On that tier, Pay is $583: what you pay each month for your calls below the tier. On Mailgun's Foundation plan, you pay $95 a month for up to 5,000 validations. The $95 is the $35 plan plus $60 for the validations. On a pay-as-you-go plan, the sheet's Pay column shows Charged.","units":"What the plan gives for the price, counted in unit. On a usage tier, where the tier starts: \"from the 51st call a month\".","calls":"The number of places you get for the plan's price, counted in per. On a plan that charges by the page, calls and monthlyCap count pages. calls is the number of places the plan's units pay for: \"100 calls, once\" for a free trial, \"1,250 results a month\" for an allowance. On a plan that charges by the call, calls is the plan's units divided by the cost of one call. That cost includes the Start fee. A plan can limit calls per day or per month. Then calls is the most calls the limit allows before the units renew. The limit counts each call as one place. On a plan that charges by the page, the limit counts each call as one page. Say a plan allows 10,000 requests a month and 200 calls a day. You get 6,000 calls a month, because 30 days of 200 calls is 6,000. Some providers count each result toward the limit. A list you send in one call counts one result for each row. When a provider counts results, limitsCountedIn says \"result\", and calls and monthlyCap count results. A limit of 2,000 results a day allows 60,000 results in a month of 30 days. We fill monthlyCap when a call costs 0 units, like a call on a flat fee. monthlyCap is the most places you get a month, or \"no limit\". On a plan with a daily or monthly limit, monthlyCap is the most calls in 30 days. 3,000 calls a day make 90,000. The Enough for column shows 3,000 calls a day as \"90,000 calls a month\". Any plan can limit calls per hour, minute or second. calls and monthlyCap also hold the most calls a limit per hour, minute or second allows. A limit of 50 calls an hour allows 36,000 calls in 30 days. We count a call limit in monthlyCap only when each call returns one place or a fixed-size page. On a free trial shorter than 30 days, monthlyCap is the most calls you get over the whole trial. The trial's calls never renew. A 7-day trial with 1,000 calls a day shows as \"7,000 calls, once\". Enough for shows calls, or monthlyCap when a row has no calls. On a plan with a Monthly fee, the provider first takes one month's fee from the plan's units. calls counts the calls left after the fee. We count the calls again each time the provider refills the plan's units. Enough for says \"0 calls left after the monthly fee\" when the fee uses up all the plan's units. Enough for is blank when the provider doesn't say how many places you get. Enough for is also blank on pay as you go plans and on top-ups. Enough for is blank too on subscriptions that charge for each place on top of the fee. Enough for is also blank when a waterfall's average call costs nothing. calls and monthlyCap are null when Enough for is blank.","expires":"When the units you don't use lapse, in the provider's words: \"never\", \"365 days\", \"at renewal: unused credits do not carry over\". Blank when the provider's pages don't say.","perDay":"The most calls a day. Some providers count each result of a call instead, like each row of a list. limitsCountedIn says what the provider counts: \"call\", \"result\" or \"page\". The provider counts the same unit for this column and for the plan's monthly limit. limitsCountedIn says \"call\" when the provider's docs don't say.","perSecond":"The most calls a second you can keep up. When the provider counts a limit over a longer window, we divide the limit. We divide a limit per minute by 60, per 5 minutes by 300, per hour by 3,600. When the provider sets several limits, we show the tightest: 25 a second and 40 a minute is 0.67. We round to two decimals. A rate under 0.1 keeps two digits past the zeros: 5 an hour is 0.0014.","concurrent":"The most calls running at once, or \"no limit\". \"n/a\" when the provider sets no cap on calls at once but limits calls by the second. Then Per second sets your limit. Blank (null) when the provider's pages don't say.","batch":"The most places in one call on this plan. 1 when the call takes one at a time. \"no limit\" when the provider says a call takes any number. Blank (null) when a call takes a list and the provider's pages don't say how many. A call that refuses fewer than a set number shows the fewest and the most, like \"2,000 to 2,000,000\". A call that needs at least 2,000 and has no top limit shows \"2,000 or more\". A call that needs at least 2,000 shows \"at least 2,000\" when the provider's pages don't give the top limit.","answer":"The way you get the call's answer. \"in the call\" when the call's response holds the answer. \"by polling or webhook\" when the call returns a job. Once the job is done, you get the answer from another call or at your webhook. \"in the call or by polling\" when the call returns the answer if the answer is ready in time. If the answer isn't ready, the call returns a job you check later. An Apify Actor returns a job when the run goes past 5 minutes. \"in the call or by webhook\" when you choose in your request. \"by polling\" when only another call gets the answer. \"by webhook\" when only a URL you give gets the answer. Blank (null) when the provider's pages don't say.","latencyMs":"The median time a call takes. For a benchmarked call, we show our benchmark's median. The API's benchmark columns show the same median. From each call's time, we subtract the mean time of three free calls to the same provider, made just before. If that mean is longer than the call, we use the provider's median baseline instead. We cap the baseline at the call's time, so no time is below zero. For a call we didn't benchmark, we show the time from the provider's pages. Or we show a time we measured when we added the row. On a plan without a check or feature of the benchmarked plan, we show the provider's time or our own. We leave the median blank (null) when we have no time. We also leave the median blank when the benchmarked call gave no answer we could time. The JSON and datacircle.csv give the time in milliseconds. The sheet and the sheet's CSV give the time in seconds.","send":"What you give the call: a latitude and longitude. The call needs the inputs before \"Optional:\". The optional ones come after \"Optional:\", or after a semicolon in the CSV and the JSON.","method":"The call's HTTP method.","path":"We give the path from the provider's docs. When that path fails, we give the path that works. Each plan of a call has the same path. A plan the provider serves at a separate address has a separate path.","plan":"The plan's name on the provider's pricing page.","who":"Who the provider offers the plan to: \"anyone\", or the condition the provider's pages set, like \"anyone with a work email\" or \"on approval of an application\".","readFrom":"The pages we read the row's values from. They are the sheet's last column: click a cell to see each page, or press ⌘C to copy them all."},"billed":{"free":"Free: nothing to pay","on-demand":"Nothing to buy first: you pay as you go","one-time":"You buy credit first, as a pack or any amount you like, then spend the credit on calls","contact":"No public price: you ask the provider for one","monthly":"A monthly subscription","quarterly":"A quarterly subscription","half-yearly":"A subscription for 6 months","yearly":"A yearly subscription"},"defaults":["No contact us plans","No free plans","No yearly plans","$500 or less to start"],"kept":37,"paid":{"ranked":{"Weather forecast":[0,0,0,0,0,0,0,0,0,0.00049,0.00049,0.00049,0.00049,0.00088,0.0019,0.0019,0.0019,0.0019,0.0023,0.0027,0.0028,0.0029,0.0033,0.0035,0.0035,0.0036,0.0038,0.004,0.004,0.0048,0.005,0.0065,0.0083,0.0083,0.0083,0.0093,0.0093,0.012,0.012,0.012,0.012,0.0133,0.015,0.015,0.015,0.015,0.015,0.015,0.0163,0.0166,0.018,0.018,0.0223,0.025,0.0263,0.0279,0.0279,0.0279,0.0299,0.03,0.0326,0.038,0.038,0.04,0.0483,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.06,0.06,0.0653,0.0653,0.0653,0.0667,0.0667,0.0702,0.0718,0.0718,0.0718,0.0718,0.0718,0.0869,0.0895,0.0895,0.0895,0.0895,0.0895,0.09,0.09,0.1,0.1,0.1114,0.1114,0.1114,0.1114,0.1114,0.12,0.12,0.1273,0.149,0.15,0.15,0.1666,0.1936,0.2242,0.2242,0.2988,0.2988,0.3087,0.3087,0.3087,0.3376,0.3376,0.3605,0.3605,0.3605,0.3676,0.3951,0.3951,0.3951,0.4445,0.4445,0.4445,0.4479,0.4479,0.5,0.59,0.5982,0.5982,0.6,0.6667,0.6752,0.75,0.9002,1,1.0803,1.125,1.4254,1.5,1.6002,1.6204,2.1606,2.7007,2.75,2.75,3,4.0511,4.5,4.5,5.2439,5.2439,5.2439,5.4014,5.4014,8.1022,10,11.4781,13.5036,54,56.265]},"bench":{"Weather forecast|API Ninjas|/v1/weatherforecast":{"data":0.0925,"performance":0.2777777777777778,"median":360,"measured":360,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"API Ninjas"},"Weather forecast|Bright Sky|/weather":{"data":0.0927,"performance":0.2849002849002849,"median":351,"measured":351,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Bright Sky"},"Weather forecast|Open-Meteo|/v1/forecast|Weather forecast":{"data":0.1162,"performance":0.8849557522123894,"median":113,"measured":113,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Open-Meteo, Weather forecast"},"Weather forecast|Open-Meteo|/v1/forecast|Weather forecast, full":{"data":0.3695,"performance":0.8695652173913043,"median":115,"measured":115,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Open-Meteo, Weather forecast, full"},"Weather forecast|ReefAPI|/weather-intel/v1/forecast":{"data":0.1941,"performance":0.07911392405063292,"median":1264,"measured":1264,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"ReefAPI"},"Weather forecast|Strale|/v1/do|Weather Lookup":{"data":0.0474,"performance":1,"median":100,"measured":94,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":2,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Strale"},"Weather forecast|Visual Crossing|/VisualCrossingWebServices/rest/services/timeline/{location}|Timeline Weather API: forecast":{"data":0.5978,"performance":1,"median":100,"measured":84,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Visual Crossing"},"Weather forecast|WeatherAPI.com|/v1/forecast.json":{"data":0.3798,"performance":0.3546099290780142,"median":282,"measured":282,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"WeatherAPI.com"},"Weather forecast|Weatherbit|/v2.0/forecast/hourly|Hourly Forecast API (240 hour)":{"data":0.2483,"performance":0.411522633744856,"median":243,"measured":243,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Weatherbit, Hourly Forecast API (240 hour)"},"Weather forecast|Weatherbit|/v2.0/forecast/daily|Daily Forecast API (16 day)":{"data":0.2741,"performance":1,"median":100,"measured":76,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Weatherbit, Daily Forecast API (16 day)"},"Weather forecast|Weatherbit|/v2.0/forecast/minutely|Minutely Forecast API (60 minute)":{"data":0.0392,"performance":1,"median":100,"measured":64,"fastest":"Strale","fastestMedian":100,"fastestMeasured":94,"side":"live","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"Weatherbit, Minutely Forecast API (60 minute)"},"Weather forecast|MET Norway|/weatherapi/locationforecast/2.0/compact|compact":{"data":0.0964,"performance":1,"median":100,"measured":36,"fastest":"MET Norway, compact","fastestMedian":100,"fastestMeasured":36,"side":"copy","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"MET Norway, compact"},"Weather forecast|MET Norway|/weatherapi/locationforecast/2.0/complete|complete":{"data":0.1772,"performance":1,"median":100,"measured":49,"fastest":"MET Norway, compact","fastestMedian":100,"fastestMeasured":36,"side":"copy","called":20,"inputs":20,"fewer":true,"days":["2026-10-30"],"row":"MET Norway, complete"}},"free":["Weather forecast|7Timer!|/bin/api.pl|ASTRO","Weather forecast|7Timer!|/bin/api.pl|CIVIL","Weather forecast|7Timer!|/bin/api.pl|CIVIL Light","Weather forecast|7Timer!|/bin/api.pl|METEO","Weather forecast|7Timer!|/bin/api.pl|Two-Week-Overview","Weather forecast|Bright Sky|/weather","Weather forecast|MET Norway|/weatherapi/locationforecast/2.0/compact|compact","Weather forecast|MET Norway|/weatherapi/locationforecast/2.0/complete|complete","Weather forecast|wttr.in|/{latitude},{longitude}"]},"alert":true,"bench":{"groups":[{"name":"Time per place","note":"On 30 October 2026, we sent each provider up to 20 places, all from the same list. Some providers offer two different calls. We ran each call once per place. Time is each call minus a baseline, so the distance to the provider's servers drops out. We take each call's time and subtract a baseline, the time of a few free calls. For each place, we time the first call. We don't time a call that found nothing for the place. The baseline is the mean of three free calls to the same provider just before the call, on the same connection. If that mean is longer than the call, we use the provider's median baseline, capped at the call's time, so no time is below zero.","columns":[{"name":"Median","kind":"ms","values":{"API Ninjas":360,"Bright Sky":351,"Open-Meteo, Weather forecast":113,"Open-Meteo, Weather forecast, full":115,"ReefAPI":1264,"Strale":94,"Visual Crossing":84,"WeatherAPI.com":282,"Weatherbit, Hourly Forecast API (240 hour)":243,"Weatherbit, Daily Forecast API (16 day)":76,"Weatherbit, Minutely Forecast API (60 minute)":64,"MET Norway, compact":36,"MET Norway, complete":49}},{"name":"10th percentile","kind":"ms","values":{"API Ninjas":309,"Bright Sky":348,"Open-Meteo, Weather forecast":111,"Open-Meteo, Weather forecast, full":112,"ReefAPI":681,"Strale":80,"Visual Crossing":59,"WeatherAPI.com":277,"Weatherbit, Hourly Forecast API (240 hour)":215,"Weatherbit, Daily Forecast API (16 day)":52,"Weatherbit, Minutely Forecast API (60 minute)":51,"MET Norway, compact":21,"MET Norway, complete":25}},{"name":"90th percentile","kind":"ms","values":{"API Ninjas":410,"Bright Sky":395,"Open-Meteo, Weather forecast":125,"Open-Meteo, Weather forecast, full":227,"ReefAPI":1547,"Strale":108,"Visual Crossing":234,"WeatherAPI.com":294,"Weatherbit, Hourly Forecast API (240 hour)":265,"Weatherbit, Daily Forecast API (16 day)":90,"Weatherbit, Minutely Forecast API (60 minute)":92,"MET Norway, compact":71,"MET Norway, complete":202}},{"name":"Fastest","kind":"ms","values":{"API Ninjas":230,"Bright Sky":347,"Open-Meteo, Weather forecast":109,"Open-Meteo, Weather forecast, full":111,"ReefAPI":677,"Strale":76,"Visual Crossing":54,"WeatherAPI.com":254,"Weatherbit, Hourly Forecast API (240 hour)":205,"Weatherbit, Daily Forecast API (16 day)":43,"Weatherbit, Minutely Forecast API (60 minute)":38,"MET Norway, compact":2,"MET Norway, complete":11}},{"name":"Slowest","kind":"ms","values":{"API Ninjas":1728,"Bright Sky":446,"Open-Meteo, Weather forecast":135,"Open-Meteo, Weather forecast, full":236,"ReefAPI":1584,"Strale":112,"Visual Crossing":245,"WeatherAPI.com":377,"Weatherbit, Hourly Forecast API (240 hour)":314,"Weatherbit, Daily Forecast API (16 day)":135,"Weatherbit, Minutely Forecast API (60 minute)":109,"MET Norway, compact":324,"MET Norway, complete":528}},{"name":"Baseline","kind":"ms","values":{"API Ninjas":181,"Bright Sky":112,"Open-Meteo, Weather forecast":110,"Open-Meteo, Weather forecast, full":110,"ReefAPI":98,"Strale":39,"Visual Crossing":29,"WeatherAPI.com":42,"Weatherbit, Hourly Forecast API (240 hour)":50,"Weatherbit, Daily Forecast API (16 day)":51,"Weatherbit, Minutely Forecast API (60 minute)":41,"MET Norway, compact":155,"MET Norway, complete":161}}]},{"name":"Places called for the forecast","note":"Called: the places we sent to each provider, each by its latitude and longitude. Found: the places where the answer held a record after our call with a temperature. A record counts when it ends after our call. A day's high or low counts as a temperature. Parts returned: the parts below that the provider's answer held at least once.","columns":[{"name":"Called","kind":"count","values":{"API Ninjas":[20,20],"Bright Sky":[20,20],"Open-Meteo, Weather forecast":[20,20],"Open-Meteo, Weather forecast, full":[20,20],"ReefAPI":[20,20],"Strale":[2,20],"Visual Crossing":[20,20],"WeatherAPI.com":[20,20],"Weatherbit, Hourly Forecast API (240 hour)":[20,20],"Weatherbit, Daily Forecast API (16 day)":[20,20],"Weatherbit, Minutely Forecast API (60 minute)":[20,20],"MET Norway, compact":[20,20],"MET Norway, complete":[20,20]}},{"name":"Found","kind":"count","values":{"API Ninjas":[20,20],"Bright Sky":[17,20],"Open-Meteo, Weather forecast":[20,20],"Open-Meteo, Weather forecast, full":[20,20],"ReefAPI":[20,20],"Strale":[2,2],"Visual Crossing":[20,20],"WeatherAPI.com":[20,20],"Weatherbit, Hourly Forecast API (240 hour)":[20,20],"Weatherbit, Daily Forecast API (16 day)":[20,20],"Weatherbit, Minutely Forecast API (60 minute)":[20,20],"MET Norway, compact":[20,20],"MET Norway, complete":[20,20]}},{"name":"Parts returned","kind":"count","values":{"API Ninjas":[11,106],"Bright Sky":[15,106],"Open-Meteo, Weather forecast":[12,106],"Open-Meteo, Weather forecast, full":[38,106],"ReefAPI":[22,106],"Strale":[6,104],"Visual Crossing":[69,106],"WeatherAPI.com":[40,106],"Weatherbit, Hourly Forecast API (240 hour)":[26,106],"Weatherbit, Daily Forecast API (16 day)":[28,106],"Weatherbit, Minutely Forecast API (60 minute)":[5,106],"MET Norway, compact":[11,106],"MET Norway, complete":[20,106]}}]},{"name":"The forecast call","note":"For each provider, we made one call per place, with the place's latitude and longitude. Every answer is in metric units. The Call column shows every option we sent, such as the extra fields and days we asked for at no extra cost. Open-Meteo counts a request for more than ten fields as more than one call. We asked its first call for ten fields. Its full call costs 3.9 calls because it asks for 39 fields. A provider with more than one forecast call has a row for each call. Charged per place: what one place cost on this run, in dollars. We used the price of the provider's cheapest paid plan. We called Strale on two places only, the most our balance there paid for.","columns":[{"name":"Call","kind":"text","values":{"API Ninjas":"GET api.api-ninjas.com/v1/weatherforecast, the point as lat and lon (city, state, country and zip are premium only)","Bright Sky":"GET api.brightsky.dev/weather, the point as lat and lon, date the call's day and last_date 14 days after it","Open-Meteo, Weather forecast":"GET api.open-meteo.com/v1/forecast, the point as latitude and longitude, ten hourly variables, forecast_days 14 (a request of more than ten variables counts as more than one call)","Open-Meteo, Weather forecast, full":"GET api.open-meteo.com/v1/forecast, the point as latitude and longitude, 20 hourly and 19 daily variables, timezone GMT, forecast_days 14 (counted as 3.9 calls)","ReefAPI":"POST api.reefapi.com/weather-intel/v1/forecast, the point as lat and lon, days 10, hours 500, units metric","Strale":"POST api.strale.io/v1/do, capability weather-lookup, the point as latitude and longitude, max_price_cents 5, on two places only (its x402 call, paid in a crypto wallet we do not hold, was not run)","Visual Crossing":"GET weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/{location} with the point as lat,lon and next14days, unitGroup metric, with 21 more elements added at the same price","WeatherAPI.com":"GET api.weatherapi.com/v1/forecast.json, the point as q lat,lon, days 14, with alerts and et0 on","Weatherbit, Hourly Forecast API (240 hour)":"GET api.weatherbit.io/v2.0/forecast/hourly, the point as lat and lon, hours 240, units M (metric)","Weatherbit, Daily Forecast API (16 day)":"GET api.weatherbit.io/v2.0/forecast/daily, the point as lat and lon, days 16, units M (metric)","Weatherbit, Minutely Forecast API (60 minute)":"GET api.weatherbit.io/v2.0/forecast/minutely, the point as lat and lon, units M (metric)","MET Norway, compact":"GET api.met.no/weatherapi/locationforecast/2.0/compact, the point as lat and lon to 3 decimals, the compact record","MET Norway, complete":"GET api.met.no/weatherapi/locationforecast/2.0/complete, the point as lat and lon to 3 decimals, the complete record"}},{"name":"Charged per place","kind":"text","values":{"API Ninjas":"$0.00059 a place","Bright Sky":"$0, free on every plan","Open-Meteo, Weather forecast":"$0.000033 a place","Open-Meteo, Weather forecast, full":"$0.00013 a place","ReefAPI":"$0.0015 a place","Strale":"$0.0563 a place","Visual Crossing":"$0.0001 a place","WeatherAPI.com":"$0.0000023 a place","Weatherbit, Hourly Forecast API (240 hour)":"$0.000065 a place","Weatherbit, Daily Forecast API (16 day)":"$0.000065 a place","Weatherbit, Minutely Forecast API (60 minute)":"$0.000065 a place","MET Norway, compact":"$0, free on every plan","MET Norway, complete":"$0, free on every plan"}}]},{"name":"How far ahead","note":"Each cell shows two numbers. First: the places where the answer held the part named in the column's title. Second: the places we count the part on. We count only the places we called the provider on. We count a part when a live call that offers the part returned it for the place. On a place where fewer than two live calls offer the part and return data, we count the part when any call returned it. A call that doesn't offer this part shows 0. A cell counts places, not days or records. We count only the records that end after our call. Days ahead: the time from our call to the end of the last record. A day record ends at the end of its day. We use the timezone the answer gives, or UTC when it gives none. Hour records: the records spaced at least an hour apart and less than a day apart, such as hourly and 6-hourly records. Day records: the records that each cover a whole day, starting with the day of our call. Minute records: the records that come less than an hour apart. We count a place for Days ahead when the answer held a record. We count a place for a kind of record when the answer held a record of that kind. Forecast issued: the time the provider says it made or updated the forecast. Alerts: the answer holds at least one weather alert for the place. We score Forecast issued and Alerts as held or not held. For Days ahead, we divide by the furthest a live call went for the place. For each kind of record, we divide by the most records a live call gave for the place. We use all calls when only one live call or none found the place.","columns":[{"name":"Days ahead","kind":"count","values":{"API Ninjas":[20,20],"Bright Sky":[17,20],"Open-Meteo, Weather forecast":[20,20],"Open-Meteo, Weather forecast, full":[20,20],"ReefAPI":[20,20],"Strale":[2,2],"Visual Crossing":[20,20],"WeatherAPI.com":[20,20],"Weatherbit, Hourly Forecast API (240 hour)":[20,20],"Weatherbit, Daily Forecast API (16 day)":[20,20],"Weatherbit, Minutely Forecast API (60 minute)":[20,20],"MET Norway, compact":[20,20],"MET Norway, complete":[20,20]}},{"name":"Hour records","kind":"count","values":{"API Ninjas":[20,20],"Bright Sky":[17,20],"Open-Meteo, Weather forecast":[20,20],"Open-Meteo, Weather forecast, full":[20,20],"ReefAPI":[20,20],"Strale":[0,2],"Visual Crossing":[20,20],"WeatherAPI.com":[20,20],"Weatherbit, Hourly Forecast API (240 hour)":[20,20],"Weatherbit, Daily Forecast API (16 day)":[0,20],"Weatherbit, Minutely Forecast API (60 minute)":[0,20],"MET Norway, compact":[20,20],"MET Norway, complete":[20,20]}},{"name":"Day records","kind":"count","values":{"API Ninjas":[0,20],"Bright Sky":[0,20],"Open-Meteo, Weather forecast":[0,20],"Open-Meteo, Weather forecast, full":[20,20],"ReefAPI":[20,20],"Strale":[2,2],"Visual Crossing":[20,20],"WeatherAPI.com":[20,20],"Weatherbit, Hourly Forecast API (240 hour)":[0,20],"Weatherbit, Daily Forecast API (16 day)":[20,20],"Weatherbit, Minutely Forecast API (60 minute)":[0,20],"MET Norway, compact":[0,20],"MET Norway, complete":[0,20]}},{"name":"Minute records","kind":"count","values":{"API Ninjas":[0,20],"Bright Sky":[0,20],"Open-Meteo, Weather forecast":[0,20],"Open-Meteo, Weather forecast, full":[0,20],"ReefAPI":[0,20],"Strale":[0,2],"Visual Crossing":[0,20],"WeatherAPI.com":[0,20],"Weatherbit, Hourly Forecast API (240 hour)":[0,20],"Weatherbit, Daily Forecast API (16 day)":[0,20],"Weatherbit, Minutely Forecast API (60 minute)":[20,20],"MET Norway, compact":[0,20],"MET Norway, complete":[0,20]}},{"name":"Forecast issued","kind":"count","values":{"API Ninjas":[0,20],"Bright Sky":[0,20],"Open-Meteo, Weather forecast":[0,20],"Open-Meteo, Weather forecast, full":[0,20],"ReefAPI":[20,20],"Strale":[0,2],"Visual Crossing":[0,20],"WeatherAPI.com":[0,20],"Weatherbit, Hourly Forecast API (240 hour)":[0,20],"Weatherbit, Daily Forecast API (16 day)":[0,20],"Weatherbit, Minutely Forecast API (60 minute)":[0,20],"MET Norway, compact":[20,20],"MET Norway, complete":[20,20]}},{"name":"Alerts","kind":"count","values":{"API Ninjas":[0,8],"Bright Sky":[0,8],"Open-Meteo, Weather forecast":[0,8],"Open-Meteo, Weather forecast, full":[0,8],"ReefAPI":[0,8],"Strale":[0,1],"Visual Crossing":[7,8],"WeatherAPI.com":[1,8],"Weatherbit, Hourly Forecast API (240 hour)":[0,8],"Weatherbit, Daily Forecast API (16 day)":[0,8],"Weatherbit, Minutely Forecast API (60 minute)":[0,8],"MET Norway, compact":[0,8],"MET Norway, complete":[0,8]}}]},{"name":"Each hour or step","note":"Each cell shows two numbers. First number: the hour records that held the part named in the column's title. Second number: the hour records the provider gave that end after our call. We add up the records of the places the provider found. For each place, we take the share of the provider's hour records that held the part. We count a part on a place when a live call that offers the part has it on its hour records. On a place where fewer than two live calls offer the part and return data, we count the part when any call has it. A value of 0 counts as held. A call with no hour records shows 0. Conditions: a weather code, or a written description when the call gives no code. Maximum temperature: the highest temperature a record gives for its period. Minimum temperature: the lowest temperature a record gives for its period.","columns":[{"name":"Temperature","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[4156,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1760,1760],"MET Norway, complete":[1760,1760]}},{"name":"Feels like","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1760,1760]}},{"name":"Dew point","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[4157,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1760,1760]}},{"name":"Wet-bulb temperature","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Wet-bulb globe temperature","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Humidity","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1760,1760],"MET Norway, complete":[1760,1760]}},{"name":"Wind speed","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[4154,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1760,1760],"MET Norway, complete":[1760,1760]}},{"name":"Wind direction","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[4114,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1760,1760],"MET Norway, complete":[1760,1760]}},{"name":"Wind gusts","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[1464,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Sea-level pressure","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[4157,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1760,1760],"MET Norway, complete":[1760,1760]}},{"name":"Surface pressure","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Pressure","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Conditions","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[3644,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1740,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1740,1760],"MET Norway, complete":[1740,1760]}},{"name":"Cloud cover","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[4154,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1760,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1760,1760],"MET Norway, complete":[1760,1760]}},{"name":"Low cloud cover","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1760,1760]}},{"name":"Mid cloud cover","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1760,1760]}},{"name":"High cloud cover","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1760,1760]}},{"name":"Visibility","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[4154,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"UV index","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1220,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1220,1760]}},{"name":"Solar radiation","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Direct normal solar radiation","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Diffuse horizontal solar radiation","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Tilted solar radiation","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Solar energy","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[1225,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Precipitation","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[2414,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[1740,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[1740,1760],"MET Norway, complete":[1740,1760]}},{"name":"Precipitation chance","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[1634,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Snowfall","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Snow depth","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Minimum temperature","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1640,1760]}},{"name":"Maximum temperature","kind":"count","values":{"API Ninjas":[800,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1640,1760]}},{"name":"Rain","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Showers","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[6600,6600],"Open-Meteo, Weather forecast, full":[6600,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Snow chance","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Precipitation (type)","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[156,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Radar precipitation","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[43,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Radar reflectivity","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[4,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Fog","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[1220,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[1220,1760]}},{"name":"Evapotranspiration","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[6592,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Sunshine duration","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[1225,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Storm energy (CAPE)","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Storm inhibition (CIN)","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[751,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Severe risk","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Lightning risk","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Hail risk","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Total column ozone","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[0,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[4800,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Station","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[1,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}},{"name":"Source type","kind":"count","values":{"API Ninjas":[0,800],"Bright Sky":[0,4165],"Open-Meteo, Weather forecast":[0,6600],"Open-Meteo, Weather forecast, full":[0,6600],"ReefAPI":[0,1760],"Strale":[0,0],"Visual Crossing":[843,843],"WeatherAPI.com":[0,6592],"Weatherbit, Hourly Forecast API (240 hour)":[0,4800],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,1760],"MET Norway, complete":[0,1760]}}]},{"name":"Each day","note":"Each cell shows two numbers. First number: the day records that held the part named in the column's title. Second number: the day records the provider gave from the day of our call on. We add up the records of the places the provider found. For each place, we take the share of the provider's day records that held the part. We count a part on a place when a live call that offers the part has it on its day records. On a place where fewer than two live calls offer the part and return data, we count the part when any call has it. A value of 0 counts as held. A call with no day records shows 0. Conditions: a weather code, or a written description when the call gives no code. A day record gives one value for the whole day. A day's strongest wind counts as Wind speed. A day's total precipitation counts as Precipitation. A day's chance of precipitation counts as Precipitation chance. A day's mean temperature counts as Temperature. A day's highest temperature counts as Maximum temperature. A day's lowest temperature counts as Minimum temperature.","columns":[{"name":"Temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Feels like","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Dew point","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Wet-bulb temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Wet-bulb globe temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Humidity","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[200,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Wind speed","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[200,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Wind direction","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Wind gusts","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Sea-level pressure","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Surface pressure","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Conditions","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[190,200],"Strale":[14,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Cloud cover","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Low cloud cover","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Mid cloud cover","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"High cloud cover","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Visibility","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"UV index","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Solar radiation","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Solar energy","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Precipitation","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[200,200],"Strale":[14,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Precipitation chance","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Snowfall","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Snow depth","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Minimum temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[200,200],"Strale":[14,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Maximum temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[200,200],"Strale":[14,14],"Visual Crossing":[300,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Maximum feels like","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Minimum feels like","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Rain","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Showers","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Snow chance","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Precipitation (type)","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[134,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Radar precipitation","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[22,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Precipitation hours","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Precipitation cover","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Sunshine duration","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[280,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Storm energy (CAPE)","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Storm inhibition (CIN)","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Severe risk","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Lightning risk","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Hail risk","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Wind speed (lowest)","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Wind speed (mean)","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Maximum wet-bulb temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[280,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Daytime high temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Night-time low temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Total column ozone","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[0,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[320,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Day summary","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Station","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[19,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Source type","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,280],"ReefAPI":[0,200],"Strale":[0,14],"Visual Crossing":[300,300],"WeatherAPI.com":[0,280],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,320],"Weatherbit, Minutely Forecast API (60 minute)":[0,0],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}}]},{"name":"Each minute","note":"Each cell shows two numbers. First number: the minute records that held the part named in the column's title. Second number: the minute records the provider gave that end after our call. We add up the records of the places the provider found. For each place, we take the share of the provider's minute records that held the part. We count a part on a place when a live call that offers the part has it on its minute records. On a place where fewer than two live calls offer the part and return data, we count the part when any call has it. A value of 0 counts as held. A call with no minute records shows 0.","columns":[{"name":"Temperature","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,0],"ReefAPI":[0,0],"Strale":[0,0],"Visual Crossing":[0,0],"WeatherAPI.com":[0,0],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[1200,1200],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Precipitation","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,0],"ReefAPI":[0,0],"Strale":[0,0],"Visual Crossing":[0,0],"WeatherAPI.com":[0,0],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[1200,1200],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}},{"name":"Snowfall","kind":"count","values":{"API Ninjas":[0,0],"Bright Sky":[0,0],"Open-Meteo, Weather forecast":[0,0],"Open-Meteo, Weather forecast, full":[0,0],"ReefAPI":[0,0],"Strale":[0,0],"Visual Crossing":[0,0],"WeatherAPI.com":[0,0],"Weatherbit, Hourly Forecast API (240 hour)":[0,0],"Weatherbit, Daily Forecast API (16 day)":[0,0],"Weatherbit, Minutely Forecast API (60 minute)":[1200,1200],"MET Norway, compact":[0,0],"MET Norway, complete":[0,0]}}]}],"inputs":{"said":"The 20 places we called, as each provider's call took them.","keys":["lat","lon"],"rows":[[48.766,-122.503],[41.57,-93.709],[43.796,-91.248],[41.5,-81.694],[48.138,11.597],[50.506,16.066],[45.522,-122.673],[51.536,-0.126],[41.938,-87.815],[36.322,-95.812],[37.786,-122.389],[26.689,-80.153],[39.15,-75.496],[42.088,-87.81],[47.273,28.217],[39.977,32.844],[39.937,-75.046],[40.394,-80.047],[39.617,-104.902],[46.604,0.307]]}},"more":"/assets/sheet-hV_g0kW2.json"}