For AI coding assistants. This file gives you everything needed to call this DataGrab from a user's application. If you are an AI reading this because a user asked you to add or build with this DataGrab, follow it directly.
Returns current weather conditions - temperature, "feels like" temperature, barometric pressure, and sky condition - for any coordinate or free-text place name (a city, landmark, or vague description). Give it plain text instead of a coordinate and it resolves that text to a location internally before fetching weather, so the caller never has to geocode first.
Good for: current temperature/pressure/sky condition on a dashboard or widget, weather-aware app logic ("show umbrella icon if raining"), accepting a user-typed place name directly.
Not good for: forecasts, historical weather, minute-by-minute conditions, severe weather alerts, air quality - those are other DataGrabs.
Cost: $0/month, 1,000 calls/month.
Every call needs a Gimmee API key - issued per customer - sent one of two ways:
Header: x-api-key: {{GIMMEE_API_KEY}}
Querystring: ?api_key={{GIMMEE_API_KEY}}
Use the header form by default. Read the key from an environment variable or your app's secrets store - never hardcode it into committed source.
GET https://api.gimmee.io/datagrab/weather/conditions/current/{params}
{params} is one pipe (|)-delimited segment. Shape is auto-detected: two numbers first is coordinate form, otherwise it's location-text form.
Coordinate form:
| Params | Uses |
|---|---|
{lat}|{lon} |
uses this exact position |
Location-text form:
| Params | Uses |
|---|---|
{locationText} |
determines location by the text; can be specific or contextual |
{locationText}|{contextText} |
determines location by the text, with context to help remove ambiguity |
locationText can be a city, landmark, or vague description ("the 2nd largest city in California"). contextText disambiguates an otherwise-ambiguous name (Portland|talking about Maine hiking trails picks Portland, ME over Portland, OR).
curl "https://api.gimmee.io/datagrab/weather/conditions/current/Bangor,%20ME" \
-H "x-api-key: YOUR_GIMMEE_KEY"
const location = "Bangor, ME"; // or "44.8012|-68.7778" for coordinates
const response = await fetch(
`https://api.gimmee.io/datagrab/weather/conditions/current/${encodeURIComponent(location)}`,
{ headers: { "x-api-key": process.env.GIMMEE_API_KEY } }
);
const data = await response.json();
import os, requests
from urllib.parse import quote
location = "Bangor, ME" # or "44.8012|-68.7778" for coordinates
response = requests.get(
f"https://api.gimmee.io/datagrab/weather/conditions/current/{quote(location)}",
headers={"x-api-key": os.environ["GIMMEE_API_KEY"]}
)
data = response.json()
JSON field names are camelCase.
{
"city": "Bangor",
"adminRegion": "Maine",
"stateCode": "ME",
"country": "United States",
"tempF": 68.4,
"tempC": 20.2,
"feelsLikeF": 66.9,
"feelsLikeC": 19.4,
"pressureMb": 1015.0,
"pressureInHg": 29.97,
"conditionType": 9,
"condition": "light rain",
"dataProvidedBy": "OpenWeather",
"termsOfServiceUrl": "https://openweather.co.uk/api/files/file/OpenWeather_T%26C_of_sale.pdf",
"dataPullDateTime": "2026-08-22T14:03:11Z",
"gimmeeVersion": "v1.0.0"
}
| Field | Type | Meaning |
|---|---|---|
city |
string | Resolved city name. If the location text is ambiguous, this will be the most likely match. If the location is lat/long then it will be a nearby town/city. |
adminRegion |
string | null | State/province/admin-area full name (e.g. "Maine", never "ME"). null if it can't be resolved. |
stateCode |
string | null | Two-letter USPS abbreviation for adminRegion (e.g. "ME"). null for non-US regions or anything not an exact match. |
country |
string | Country name or ISO alpha-2 code, depending on input path - don't assume one exact format. |
tempF / tempC |
number | Current temperature, rounded to 1 decimal. |
feelsLikeF / feelsLikeC |
number | "Feels like" temperature (wind/humidity factored in), rounded to 1 decimal. |
pressureMb |
number | Sea-level barometric pressure in millibars. |
pressureInHg |
number | Same pressure in inches of mercury, rounded to 2 decimals. |
conditionType |
integer | Normalized sky-condition category as an enum ordinal (not a string). Use this for icon/logic branching. possible values: 0 Sunny, 1 MostlySunny, 2 PartlySunny, 3 PartlyCloudy, 4 MostlyCloudy, 5 Cloudy, 6 ChanceShowers, 7 Drizzle, 8 Showers, 9 Rain, 10 HeavyRain, 11 Thunderstorm, 12 Hail, 13 Flurries, 14 ScatteredFlurries, 15 ChanceSnow, 16 Snow, 17 HeavySnow, 18 Blizzard, 19 Unknown. |
condition |
string | Human-readable condition, e.g. "light rain". |
dataProvidedBy |
string | What the data sources are for the result. Usually "OpenWeather". |
termsOfServiceUrl |
string | Link to the terms of service for using the results. Usually OpenWeatherMap's terms. |
dataPullDateTime |
string (ISO 8601 UTC) | When this reading was fetched - you may receive a cached result. |
gimmeeVersion |
string | This DataGrab's version. |
| Status | Meaning | When it happens |
|---|---|---|
| 400 | Bad request | Malformed coordinates, unresolvable location text |
| 401 | Unauthorized | Missing or invalid x-api-key |
| 429 | Quota exceeded | Monthly 1,000-call quota used up - resets on your billing cycle date |
| 502 | Upstream failure | The data behind this request is temporarily unavailable - retry shortly |
country's format - it varies between a full name and an ISO code depending on input path.conditionType (integer), not condition (string), for branching logic. The condition field is for display purposes only and may change over time.Weather.*/Sky.* DataGrabs.messageType: Weather.Conditions.Current
status: production
price: free ($0.00/mo)
quota: 1000/month
lastVerified: 2026-08-22