{"assurances": [["human", "Enrolled person", "Identity checked at enrolment"], ["application", "Device or app attestation", "App or device passed a server-side attestation"], ["camera", "Signed capture", "Signed by a conforming capture product"], ["time", "Time-stamp", "Existed no later than a stated time"], ["location", "Authenticated place", "Position authenticated, not only reported"], ["content", "Content integrity", "Unchanged since signing; shows what it claims"], ["corroboration", "Corroboration", "Confirmed by independent sources"]], "cards": [{"id": "airnow", "name": "EPA AirNow", "status": "unclaimed", "provider_url": "https://docs.airnowapi.org/", "adapter": "airnow", "tags": ["air quality", "aqi", "air quality index", "official aqi", "nowcast", "ozone", "pm2.5", "pm10", "no2", "smoke", "air quality forecast", "government monitors", "epa", "government", "free", "real-time", "sensor", "united states", "canada", "mexico"], "summary": "The U.S. EPA's AirNow program serves real-time Air Quality Index readings (NowCast AQI) and agency-issued AQI forecasts from more than 2,500 monitoring stations run by over 150 local, state, tribal, provincial and federal agencies across the United States, Canada and Mexico. Keyless hourly files (reportingarea.dat by reporting area, HourlyAQObs and HourlyData by monitoring site) download from files.airnowtech.org; the AirNow API web services (by ZIP, lat/long, reporting area or bounding box) need a free account and key. The data are preliminary and unvalidated.", "short": "The EPA's official real-time Air Quality Index for the US, Canada and Mexico; hourly, free, keyless files.", "capabilities": {"modalities": ["sensor"], "tasks": ["current NowCast AQI per pollutant for a reporting area (the peak across the area's monitors), by ZIP code, lat/long or reporting area code", "AQI forecasts by reporting area, ZIP or lat/long (where agencies issue them)", "hourly observations by monitoring site: AQI for ozone, PM2.5, PM10 and NO2, and concentrations incl. CO and SO2 (keyless HourlyAQObs/HourlyData files, or the keyed bounding-box service)", "PM2.5, ozone and combined AQI contour maps (KML) for a bounding box", "action-day flags and forecast discussions from air agencies"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "Free. The file products on files.airnowtech.org download without a key; the web services need a free AirNow API account and key."}, "latency": {"typical": "Observations for the previous hour are generally available 10-30 minutes past the hour; reportingarea.dat is updated twice per hour at :25 and :55", "notes": "AirNow FAQ: observations update once per hour and forecasts are issued once per day. On 2026-10-27 04:59 UTC the keyless reportingarea.dat (last modified 04:42 UTC) held observations for 00:00 EDT (04:00 UTC), and HourlyData for 03:00 UTC was last modified 04:54 UTC."}, "coverage": {"regions": ["United States", "Canada", "Mexico"], "notes": "AirNow covers the United States, Canada and Mexico. AQI by reporting area (reportingarea.dat and the ZIP/lat-long services) is for US reporting areas plus Mexicali; Canadian and most Mexican data appear as monitoring sites in the hourly site files. Reporting areas range from part of a city to a whole county, and the lat/long and ZIP services return the reporting area's peak value, not the nearest monitor. Forecasts are not issued for every area, every day or every season.", "areas": ["US", "CA", "MX"]}, "licensing": {"summary": "EPA AirNow Data Exchange Guidelines (PDF, Aug 2025) (account sign-up also requires agreeing to a Data Use Agreement): the data are preliminary, not fully verified or validated, and must not be used for regulation, trends, guidance or other government or public decision-making (official data come from EPA's AQS). The federal, state, local and tribal agencies own the data. Users must credit those agencies and EPA AirNow, disseminate values and advisories unaltered, use the AQI colours, label displays and products as preliminary, tell the agencies and EPA AirNow when products rely on the data, and keep their contact details current. AI training and resale are not mentioned.", "buyer_owns_output": false}, "freshness": {"mode": "live", "typical_age": "Under about 1.5 hours", "notes": "Historical observation and forecast services exist; irlpls lists AirNow for current readings."}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "AirNow FAQ: \"air quality observations for the previous hour are generally available between 10 and 30 minutes past the hour.\""}, "api": {"available": true, "docs_url": "https://docs.airnowapi.org/webservices", "base_url": "https://www.airnowapi.org", "auth": [{"type": "none", "how_to_get": "The file products on https://files.airnowtech.org/ (e.g. /airnow/today/reportingarea.dat, /airnow/{YYYY}/{YYYYMMDD}/HourlyAQObs_{YYYYMMDDHH}.dat) download without a key."}, {"type": "api_key_query", "env_var": "AIRNOW_API_KEY", "how_to_get": "Request an account at https://docs.airnowapi.org/account/request/ (name, user name, email, phone, agency, comment, and agreement to the Data Use Agreement and Data Use Guidelines), activate it with the emailed confirmation code, then copy the key from the top right of the Web Services page; it is passed as the API_KEY query parameter."}], "endpoints": [{"action": "fetch", "method": "GET", "path": "https://files.airnowtech.org/airnow/today/reportingarea.dat", "params": "None. Pipe-delimited: issue date|valid date|valid time|time zone|hour offset|record type (O observation, F forecast)|current flag|reporting area|state|lat|lon|parameter|AQI|category|action day|discussion|agency", "notes": "No key; different host from base_url. Current observations and forecasts for every reporting area, updated at :25 and :55. Pair with https://files.airnowtech.org/airnow/today/cityzipcodes.csv (ZIP to reporting area, updated daily)."}, {"action": "fetch", "method": "GET", "path": "https://files.airnowtech.org/airnow/{YYYY}/{YYYYMMDD}/HourlyAQObs_{YYYYMMDDHH}.dat", "params": "Date and hour in UTC", "notes": "No key; different host from base_url. CSV, one row per monitoring site: AQSID, site name, status, lat/lon, country code, valid date/time, data source, reporting area, ozone/PM10/PM2.5/NO2 AQI and concentrations of PM2.5, ozone, NO2, CO, SO2 and PM10. HourlyData_{YYYYMMDDHH}.dat has the raw hourly values per site and parameter."}, {"action": "fetch", "method": "GET", "path": "/aq/observation/current/ziplatlong/", "notes": "Current observations for the reporting area of a lat/long or ZIP (new June 2026). Needs API_KEY; without it returns HTTP 401 'Request not authenticated.' Per-service parameter docs are visible only when logged in."}, {"action": "fetch", "method": "GET", "path": "/aq/observation/current/racode/", "notes": "Current observations by reporting area code (new June 2026). Needs API_KEY."}, {"action": "fetch", "method": "GET", "path": "/aq/forecast/current/", "notes": "Current forecasts by ZIP, lat/long or reporting area code (new June 2026). Needs API_KEY."}, {"action": "fetch", "method": "GET", "path": "/aq/data/", "notes": "Hourly observations (AQI and/or concentrations) by monitoring site in a bounding box, for a date/time range. Needs API_KEY."}, {"action": "fetch", "method": "GET", "path": "/KML/PM25/", "notes": "PM2.5 AQI contour map (KML) for a bounding box and hour; /KML/Ozone/ and /KML/Combined/ likewise. Needs API_KEY."}], "rate_limits": "Web services: per key, per service, per hour (each service's limit is in its own docs, visible only when logged in); once hit, the service returns no data until the next hour, and limits cannot be raised. AirNow asks users to cache, and not to loop over ZIP codes to build a database (use the file products instead).", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "io.github.pipeworx-io/airnow v0.1.5 (Pipeworx, third party), remote https://gateway.pipeworx.io/airnow/mcp; keyless, reads AirNow's public file products"}, "notes": "The six older web services (e.g. /aq/observation/latLong/current/, /aq/forecast/zipCode/) were retired on 2026-09-30; their docs pages now redirect to /webservices/retired. File products are on a second host, files.airnowtech.org, so their endpoint paths are full URLs."}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "automation_allowed": true, "gate": "none"}, "payment": {"methods": [], "notes": "No payment: the service is free."}, "capture": {"by": "devices"}, "requester": {"checks": "None for the keyless file products. A web-service account asks for name, email, phone and agency, is activated by an emailed confirmation code, and requires agreeing to the Data Use Guidelines; users who keep exceeding rate limits may be contacted.", "unknown": "Nothing is commissioned; monitors report on their own schedule."}, "verification": {"human": {"level": "none", "unknown": "Not applicable: automated monitors operated by air agencies"}, "application": {"level": "none", "unknown": "No signing or published hashes of data from monitor to file or API"}, "camera": {"level": "none", "unknown": "No imagery"}, "time": {"level": "claimed", "method": "Each observation is reported for a stated valid date and hour, with its time zone or UTC offset", "unknown": "How monitor clocks are checked is not documented in the pages read"}, "location": {"level": "claimed", "method": "Values belong to a named reporting area or to a monitoring site with an AQS ID and latitude/longitude", "unknown": "Lat/long and ZIP queries return the reporting area's peak value, which may come from a monitor some distance away; site coordinates are as reported by agencies"}, "content": {"level": "none", "unknown": "AirNow labels its data raw, preliminary and not fully verified or validated; values come from agency-operated monitors and can change after agency validation (official data are in AQS), and no real-time quality-control method is described in the pages read"}, "corroboration": {"level": "none", "unknown": "No per-reading cross-check documented; a reporting area's value is the maximum across its monitors, not a cross-check"}}, "sources": [{"claim": "AirNow covers the United States, Canada and Mexico; over 2,500 monitoring stations; forecasts for more than 500 cities; more than 150 local, state, tribal, provincial and federal agencies; data not fully verified or validated, preliminary, not for regulation, trends, guidance or government or public decision making; official data from AQS", "url": "https://docs.airnowapi.org/"}, {"claim": "Web services list: current forecasts by reporting area, lat/long or ZIP; historical forecasts; PM2.5, ozone and combined KML contour maps; observations by monitoring site (hourly and daily bounding box); current observations by reporting area and by ZIP or lat/long; historical observations by state", "url": "https://docs.airnowapi.org/webservices"}, {"claim": "API key at top right of Web Services page; users must follow the Data Use Guidelines; per-key per-service hourly rate limits that cannot be changed; observations updated hourly, available 10-30 minutes past the hour; forecasts daily; cache results; reporting areas from part of a city to a county; forecasts not available for every area; area observation is the maximum across its monitors; ZIP and lat/long services return the reporting area peak AQI; do not loop over ZIP codes; reportingarea.dat on files.airnowtech.org updated at :55 and :25; cityzipcodes.csv updated daily", "url": "https://docs.airnowapi.org/faq"}, {"claim": "Account required for web services and feeds; activate with emailed confirmation code; key on Web Services page; NowCast AQI per pollutant; CSV, JSON or XML output; six web services retired in September 2026; file products on files.airnowtech.org", "url": "https://docs.airnowapi.org/docs/AirNowAPIFactSheet.pdf"}, {"claim": "New services from June 17, 2026: /aq/forecast/current/, /aq/observation/current/racode/, /aq/observation/current/ziplatlong/, /aq/observation/historical/state/, /aq/dailydata/, /aq/forecast/historical/; six older services (e.g. /aq/observation/latLong/current/) retired September 30, 2026; /aq/data/ and /KML/PM25/, /KML/Ozone/, /KML/Combined/ remain", "url": "https://docs.airnowapi.org/docs/AirNowAPIUpdates2026June.pdf"}, {"claim": "Data Use (Exchange) Guidelines: preliminary data, not for regulation or decision-making; agencies own the data; credit agencies and EPA AirNow; do not alter values or advisories; use AQI colours; label products preliminary; notify agencies and EPA AirNow of reliance; keep contact details current", "url": "https://docs.airnowapi.org/docs/DataUseGuidelines.pdf"}, {"claim": "Account request form: name, user name, email, phone, agency, comment; must agree to the Data Use Agreement and the EPA AirNow Data Use Guidelines", "url": "https://docs.airnowapi.org/account/request/"}, {"claim": "AQI categories and colours; real-time values are NowCast AQI; forecasts issued by agencies per reporting area; action days", "url": "https://docs.airnowapi.org/aq101"}, {"claim": "Keyless live check 2026-10-26 (04:59 UTC 27 Oct): 7,410 rows of current observations and forecasts by reporting area, newest observations for 00:00 EDT 27 Oct, last modified 04:42 UTC; US states plus Mexicali (MX)", "url": "https://files.airnowtech.org/airnow/today/reportingarea.dat"}, {"claim": "Keyless hourly site file: 4,416 sites with country codes (US 2,726, CA 343, MX 75, others), AQI for ozone/PM10/PM2.5/NO2 and concentrations incl. CO and SO2", "url": "https://files.airnowtech.org/airnow/2026/20261027/HourlyAQObs_2026102703.dat"}, {"claim": "ZIP to reporting area lookup file with ZIP centroids, no key", "url": "https://files.airnowtech.org/airnow/today/cityzipcodes.csv"}, {"claim": "A keyless call to the new current-observations service returns HTTP 401 'Request not authenticated.' (tested 2026-10-26)", "url": "https://www.airnowapi.org/aq/observation/current/ziplatlong/?format=application/json&latitude=36.7&longitude=-119.8"}, {"claim": "No first-party MCP server; third-party io.github.pipeworx-io/airnow (v0.1.5, remote https://gateway.pipeworx.io/airnow/mcp)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=airnow"}], "updated": "2026-10-27", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "airtasker", "name": "Airtasker", "provider_url": "https://www.airtasker.com", "status": "unclaimed", "tags": ["errands", "local tasks", "handyman", "photography", "crowd", "mcp", "oauth", "australia", "uk", "us", "ireland", "new zealand", "singapore"], "summary": "Local task marketplace: post a task with location, timing and budget, Taskers make offers, and accepting one holds the payment in escrow. Official remote MCP server with OAuth can post tasks, read offers and accept one; releasing payment and receiving proof happen in the web app.", "short": "Post a local task; nearby Taskers offer, and payment is held until you release it.", "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["errands and deliveries", "local photography", "checking or inspecting something in person", "handyman and home tasks"]}, "pricing": {"model": "offer-based task price plus one-time Connection Fee (waived for members)", "from_usd": 0, "unit": "task", "notes": "from_usd 0 means not published (the task price is set by Taskers' offers). Posting a task is free. Connection Fee by task price, charged on assignment: AU AUD 9.95\u201359.95 (inc. GST); UK \u00a34.95\u201339.95 (inc. VAT); US USD 4.90\u201349.50 (excl. tax); NZ NZD 9.95\u201359.95 and SG SGD 9.95\u201359.95 (excl. tax). Waived with a customer membership (AU, UK, US articles). Retained if the customer cancels."}, "latency": {"typical": "Not published", "notes": "Depends on Tasker offers and the agreed time. Unreleased payments auto-cancel 30 days after the Tasker marks a task complete."}, "coverage": {"regions": ["AU", "GB", "US", "IE", "NZ", "SG"], "notes": "Country sites exist for these six (/au/, /uk/, /us/, /ie/, /nz/, /sg/; /ca/ returns 404). Density not published.", "areas": ["AU", "GB", "US", "IE", "NZ", "SG"]}, "licensing": {"summary": "The terms (updated 16 Feb 2026) say nothing about who owns a Tasker's photos or reports, and do not mention AI or machine-learning training. Clause 3.2: content on the platform may not be used on third-party sites or for other business purposes without Airtasker's written permission. Clause 3.5: users grant Airtasker an unrestricted, worldwide, royalty-free licence to use, reproduce, modify and adapt content posted on the platform. Read from the AU terms only; other countries' terms may differ. The privacy policy does not mention model training."}, "verification": {"human": {"level": "claimed", "method": "Optional ID Verified badge in AU and NZ: government photo ID plus live biometric face scan via Persona. Taskers must complete ID verification before payment is released to them. The face scan includes liveness detection (by a human).", "unknown": "Only documented for AU and NZ. Taskers can make offers without it, the badge is a point-in-time check, and the terms say Airtasker does no checks before someone becomes a user."}, "application": {"level": "none", "unknown": "Proof is sent as private-message attachments; no capture app is required."}, "camera": {"level": "none", "unknown": "Nothing stops gallery or edited uploads."}, "time": {"level": "none", "unknown": "No capture timestamp is recorded or checked."}, "location": {"level": "none", "unknown": "No geo check-in or location check on deliverables."}, "content": {"level": "claimed", "method": "Under the model Task Contract the Tasker warrants the work is done properly and the information true; the customer releases escrowed payment only when satisfied, with a dispute process.", "unknown": "Airtasker does not review deliverables and disclaims the accuracy of anything users provide; the customer is the only check."}, "corroboration": {"level": "none", "unknown": "No independent check."}}, "api": {"available": true, "docs_url": "https://support.airtasker.com/hc/en-au/articles/58505062391321", "base_url": "https://mcp.airtasker.com/mcp", "auth": [{"type": "oauth2", "how_to_get": "Connect an MCP client to https://mcp.airtasker.com/mcp and complete the OAuth login with an Airtasker account (authorization server https://id.airtasker.com, which advertises a dynamic client registration endpoint and PKCE S256). Posting needs credits, a payment method on file or a membership. Dynamic client registration is deprecated by the MCP specification of 2026-07-28 in favour of Client ID Metadata Documents (CIMD); whether Airtasker accepts CIMD is not stated.", "resource_metadata": "https://mcp.airtasker.com/.well-known/oauth-protected-resource", "scopes": ["airtasker:read", "airtasker:write", "airtasker:payments"], "dynamic_registration": true, "pkce": "S256", "transport": "mcp"}], "endpoints": [{"action": "search", "method": "MCP", "path": "browse_tasks", "notes": "Search the marketplace"}, {"action": "fetch", "method": "MCP", "path": "get_task", "notes": "Full task details"}, {"action": "order", "method": "MCP", "path": "post_task", "notes": "Details, location, timing, budget. Posting is free; nothing is charged until an offer is accepted."}, {"action": "quote", "method": "MCP", "path": "get_offers", "notes": "Offers on your task"}, {"action": "order", "method": "MCP", "path": "accept_offer", "notes": "Hires the Tasker and escrows payment; charges the Connection Fee for non-members"}, {"action": "status", "method": "MCP", "path": "get_my_tasks", "notes": "Your tasks and their status"}, {"action": "fetch", "method": "MCP", "path": "get_profile", "notes": "A Tasker's public profile and rating"}], "rate_limits": "Not published", "self_serve": true, "mcp": {"remote": "https://mcp.airtasker.com/mcp", "registry_name": null, "auth": "oauth2", "first_party": true, "notes": "Streamable HTTP; answers 401 with a WWW-Authenticate resource_metadata pointer. Also packaged as a Claude Code plugin (airtasker/airtasker-mcp-server). Not in the official MCP Registry. No tool to release payment, message the Tasker or read proof."}}, "adapter": "airtasker", "freshness": {"mode": "on_demand", "typical_age": "Captured after assignment"}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Offer-based; Airtasker publishes no turnaround time."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "payment": {"methods": ["card", "prepaid_balance"], "agent_rails": ["card_on_file_api"], "agent_can_pay": true, "prepaid": false, "notes": "Card (Visa, Mastercard, AMEX in AU) via Airtasker Pay on Stripe; Airtasker credits are applied first. The MCP accept_offer tool charges the person's saved method and escrows the price; releasing payment to the Tasker is a manual web step."}, "account": {"agent_may_act": {"allowed": true, "source_url": "https://support.airtasker.com/hc/en-au/articles/58505062391321"}}, "capture": {"by": "people"}, "requester": {"checks": "Users must be natural persons over 18. Posting needs credits, a payment method on file or a membership. ID verification is optional for customers (AU, NZ).", "unknown": "No documented review of what a task asks a Tasker to photograph or whom."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "MCP endpoint, tools, requirements to post, accept_offer charges the Connection Fee", "url": "https://support.airtasker.com/hc/en-au/articles/58505062391321"}, {"claim": "Official first-party MCP server repo and Claude Code plugin", "url": "https://github.com/airtasker/airtasker-mcp-server"}, {"claim": "OAuth protected-resource metadata: authorization server and scopes", "url": "https://mcp.airtasker.com/.well-known/oauth-protected-resource"}, {"claim": "Authorization server: registration_endpoint (dynamic registration) and PKCE S256", "url": "https://id.airtasker.com/.well-known/oauth-authorization-server"}, {"claim": "Not listed in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=airtasker"}, {"claim": "Terms: free posting, 18+ natural persons, no pre-user checks, content-use and licence clauses, 30-day auto-cancel, Stripe payment account, ID verification and badges, model Task Contract", "url": "https://www.airtasker.com/au/terms/"}, {"claim": "Privacy policy: no mention of AI or model training", "url": "https://www.airtasker.com/au/privacy/"}, {"claim": "Connection Fee in Australia", "url": "https://support.airtasker.com/hc/en-au/articles/360031769372"}, {"claim": "Connection Fee in the UK", "url": "https://support.airtasker.com/hc/en-gb/articles/360031769372"}, {"claim": "Connection Fee in the US", "url": "https://support.airtasker.com/hc/en-us/articles/360031769372"}, {"claim": "Connection Fee in New Zealand", "url": "https://support.airtasker.com/hc/en-au/articles/33394422360985"}, {"claim": "Connection Fee in Singapore", "url": "https://support.airtasker.com/hc/en-au/articles/33394261607705"}, {"claim": "Payment methods (card via Airtasker Pay and Stripe)", "url": "https://support.airtasker.com/hc/en-au/articles/360040677652"}, {"claim": "ID Verified badge: government ID plus biometric scan, required before Tasker payout (AU, NZ)", "url": "https://support.airtasker.com/hc/en-au/articles/115012247667"}, {"claim": "Persona is the ID verification provider (AU, NZ)", "url": "https://support.airtasker.com/hc/en-au/articles/42077035636633"}, {"claim": "Release payment only when satisfied; dispute resolution", "url": "https://support.airtasker.com/hc/en-au/articles/360021367692"}, {"claim": "Payment release is a manual web step after the Tasker requests payment", "url": "https://support.airtasker.com/hc/en-au/articles/24932125831321"}, {"claim": "Proof of completion goes by private message", "url": "https://support.airtasker.com/hc/en-au/articles/360001417847"}, {"claim": "AU terms cl. 3.2 and 3.5 (licence wording); no AI, scraping or agent clause", "url": "https://www.airtasker.com/au/terms/"}, {"claim": "ID Verified badge: government photo ID plus live biometric face scan with liveness detection (by a human); AU/NZ only; Taskers verify before payment release", "url": "https://support.airtasker.com/hc/en-au/articles/115012247667"}, {"claim": "Official MCP: an AI assistant posts tasks and accepts offers for the person; accept_offer charges the saved payment method", "url": "https://support.airtasker.com/hc/en-au/articles/58505062391321"}, {"claim": "MCP specification 2026-07-28: dynamic client registration deprecated in favour of Client ID Metadata Documents", "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration"}]}, {"id": "alertcalifornia", "name": "ALERTCalifornia cameras (UC San Diego)", "status": "unclaimed", "provider_url": "https://cameras.alertcalifornia.org/", "tags": ["webcam", "wildfire", "smoke", "PTZ", "mountain", "backcountry", "california", "night vision", "live camera"], "short": "1,289 wildfire-watch PTZ cameras across California; latest frame about every 15 s, no key.", "summary": "UC San Diego's statewide network of high-definition pan-tilt-zoom wildfire cameras with near-infrared night vision, aimed by trained first responders. A public ArcGIS feature service lists every camera with location, online status, current pan/tilt/zoom and a latest-frame image URL. Free for non-commercial use under CC BY-NC-ND 4.0.", "capabilities": {"modalities": ["photo"], "tasks": ["current still from a fixed-site PTZ camera", "visual check for smoke, fire, snow, weather or visibility in California wildlands", "night view via near-infrared", "find cameras by county, radius or bounding box"]}, "pricing": {"model": "free (non-commercial)", "from_usd": 0, "unit": "image", "notes": "Free for non-commercial use with credit. For-profit (commercial) use needs a commercial licence negotiated with UC San Diego's OIC 'with appropriate licensing fees'; no price published."}, "latency": {"typical": "seconds to minutes", "notes": "Provider: camera images update approximately every 15 seconds; camera direction and viewsheds update every two minutes, and images may run ahead of the orientation fields. Sampled 2026-10-26 ~22:01 PDT: latest-frame redirected to JPEGs 24 s and 31 s old; layer max viewTime ~2.5 min old, but some rows' viewTime lag ~24 h even when the frame is seconds old."}, "coverage": {"regions": ["United States (California)"], "notes": "1,289 cameras in the feed, 1,252 online at ~22:01 PDT on 2026-10-26 (1,251 on 2026-10-27); all within California (feed extent 32.59 to 41.93 N). Ridgetop/backcountry sites that can see up to 60 miles by day and 120 miles on a clear night; not street cameras. Operators move the PTZ view and cameras sweep 360 degrees about every two minutes, so the field of view changes. Some mountaintop cameras go offline in winter ('winter mode'). Check isOnline and viewTime per camera: one feed row had a viewTime of 2026-10-25, so some cameras are stale.", "areas": ["US-CA"]}, "licensing": {"summary": "ALERTCalifornia program data is copyrighted by UC San Diego (Regents of the University of California) and licensed CC BY-NC-ND 4.0: non-commercial use with credit 'ALERTCalifornia | UC San Diego', no derivatives; do not crop the information bar or partner logos on screen grabs. For-profit use must contact OIC to negotiate a commercial licence with fees. The terms have no explicit resale clause: \"forbidden\" is inferred from CC BY-NC-ND (no commercial use, no derivatives). AI or ML training is not named; NC and ND make it risky. automation_allowed true only means no ban on automated access; use stays non-commercial.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Capture is automatic. Cameras are aimed by trained first responders and emergency managers, but who aimed a given frame is not exposed."}, "application": {"level": "none", "unknown": "No capture-app or device attestation is published; frames carry ordinary EXIF (make, model, firmware) that is not signed."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Fixed Axis PTZ cameras operated by UC San Diego; the acquisition engine pulls images from the physical cameras over Axis VAPIX. A sampled frame's EXIF reads AXIS Q6075-E, 1920x1080. No per-image sensor proof: EXIF is unsigned, the sampled JPEG had no C2PA manifest, and Axis is not on the C2PA conforming products list."}, "time": {"level": "claimed", "method": "Capture timestamp in the redirected object path, in the x-amz-meta-context timestamp and in EXIF DateTime; per-camera viewTime field in the feed.", "unknown": "Not signed or time-stamped by a third party; the layer's viewTime can lag the image by hours."}, "location": {"level": "claimed", "method": "Fixed site coordinates in the feature service, plus pan/tilt/zoom attached to each stored image and in positionPan/positionTilt/viewZoomScale.", "unknown": "What is in frame depends on the current PTZ; the provider says images may advance ahead of orientation and viewshed updates."}, "content": {"level": "none", "unknown": "No integrity checks on public frames are documented."}, "corroboration": {"level": "none", "unknown": "Colocated cameras exist (colocatedCameras field), and AI fire detections are vetted by watchstanders, but no cross-check of public frames is published."}}, "api": {"available": true, "docs_url": "https://www.arcgis.com/home/item.html?id=0c1c1166688f4f2db938194799337be4", "base_url": "https://services8.arcgis.com/X84q166Srnyl4JMV/arcgis/rest/services/ALERTCalifornia_Camera_Feed/FeatureServer/0", "auth": [{"type": "none", "how_to_get": "The ArcGIS feature service and the latest-frame images are public; no key or sign-in."}], "endpoints": [{"action": "search", "method": "GET", "path": "/query", "params": "where=isOnline='online' (or county='<name>'); geometry=<lon,lat>&geometryType=esriGeometryPoint&distance=<m>&units=esriSRUnit_Meter&inSR=4326; outFields=*; resultOffset for paging; f=json", "notes": "Returns cameraName, siteId, county, isOnline, colocatedCameras, cameraURL, positionPan, positionTilt, viewZoomScale, viewTime and imageURL per camera. At most 50 records per response (maxRecordCount 50)."}, {"action": "fetch", "method": "GET", "path": "https://cameras.alertcalifornia.org/public-camera-data/{cameraId}/latest-frame.jpg", "notes": "302 to a timestamped 1920x1080 JPEG; Cache-Control max-age=10. The stored object carries device, pan, tilt, zoom and timestamp in x-amz-meta-context, and expires after about two days."}], "rate_limits": "Not published. The feature service returns at most 50 records per query.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No entry in the official MCP Registry (searched alertcalifornia, alert-california, ucsd)."}, "notes": "No OAuth: /.well-known/oauth-protected-resource and oauth-authorization-server return 404 on alertcalifornia.org and docs.rd.alertcalifornia.org, 403 on cameras.alertcalifornia.org. The 'Frontend API' at docs.rd.alertcalifornia.org is the operator backend behind an authenticated proxy (CIAM OAuth), not a public API; public users cannot move cameras."}, "freshness": {"mode": "live", "typical_age": "seconds to minutes", "notes": "Provider: images update approximately every 15 seconds."}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "ArcGIS item: 'Camera images update approximately every 15 seconds.' Live samples on 2026-10-26 were 24 s and 31 s old."}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none", "rate_limit": {"batch_max": 50, "scope": "unknown", "notes": "No request rate published; the feature layer returns at most 50 records per query (maxRecordCount).", "source_url": "https://www.arcgis.com/home/item.html?id=0c1c1166688f4f2db938194799337be4"}}, "payment": {"methods": [], "agent_can_pay": false, "prepaid": false, "notes": "No payment for non-commercial use. A commercial licence is negotiated with UC San Diego OIC; no payment method is published."}, "capture": {"by": "devices"}, "requester": {"checks": "None for the public feed. First-responder log-ins (which can move cameras) are reserved for emergency managers trained by ALERTCalifornia. Archive footage requests are taken from media, scientists, partners and government agencies by email; law firms must use UC San Diego's Policy and Records Administration portal.", "unknown": "Nothing can be commissioned; what checks apply to a commercial licence is not published."}, "updated": "2026-10-28", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "sources": [{"claim": "Feature service: 1,289 cameras, 1,252 online, fields (pan/tilt/zoom, viewTime, imageURL, colocatedCameras), viewTime lag, extent within California", "url": "https://services8.arcgis.com/X84q166Srnyl4JMV/arcgis/rest/services/ALERTCalifornia_Camera_Feed/FeatureServer/0/query"}, {"claim": "Layer metadata: query-only capability, maxRecordCount 50", "url": "https://services8.arcgis.com/X84q166Srnyl4JMV/arcgis/rest/services/ALERTCalifornia_Camera_Feed/FeatureServer/0?f=json"}, {"claim": "ArcGIS item: CC BY-NC-ND 4.0 licence and OIC commercial licence; images update ~every 15 s, direction/viewsheds every 2 min; near-infrared night vision; 360-degree sweeps; 60/120-mile view", "url": "https://www.arcgis.com/sharing/rest/content/items/0c1c1166688f4f2db938194799337be4?f=json"}, {"claim": "Terms: copyrighted, CC BY-NC-ND 4.0, commercial licence via OIC with fees; footage request routes", "url": "https://alertcalifornia.org/terms/"}, {"claim": "Credit line 'ALERTCalifornia | UC San Diego'; do not crop the information bar or partner logos", "url": "https://alertcalifornia.org/crediting-and-branding/"}, {"claim": "Non-commercial use with credit; trained first responders move cameras; public cannot; winter mode; first-responder log-ins; archive requests", "url": "https://alertcalifornia.org/faqs/"}, {"claim": "Near-infrared night vision, sweeps every two minutes, AI fire detection vetted by watchstanders", "url": "https://alertcalifornia.org/technology/"}, {"claim": "Latest-frame redirect, x-amz-meta-context PTZ and timestamp, EXIF AXIS Q6075-E, ~2-day object expiry; sampled 24 s old (2026-10-26)", "url": "https://cameras.alertcalifornia.org/public-camera-data/Axis-AntelopeYreka2/latest-frame.jpg"}, {"claim": "Latest frame 31 s old while the layer's viewTime for the same camera was ~24 h old (2026-10-26)", "url": "https://cameras.alertcalifornia.org/public-camera-data/Axis-AntelopeMtn/latest-frame.jpg"}, {"claim": "Frontend API is the operator backend behind an authenticated proxy, not a public API", "url": "https://docs.rd.alertcalifornia.org/Alert.CA.ImageAcquisition/frontend-api/introduction/"}, {"claim": "Acquisition engine talks to physical Axis cameras over VAPIX", "url": "https://docs.rd.alertcalifornia.org/Alert.CA.ImageAcquisition/vapix-service/talking-to-cameras/"}, {"claim": "PTZ position stored as blob metadata with each image", "url": "https://docs.rd.alertcalifornia.org/Alert.CA.ImageAcquisition/image-storage-service/storing-images/"}, {"claim": "No MCP Registry entry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=alertcalifornia"}, {"claim": "Axis is not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Feed count 1,289 total / 1,251 online; viewTime field can be stale", "url": "https://alertcalifornia.org/faqs/"}], "adapter": "alertcalifornia"}, {"id": "appen", "name": "Appen", "provider_url": "https://www.appen.com", "status": "unclaimed", "tags": ["training data", "custom collection", "image collection", "video collection", "audio collection", "remote collection", "on-site collection", "wearables", "AR/VR glasses", "in-car", "crowd", "contributors", "managed service"], "summary": "AI training-data vendor that runs custom data collections with its contributor crowd (CrowdGen): remote collections where contributors capture image, video, audio and location data at home or in public on Appen's multi-device platform and the Appen Mobile app, and supervised on-site sessions (facilities, customer sites, studios, rented homes, in-car, AR/VR glasses and wearables). Sales-led; no ordering API for collections.", "short": "A training-data vendor whose crowd records custom image, video and audio collections, remote or on-site.", "capabilities": {"modalities": ["photo", "video", "audio"], "tasks": ["custom remote image, video and audio collection by contributors at home or in public, using Appen's multi-device platform and the Appen Mobile app", "supervised on-site collection sessions (Appen facilities, customer sites, studios, rented homes, in-car)", "device collections with AR/VR glasses, wearables and smart-home devices, moderated on-site or remotely", "mobile location and points-of-interest data collection"]}, "pricing": {"model": "Not published; contact sales", "from_usd": 0, "unit": "not published", "notes": "from_usd 0 means unknown, not free. The data collection page routes to 'Talk to an expert'; no prices are published."}, "latency": {"typical": "Not published", "notes": "No project turnaround is stated. A 2022 contributor posting (reposted by a third party) describes survey and data collection tasks of 15 minutes to three hours each, which is task length, not project delivery."}, "coverage": {"regions": ["500+ locales (countries not listed)"], "notes": "Appen cites 500+ global locales, 235+ languages and a crowd of over one million contractors; its contributor site says 500,000+ contributors have been paid. On-site sessions run 'across multiple countries'. Which countries have image/video collectors is not published."}, "licensing": {"summary": "Not stated publicly. Appen publishes no customer terms of service on appen.com (its legal-policies page lists only privacy, cookie, ethical-sourcing, whistleblower, anti-corruption and scam pages); terms are set in a sales contract. Ownership, resale and AI-training rights for custom collections, and whether Appen reuses customer data, were not found. Appen cites SOC 2 Type II, ISO 27001, HIPAA and GDPR compliance."}, "verification": {"human": {"level": "claimed", "method": "Contributors join through CrowdGen, Appen's contributor platform, where applicants must 'apply & get verified'; most projects add a qualification process.", "unknown": "What 'verified' checks (identity document, residency or only skills) is not described, and nothing ties a delivered capture to a verified person. CrowdGen's page describes the verification step as an experience review ('Tell us about your experience'); no identity document or liveness check is named."}, "application": {"level": "none", "unknown": "Remote collection runs on Appen's own platform and the Appen Mobile app, but no app or device integrity checks are documented."}, "camera": {"level": "none", "unknown": "No check against imported, re-captured or generated media is described."}, "time": {"level": "none", "unknown": "No trusted capture time is documented."}, "location": {"level": "none", "unknown": "Location data is a collection type, but no method for verifying where an image or video was taken is documented. The Appen Mobile app's App Store privacy label lists only photos, videos and audio, not location."}, "content": {"level": "none", "unknown": "Quality controls described (gold test questions, smart validators, multi-stage review on the annotation platform; 'data abnormality detection' in a 2019 blog) apply to labeling. No review method for collected media is described."}, "corroboration": {"level": "none", "unknown": "No independent cross-check is described."}}, "api": {"available": false, "self_serve": false, "rate_limits": "Not applicable; collections are ordered through sales.", "notes": "No API orders a data collection. Appen's separate annotation platform (ADAP) has a REST API at https://api.appen.com/ (OpenAPI at https://developer.appen.com/open-api.yaml; header 'Authorization: Token token=<key>', key generated in the client profile) covering projects, uploads, WORK and QA jobs, launch, status and CSV downloads. Its create-job call supports only WORK and QA types, not the DATA_COLLECTION job type, and platform access itself routes to 'Talk to our team'. No MCP server is listed in the official MCP Registry."}, "access": {"cost": "quote", "key_required": false, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment methods are published; collections are priced and contracted through sales."}, "freshness": {"mode": "on_demand", "typical_age": "Collected for your project", "notes": "Appen also sells 360+ off-the-shelf datasets in 80+ languages; only custom collection is described here."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround published."}, "capture": {"by": "people"}, "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Remote collections on a proprietary multi-device platform at home or in public (image, video, speech, audio, text, location); supervised on-site sessions at facilities, customer sites, studios, rented homes, in-car across multiple countries; AR/VR glasses, wearables, smart-home devices; location and POI data; 500+ locales; 360+ off-the-shelf datasets in 80+ languages; SOC 2 and ISO 27001; 'Talk to an expert', no pricing", "url": "https://www.appen.com/ai-data/data-collection"}, {"claim": "'we can deploy our global crowd of workers to collect image and video data using our mobile recording tools'; 'Data abnormality detection' listed among labeling quality components (post dated April 2019)", "url": "https://www.appen.com/blog/how-to-create-training-data-for-computer-vision-use-cases"}, {"claim": "'a global crowd of over 1 million skilled contractors'; 235+ languages; 500+ global locales", "url": "https://www.appen.com/blog/what-is-sensor-fusion"}, {"claim": "CrowdGen is Appen's contributor platform; 'Apply & get verified'; qualification process on most projects; 500,000+ contributors paid", "url": "https://crowdgen.com/"}, {"claim": "Appen Mobile app (Appen Pty. Ltd.): tasks include 'taking pictures of objects, taking videos or recording audio'; privacy label lists photos, videos and audio only", "url": "https://apps.apple.com/app/1531991952"}, {"claim": "Annotation platform (ADAP): access via 'Talk to our team'; gold test questions, smart validators, multi-stage review; API and webhooks", "url": "https://www.appen.com/platform"}, {"claim": "ADAP REST API: base https://api.appen.com/, 'Authorization: Token token=<key>'; create-job supports WORK and QA types only; DATA_COLLECTION job type exists", "url": "https://developer.appen.com/open-api.yaml"}, {"claim": "Legal policies page lists no customer terms of service", "url": "https://www.appen.com/legal-policies"}, {"claim": "SOC 2 Type II, ISO 27001:2013, HIPAA, GDPR; secure facilities; no customer data ownership or training terms", "url": "https://www.appen.com/data-security"}, {"claim": "Contributor posting (2022 repost of Appen text): survey and data collection projects last 15 minutes to three hours; qualification exams; some assignments need specific mobile devices", "url": "https://www.concordia.edu.ua/2022/05/contributor/"}, {"claim": "CrowdGen sign-up: 'Apply & get verified. Tell us about your experience.'", "url": "https://crowdgen.com/"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "awign-robotics", "name": "Awign Robotics Data", "provider_url": "https://www.awign.com", "status": "unclaimed", "short": "Robotics training data collected to order by a large Indian gig workforce.", "tags": ["egocentric video", "depth", "tactile", "teleoperation", "UMI gripper", "gig workforce", "robotics", "humanoid", "India"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["egocentric head-mounted RGB, RGB-D and stereo video", "ego camera plus wrist cameras and mocap gloves for hand-pose ground truth", "tactile and contact-rich data", "UMI, two-finger or custom gripper demonstrations", "trained remote teleoperators, or Awign operating the client's hardware", "pilot first, then a production line"]}, "pricing": {"model": "Quote after scoping", "from_usd": 0, "unit": "project", "notes": "Not published. 'Get Custom Quote' form or robotics-quote-request@awign.com."}, "latency": {"typical": "Quote, sample datasets and a project plan promised within 24 hours of a request", "notes": "No production turnaround is published. The site claims 10K+ hours of video per day as capacity."}, "freshness": {"mode": "on_demand", "typical_age": "Pilot first, then scale", "notes": "Capacity claims only; no per-order turnaround."}, "coverage": {"regions": ["India (most programs)", "Japan", "US"], "notes": "Operations stated in India, Japan and the USA; collection is 'run in India' for most programs. Environments include Indian and Western-style homes, offices, commercial sites and factories.", "areas": ["IN", "JP", "US"]}, "licensing": {"summary": "No ownership, licence, AI-training or resale terms for client deliverables are published. The Terms and Conditions page found governs Awign Work Program participants (work product is work made for hire assigned to Awign) and does not address business customers. The FAQ says workflows 'can incorporate' participant consent, PII protection and bystander privacy protocols."}, "verification": {"human": {"level": "claimed", "method": "Gig workforce of '1.5M+ workers' in '1,000+ cities'.", "unknown": "Identity checks and consent for capture work are not documented."}, "application": {"level": "none", "unknown": "No capture-app or device attestation is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Capture tiers with named sensor setups (monocular, stereo, depth/LiDAR, IMU, wrist cameras, mocap gloves, tactile gloves). No signed capture; Awign is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "No signed or independently time-stamped capture times are documented."}, "location": {"level": "none", "unknown": "No location proof is documented."}, "content": {"level": "claimed", "method": "Pilot before production; '98%' labeling accuracy claim; HITL QA.", "unknown": "The accuracy claim has no public evidence; acceptance criteria are not published."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Get Custom Quote form or robotics-quote-request@awign.com on awign.com; choose a SKU, describe requirements, run a pilot."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No server found in the official MCP Registry (searched the provider name, 2026-10-27)."}, "notes": "No API or ordering docs. Not checked: /.well-known documents on awign.com."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Only 'within 24 hours' for the quote, samples and plan; no collection turnaround."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment methods published; contract-based."}, "capture": {"by": "people", "consent": {"documented": false, "method": "FAQ: workflows can incorporate participant consent, PII protection and bystander privacy protocols.", "unknown": "The actual consent and release process is not published."}, "worker_pay": {"model": "not published", "disclosed": false}}, "requester": {"unknown": "Awign publishes no check of who commissions collection or for what; it offers confidential 'stealth operations'."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Awign (Awign Enterprises Pvt. Ltd., a Mynavi company) sells robotics data as tiered SKUs: Ego Vision (monocular RGB), Ego Depth (RGB-D or stereo), Ego Depth Ultra (ego plus wrist cameras and mocap gloves), Ego Touch (tactile), Gripper Vision (UMI or custom grippers), Teleoperations and BYOS (Awign operates the client's hardware). Collection is mostly run in India, with operations also in Japan and the USA. Quotes are requested through a form; sample data and a plan are promised within 24 hours. The only terms found are for Awign's gig participants, so client rights are not stated.", "sources": [{"claim": "SKUs, modalities, India/Japan/USA, 1.5M+ workers, 24-hour quote, consent FAQ, quote form, entity Awign Enterprises Pvt. Ltd. (a Mynavi company)", "url": "https://www.awign.com/"}, {"claim": "Egocentric data for robotics page (title only was readable by the fetch tool)", "url": "https://www.awign.com/business/data-annotation/robotech-egocentric"}, {"claim": "Terms govern Awign Work Program participants; work made for hire; not customer terms", "url": "https://www.awign.com/terms_and_conditions"}]}, {"id": "caltrans-cctv", "name": "Caltrans highway cameras", "status": "unclaimed", "provider_url": "https://cwwp2.dot.ca.gov/", "adapter": "caltrans_cctv", "tags": ["camera", "cctv", "webcam", "traffic camera", "highway", "freeway", "road", "traffic", "road conditions", "weather", "snow", "chain control", "photo", "image", "still", "live", "california", "ca", "bay area", "los angeles", "san diego", "sacramento", "tahoe", "caltrans", "government", "free", "no key"], "summary": "Caltrans' Commercial Wholesale Web Portal (CWWP2) publishes free, keyless per-district JSON/XML/CSV/TXT lists of its ~3,600 California State Highway CCTV cameras, each with coordinates, route/postmile, in-service flag, a current still-image URL refreshed every 1-60 minutes, 12 previous stills, and (for about two-thirds) an HLS streaming URL. Some in-service cameras serve a 'Temporarily Unavailable' placeholder instead of a picture.", "capabilities": {"modalities": ["photo", "video"], "tasks": ["current still image from a highway camera near a California location", "12 previous stills per camera (referenceImage1UpdateAgoURL..referenceImage12UpdatesAgoURL)", "camera catalogue with lat/lon, route, postmile, direction, county, nearby place", "camera in-service status", "HLS streaming video URL where reported (not all reported URLs are live)"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "CWWP2 CCTV page: 'There is no charge for the use of this data.' No account or key."}, "latency": {"typical": "Minutes: stills refresh every 1-60 minutes depending on camera (mostly 1-5)", "notes": "Each camera reports currentImageUpdateFrequency in minutes. In a live pull of all 12 district JSON files (2026-10-27 05:00Z, i.e. 2026-10-26 PDT), of 3,605 cameras: 5 min 1,277; 2 min 1,232; 3 min 505; 1 min 401; 4 min 1; 10-60 min 185; Not Reported 4. Sixteen sampled in-service stills had Last-Modified 0.5-5.5 minutes before fetch. Nothing is captured on request: only fixed cameras on their own schedule."}, "coverage": {"regions": ["California, USA (State Highway System)"], "notes": "Only fixed cameras along Caltrans state highways and freeways, all 12 districts; you cannot place or point a camera. Live count 2026-10-26 (PDT): 3,605 cameras, 3,428 inService=true, all with a currentImageURL, 2,307 with a streamingVideoURL. Not local streets. The district list files update 'as necessary': on 2026-10-26 their Last-Modified dates ranged from 2026-03-02 (D09) to 2026-10-26 (D04, D08), so the catalogue can lag camera changes even though images are fresh.", "areas": ["US-CA"]}, "licensing": {"summary": "CWWP2 says the files are available for integration into your application at no charge, under a Fair Use Policy that prohibits usage risking degradation of the CCTV streaming service, plus the general Caltrans Conditions of Use (dated July 19, 2021). Those say website information, unless otherwise indicated, is considered public domain and may be distributed or copied as permitted by law, but Caltrans uses some copyrighted data (e.g. photographs) that may need additional permission; they do not say whether CCTV stills fall under public domain. Neither page mentions AI training, resale or attribution. As-is, no warranty, no implied endorsement."}, "verification": {"human": {"level": "none", "unknown": "Not applicable: images come from fixed agency-operated cameras, not people"}, "application": {"level": "none", "unknown": "No signing or provenance metadata on images (plain JPEG with an EXIF DateTime and a text comment giving county, route, postmile and elevation); integrity rests on fetching from the Caltrans domain over HTTPS"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each record identifies a specific Caltrans CCTV by index and location name (e.g. 'TV102 -- I-580 : West of SR-24'); image URLs are per camera. Camera hardware, pan/tilt state and field of view are not reported; operators may move PTZ cameras so the view may differ from the location description"}, "time": {"level": "claimed", "method": "Each JPEG carries an EXIF DateTime and a burned-in date/time bar (Pacific time); image HTTP responses carry Last-Modified, and the JSON gives a refresh interval per camera.", "unknown": "Nothing is signed. In a 2026-10-26 sample the times disagreed: one image's EXIF and overlay time was 8.7 minutes older than its Last-Modified, and another's EXIF time was 18 minutes ahead of the fetch while its overlay was current, so neither header nor EXIF reliably dates the picture. recordTimestamp is when the catalogue record was last modified, not the image time. Previous-image URLs return Last-Modified 1970-01-01."}, "location": {"level": "claimed", "method": "Each camera has WGS84 latitude/longitude, elevation, route, postmile, direction of travel and county in the catalogue.", "unknown": "Coordinate accuracy and the camera's actual viewing direction are not documented; 'direction' is the side of the road, not necessarily the view"}, "content": {"level": "none", "unknown": "Raw camera stills with no QC. In a 2026-10-26 sample, 6 of 17 cameras marked inService=true returned a 'Temporarily Unavailable' placeholder that still carried a fresh time bar, EXIF time and Last-Modified, so neither inService nor freshness means a real picture. Images can also be dark, frozen or obstructed."}, "corroboration": {"level": "none", "unknown": "No cross-checking; nearby cameras on the same route can be compared manually"}}, "freshness": {"mode": "live", "typical_age": "Typically 1-5 minutes for the current image; up to ~60 minutes for slow cameras", "notes": "currentImageURL is overwritten in place at each update; referenceImageNUpdatesAgoURL gives up to 12 previous images (so roughly the last hour at 5-minute cadence). No longer archive is offered."}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "Per-camera currentImageUpdateFrequency of 1-60 minutes (mostly 1-5) in the CWWP2 CCTV JSON; live images had Last-Modified within ~5.5 minutes of fetch."}, "api": {"available": true, "docs_url": "https://cwwp2.dot.ca.gov/closed-circuit-television-cameras.html", "base_url": "https://cwwp2.dot.ca.gov/data", "auth": [{"type": "none", "how_to_get": "No signup or key; static files over HTTPS."}], "endpoints": [{"action": "list", "method": "GET", "path": "/d{district}/cctv/cctvStatusD{district:02}.json", "params": "district 1-12 (e.g. /d4/cctv/cctvStatusD04.json); also .xml, .csv, .txt with the same data", "notes": "Whole-district static file (D04 ~2.5 MB, 764 cameras). Shape: {data:[{cctv:{index, recordTimestamp, location{district, locationName, nearbyPlace, latitude, longitude, elevation, direction, county, route, postmile, milepost}, inService, imageData{imageDescription, streamingVideoURL, static{currentImageUpdateFrequency, currentImageURL, referenceImageUpdateFrequency, referenceImage1UpdateAgoURL..referenceImage12UpdatesAgoURL}}}}]}. No server-side filtering: pick the district and filter by lat/lon client-side. Numbers are strings. A missing streamingVideoURL is an empty string (1,297 cameras), not 'Not Reported'; one is malformed ('ttps://...'). Sends Access-Control-Allow-Origin: *."}, {"action": "fetch", "method": "GET", "path": "/d{district}/cctv/image/{camera}/{camera}.jpg", "params": "use currentImageURL from the list verbatim", "notes": "Current 320x260 JPEG still (~7-65 KB observed). Sends Last-Modified and Access-Control-Allow-Origin: * (checked with an Origin header), so browsers can fetch it directly. Previous stills at /previous/{camera}-{1..12}.jpg (all 3,605 cameras list 12)."}, {"action": "fetch", "method": "GET", "path": "https://wzmedia.dot.ca.gov/D{district}/{stream}.stream/playlist.m3u8", "params": "use streamingVideoURL from the list verbatim", "notes": "HLS playlist (application/vnd.apple.mpegurl) on a separate host. In a 2026-10-26 sample of 50 in-service cameras with a stream URL, 34 returned the playlist and 16 returned 404."}], "rate_limits": "No numeric limit published. Fair Use Policy: usage that risks degrading the availability of the CCTV streaming service is prohibited. Cache the district lists (they change 'as necessary') and don't poll images faster than their update frequency.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No Caltrans or CWWP2 server in the official MCP Registry (searches for caltrans, cwwp2, dot.ca.gov and 'california traffic' returned none)."}, "notes": "No OAuth or discovery documents: /.well-known/oauth-protected-resource, oauth-authorization-server, ucp, agent-card.json and irlpls return HTTP 500 on cwwp2.dot.ca.gov and a 404 page on dot.ca.gov."}, "sources": [{"claim": "CWWP2 aggregates real-time traveler information from Caltrans' 12 districts from ITS devices including CCTV; data in CSV, JSON, TXT and XML", "url": "https://cwwp2.dot.ca.gov/"}, {"claim": "CCTV files describe location and status of each Caltrans CCTV on the State Highway Network; available via HTTPS for integration into applications; no charge; Fair Use Policy prohibits usage that risks degrading the CCTV streaming service; see Caltrans Conditions of Use; per-district files D01-D12 updated 'as necessary'", "url": "https://cwwp2.dot.ca.gov/closed-circuit-television-cameras.html"}, {"claim": "Field definitions: recordDate/recordTime = when the record was last modified (PST/PDT); currentImageUpdateFrequency in minutes 1-1440 or 'Not Reported'; currentImageURL and reference image 1-12 updates-ago URLs; inService true/false/Not Reported; lat/lon WGS84; direction = direction of travel the CCTV is located on", "url": "https://cwwp2.dot.ca.gov/documentation/cctv/cctv-field-description.html"}, {"claim": "Caltrans website information, unless otherwise indicated, is considered public domain and may be distributed or copied as permitted by law, but Caltrans uses copyrighted data (e.g. photographs) that may require permission; no warranty; no endorsement; no mention of AI training, resale or automated access (Conditions of Use dated July 19, 2021)", "url": "https://dot.ca.gov/conditions-of-use"}, {"claim": "Live test 2026-10-27 05:00Z (2026-10-26 PDT): all 12 district JSON files returned 200; 3,605 cameras, 3,428 in service, 2,307 with streaming URL, 1,297 with empty streaming URL; all list 12 previous images; update frequency mostly 1-5 min; D04 Access-Control-Allow-Origin: *; district file Last-Modified from 2026-03-02 (D09) to 2026-10-26", "url": "https://cwwp2.dot.ca.gov/data/d4/cctv/cctvStatusD04.json"}, {"claim": "Live test 2026-10-27 05:00Z: current image 200 image/jpeg, 320x260, Last-Modified 04:56:53Z, EXIF DateTime and burned-in time 21:56:53 PDT, Access-Control-Allow-Origin: * with Origin header; picture was a 'Temporarily Unavailable' placeholder although inService=true; previous-image URL returned 200 with Last-Modified 1970-01-01", "url": "https://cwwp2.dot.ca.gov/data/d4/cctv/image/tv102i580westofsr24/tv102i580westofsr24.jpg"}, {"claim": "Live test 2026-10-27 05:03Z: this in-service still had EXIF DateTime and overlay 21:53:10 PDT but Last-Modified 05:01:53Z (8.7 minutes later)", "url": "https://cwwp2.dot.ca.gov/data/d7/cctv/image/us101611pilgrimagebridge/us101611pilgrimagebridge.jpg"}, {"claim": "Live test 2026-10-27 05:00Z: HLS playlist returned 200 application/vnd.apple.mpegurl (34 of 50 sampled in-service stream URLs returned 200, 16 returned 404)", "url": "https://wzmedia.dot.ca.gov/D3/50_Wrights_Lake_ED50_EB_2.stream/playlist.m3u8"}, {"claim": "No Caltrans server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=caltrans"}], "updated": "2026-10-28", "short": "About 3,400 California highway cameras, with stills refreshed every few minutes.", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none"}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "capella", "name": "Capella Space", "status": "unclaimed", "provider_url": "https://www.capellaspace.com/", "tags": ["satellite", "satellite imagery", "SAR", "synthetic aperture radar", "radar", "X-band", "night", "through clouds", "all-weather", "tasking", "repeat tasking", "monitoring", "earth observation", "remote sensing", "aerial", "spotlight", "stripmap", "api", "global"], "summary": "Operator of a synthetic aperture radar (SAR) satellite constellation that images through cloud and at night. Its Console and REST API let you task a new point or area capture in a UTC window, choose a collection tier (urgent, priority, standard, flexible), set up repeat tasking down to a 24-hour cycle, review a cost estimate before approving, track status, and download the delivered collect. Capella advertises 0.25 m resolution and 93% of collects delivered in under 3 hours. Access is by signed order form, invoiced in USD.", "capabilities": {"modalities": ["aerial"], "tasks": ["task a new SAR capture of a point (e.g. Spotlight) or an area (stripmap_100 only) within a UTC window", "collection tiers urgent, priority, standard and flexible (repeat requests: routine or flexible)", "repeat tasking of a point every N days (minimum cycle 24 hours), until a count, an end date, or cancelled", "retask an earlier request, an existing archive collect, or a repeat series", "imaging geometry constraints: look direction, ascending/descending, orbital plane (45, 53, 97), off-nadir, azimuth, grazing angle, squint, day/night or custom local time", "cost estimate and approve/reject before scheduling (or pre-approve)", "status tracking (received, review, submitted, active, accepted, completed, rejected, expired, and others) and signed-URL download of the delivered product"]}, "pricing": {"model": "cost estimate per tasking request, approved before scheduling; fees invoiced", "from_usd": 0, "unit": "per tasking request (price not published)", "notes": "from_usd 0 means unknown, not free. No public price list was found. Each tasking request returns a cost estimate (order.summary.total; repeat requests: costPerImageEstimate) for approval. Fees are payable in US dollars, invoiced monthly in arrears and due net 30; payments are non-cancelable and non-refundable; cancelling an accepted order incurs the cancellation fees in Capella's Product Guide."}, "latency": {"typical": "93% of collects delivered in under 3 hours (provider claim)", "notes": "Homepage: '93% Data Collects Delivered in Under 3 Hours', '15-minute scheduling cycles', '2-15 Revisit Opportunities Per Day'. Capture happens inside the window you set (windowOpen/windowClose); the docs give no minimum lead time, and the standard tier has a minimum window duration whose value isn't stated. The Standard Terms say any delivery date is an estimate only."}, "coverage": {"regions": ["Global (subject to orbit passes and scheduling)"], "notes": "Homepage: '24/7 global coverage'. SAR works through cloud and at night. Acceptance depends on the scheduler: requests can be rejected (e.g. conflicting tasks), expire, or stay 'active' without a guarantee of full collection until 'accepted'. Accounts are not available to persons barred from receiving services under US law.", "areas": ["*"]}, "licensing": {"summary": "Tasked data is licensed, not sold, under Capella's License Agreement (EULA v2.1, May 2026): a non-exclusive, non-transferable, non-sublicensable licence for the customer's Internal Use, including derivatives for Internal Use, plus an express right to 'use Data to train Models that Customer uses to provide services or deliverables to Third Parties' (Models must not contain or enable reconstruction of the raw Data). Selling, distributing, sublicensing or making Data or Derivatives publicly available is prohibited unless authorised; Capella keeps title to the Data and to Derivatives made by or for Capella; the customer owns its Models and its own contributions (Sec. 11). Bulk download or scraping is barred (EULA 9(m); website ToS Sec. 3 and 12). Use across more than one organisation needs Capella Legal. Console/API evaluation accounts are internal, non-commercial only. U.S. Government licences come via the NRO. Separate open-data collections are CC BY 4.0 / CC BY 2.0 (context only).", "ai_training": "allowed", "resale": "forbidden", "buyer_owns_output": false}, "freshness": {"mode": "on_demand", "typical_age": "Captured inside the window you set, usually delivered within hours", "notes": "Capella also sells an archive; irlpls lists it for new tasked captures."}, "api": {"available": true, "docs_url": "https://docs.capellaspace.com/", "base_url": "https://api.capellaspace.com", "auth": [{"type": "api_key_header", "header": "Authorization", "env_var": "CAPELLA_API_KEY", "how_to_get": "Needs an active Capella Console account, which follows a signed order form (no public self-serve sign-up was found). In Console, Account Profile > API Keys > Create, or POST /keys; send as 'Authorization: ApiKey <key>'. Keys are shown once and are valid for 90 days from creation or last use; unused keys are deleted."}, {"type": "bearer", "header": "Authorization", "how_to_get": "The docs show 'Authorization: Bearer <token>' as an alternative to ApiKey (e.g. on POST /keys) but do not say how to obtain a token."}], "endpoints": [{"action": "list", "method": "GET", "path": "/collectiontypes", "notes": "Available collection types."}, {"action": "order", "method": "POST", "path": "/task", "params": "GeoJSON Feature (Point, or Polygon for stripmap_100) with properties windowOpen, windowClose, collectionTier, collectionType, collectConstraints, preApproval", "notes": "Creates a tasking request; unless pre-approved it waits in 'review' with a cost estimate and is not scheduled until approved."}, {"action": "quote", "method": "GET", "path": "/task/{taskingRequestId}", "notes": "When transactionStatus is 'pending-customer-approval', order.summary.total holds the cost estimate."}, {"action": "order", "method": "PATCH", "path": "/task/{taskingRequestId}/status", "params": "{\"status\": \"approved\"} or {\"status\": \"rejected\"}", "notes": "Approve or reject at review."}, {"action": "order", "method": "POST", "path": "/repeat-requests", "params": "Point geometry; repeatStart, repetitionInterval (days), repetitionCount / repetitionEnd / untilCanceled, collectionTier (routine/flexible), collectionType", "notes": "Repeat tasking for points; estimate in costPerImageEstimate at 'review'; approve with PATCH /repeat-requests/{id}/status {\"code\": \"submitted\"}."}, {"action": "status", "method": "GET", "path": "/task/{taskingRequestId}", "notes": "statusHistory, newest first: received, review, submitted, active, accepted, rejected, expired, completed, canceled, error, anomaly, retrying. Repeat requests: GET /repeat-requests/{repeatRequestId}."}, {"action": "list", "method": "POST", "path": "/tasks/paged", "params": "limit, page, organizationId (query)", "notes": "Bulk listing of tasking requests, recommended over per-task polling."}, {"action": "order", "method": "POST", "path": "/orders/task/{taskingRequestId}", "notes": "Orders the products of a completed tasking request."}, {"action": "fetch", "method": "GET", "path": "/orders/{orderId}/download", "notes": "Returns STAC-like items whose asset hrefs are signed cloud-storage URLs (cloud optimized GeoTIFF)."}, {"action": "fetch", "method": "POST", "path": "/catalog/search", "notes": "STAC search (collections capella-geo, capella-slc); use only to fetch metadata of a commissioned collect, e.g. by capella:collect_id."}], "rate_limits": "No numeric limits published; the docs recommend bulk endpoints such as tasks/paged to reduce call volume.", "self_serve": false, "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No Capella server in the official MCP Registry (search 'capella' returned 0 on 2026-10-26)."}, "notes": "No OAuth discovery: /.well-known/oauth-protected-resource and oauth-authorization-server are 404 on www.capellaspace.com and 403 'Missing Authentication Token' on api.capellaspace.com. No webhooks are documented; poll status. automation_allowed is true for the documented API; the website ToS (Sec. 12) bans data-mining robots on the site, and the EULA bars bulk scraping outside the Documentation."}, "adapter": "capella", "verification": {"human": {"level": "none", "unknown": "Captured by Capella's satellites, not individual people"}, "application": {"level": "none", "unknown": "No public signing or checksum scheme for delivered files was found; downloads are signed (time-limited) storage URLs, which authenticate access, not content. Capella is not on the C2PA conforming products list."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Collects come from Capella's own SAR satellites; requests can constrain orbital plane and geometry. Sensor identity and parameters are operator-asserted"}, "time": {"level": "claimed", "method": "Captures fall inside the requested UTC window", "unknown": "Collect times appear in product metadata, but how they are validated is not documented"}, "location": {"level": "claimed", "method": "Requests target a GeoJSON point or polygon; products are geolocated", "unknown": "Geolocation accuracy was not found in the pages read"}, "content": {"level": "none", "unknown": "No public method for detecting manipulated SAR imagery"}, "corroboration": {"level": "none", "unknown": "No documented cross-check against other sensors"}}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Capella homepage: '93% Data Collects Delivered in Under 3 Hours'; total time also depends on the tasking window and scheduler acceptance, and the Standard Terms call any delivery date an estimate."}, "sources": [{"claim": "POST /task, /repeat-requests, retask endpoints, /collectiontypes; windowOpen/windowClose; tiers urgent/priority/standard/flexible (repeat: routine/flexible); repeat minimum 24 hours; area tasks stripmap_100 only; collectConstraints incl. orbitalPlanes, squint, grazing angle, localTime", "url": "https://docs.capellaspace.com/constellation-tasking/tasking-requests"}, {"claim": "Cost estimate in order.summary.total when transactionStatus is pending-customer-approval; repeat costPerImageEstimate; approve/reject via PATCH; preapproval skips review", "url": "https://docs.capellaspace.com/constellation-tasking/cost-review-and-approval"}, {"claim": "Status endpoints and status codes; statusHistory; tasks/paged; no webhooks", "url": "https://docs.capellaspace.com/constellation-tasking/tasking-request-status/"}, {"claim": "POST /orders, /orders/task/{id}, GET /orders/{id}/download with signed URLs; cloud optimized GeoTIFF; bulk endpoints recommended", "url": "https://docs.capellaspace.com/accessing-data/ordering-and-downloading/"}, {"claim": "Active Console account required; 'Authorization: ApiKey'; Bearer alternative shown; key shown once; valid 90 days from creation or last use", "url": "https://docs.capellaspace.com/authentication/requesting-api-key"}, {"claim": "0.25 m SAR resolution; 93% of collects delivered in under 3 hours; 15-minute scheduling cycles; self-service Console and API; 2-15 revisit opportunities per day; 24/7 global coverage", "url": "https://www.capellaspace.com/"}, {"claim": "Licence documents: Standard Terms, Single Organization EULA (multi-org via Capella Legal), Evaluation Agreement, NRO-issued USG licences, CC BY open-data collections", "url": "https://www.capellaspace.com/legal/data-licensing"}, {"claim": "EULA v2.1 (May 2026): Internal Use licence; s4(c) right to train Models used for third-party services; s9(a) no selling, distributing or publishing Data/Derivatives; s11 licensed not sold, Capella owns Data and Derivatives, customer owns Models; fees in USD, invoiced net 30, non-refundable", "url": "https://cdn.prod.website-files.com/6970b8a0eb7e9ae5e1a148f0/6a2367ddd1ca422d18b6afba_Capella%20Consolidated%20License%20Agreement%20v2.1%2005292026.pdf"}, {"claim": "Standard Terms: orders bind when signed by both parties; Capella may reject orders; Capella API 'allows for the development of automated workflows'; monthly invoicing net 30 in USD; delivery dates are estimates; cancellation fees", "url": "https://cdn.prod.website-files.com/6970b8a0eb7e9ae5e1a148f0/69cae81cb0532a5019516691_Capella-CPQ-Order-Terms-and-Conditions.pdf"}, {"claim": "Evaluation Agreement: Console/API via signed order form; internal, non-commercial evaluation; accounts unavailable to persons barred under US law", "url": "https://cdn.prod.website-files.com/66b32de523b6c4b17bad83f2/67855e662735c4d2288a9154_Capella%20Space%20Evaluation%20Agreement%20v1.2.pdf"}, {"claim": "Console/API Terms of Service (prohibited conduct, robots clause, redistribution unless authorised)", "url": "https://www.capellaspace.com/legal/terms-of-service"}, {"claim": "STAC catalog search", "url": "https://docs.capellaspace.com/accessing-data/searching-for-data"}, {"claim": "No Capella server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=capella"}, {"claim": "Website ToS: bans robots and data mining on the Site (Sec. 12) and bulk downloads (Sec. 3)", "url": "https://www.capellaspace.com/legal/terms-of-service"}], "updated": "2026-10-28", "spec_version": "2026-10-26", "short": "Radar satellites tasked by API, through cloud and at night, with repeat tasking and cost review.", "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "contract"}, "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}, "payment": {"methods": ["invoice"], "agent_can_pay": false, "prepaid": false, "notes": "Fees in US dollars, invoiced (monthly for delivered products unless the order says otherwise), due net 30; 1.5%/month interest on late amounts. Orders bind only once both parties sign."}, "requester": {"checks": "Orders are subject to Capella's review and acceptance and must be signed by both parties; accounts are unavailable to persons barred from US services; the customer must comply with export, sanctions and regulatory limits on each order.", "unknown": "Capella's actual screening process for customers (KYC depth, use-case review) is not published."}}, {"id": "claru", "name": "Claru", "provider_url": "https://claru.ai", "status": "unclaimed", "short": "Custom-collected egocentric video and teleoperation data for robotics, enriched per clip.", "tags": ["egocentric video", "teleoperation", "robotics", "physical AI", "VLA", "custom collection", "annotation", "contributors"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["first-person video of manipulation, locomotion, cooking, driving and workplace tasks across 10 categories", "capture on GoPro and DJI wearable cameras or smartphones (4K/60fps)", "teleoperation recordings with synchronised camera and action streams", "per-clip enrichment: depth, pose, segmentation, optical flow, action labels", "custom collection scoped per engagement"]}, "pricing": {"model": "Quote after scoping", "from_usd": 0, "unit": "project", "notes": "No price published. 'Tell us what you're training. We'll scope the dataset.' Terms s.8 describe recurring subscription billing for the web service."}, "latency": {"typical": "Pipelines launch within days of engagement, after a 1-2 week calibration phase; then weekly delivery batches", "notes": "Egocentric page. QA turnaround is stated as same-day."}, "freshness": {"mode": "on_demand", "typical_age": "Captured per engagement; weekly batches after calibration", "notes": "A data catalog of pre-collected datasets (100+) also exists; that is archive, not a commission."}, "coverage": {"regions": ["Not itemised (cities in 14+ countries claimed)"], "notes": "llms.txt says '10,000+ data collectors across 100+ cities, 6 continents, 14+ countries'; the egocentric page says only 'Global coverage' and lists no countries."}, "licensing": {"summary": "The only terms found are the Terms of Service (Jan 2025, Reka AI, Inc. d/b/a Claru AI): users retain ownership of content they submit (s.4), and 'Data you provide may be used to train, improve, and develop our AI and machine learning models' (s.7). No clause covers ownership, licence, AI-training or resale rights in datasets Claru delivers, and the egocentric page says nothing on licensing. Rights in delivered data are therefore unstated; vendor_trains_on_data is the s.7 statement about data a user provides. Contributor consent process is not described beyond participation being 'voluntary'.", "vendor_trains_on_data": "yes"}, "verification": {"human": {"level": "claimed", "method": "'10,000+ data collectors' who join through a voluntary side-revenue model.", "unknown": "Collector identity checks and consent forms are not published."}, "application": {"level": "none", "unknown": "No capture-app or device attestation is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: GoPro and DJI wearable cameras (219K+ clips) and smartphones (155K+ clips). No signed capture; Claru is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "No signed or independently time-stamped capture times are documented."}, "location": {"level": "none", "unknown": "No location proof is documented."}, "content": {"level": "claimed", "method": "Task instructions and quality thresholds configured per engagement; same-day QA turnaround; per-clip metadata and enrichment. Automated upload-time validation of resolution, duration, orientation and file integrity, then same-day human QA.", "unknown": "Acceptance criteria and QC results are not published. 'File integrity' here means a valid file, not a tamper-evident one."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Contact form at claru.ai/solutions/egocentric-video-data or contact@claru.ai; book a call via the link in llms.txt."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No server found in the official MCP Registry (searched the provider name, 2026-10-27)."}, "notes": "No API or ordering docs. No /.well-known/ucp, agent-card.json, irlpls or oauth-protected-resource document found on claru.ai (2026-10-27). Terms s.6 prohibit automated systems accessing the Services without written consent, which is aimed at the web service."}, "delivery": {"modes": ["commission"], "speed": "weeks", "basis": "'within days of engagement' after a '1-2 week' calibration phase, then weekly batches (egocentric page).", "formats": ["rlds", "hdf5", "zarr", "lerobot", "webdataset", "rosbag", "mcap"]}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No checkout published. Terms s.8 describe advance recurring billing for subscriptions; dataset engagements are scoped by contact."}, "capture": {"by": "contributors", "consent": {"documented": false, "unknown": "Participation is called 'voluntary'; no consent or release process is described."}, "worker_pay": {"model": "side-revenue model for collectors", "disclosed": false, "notes": "No rates published."}}, "requester": {"unknown": "Claru publishes no check of who commissions collection or for what."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Claru (Reka AI, Inc., d/b/a Claru AI; founded 2024) sells egocentric video, teleoperation recordings and annotations for physical AI. It states 500K+ egocentric clips and 10K+ collectors in 100+ cities. Custom collection is scoped per engagement with GoPro, DJI or smartphone capture; pipelines launch 'within days' after a 1-2 week calibration phase, then weekly batches. No price is published. Its only published terms are a subscription Terms of Service (Jan 2025) that say data provided may be used to train Claru's models, so ownership and rights of delivered datasets are not stated.", "sources": [{"claim": "Custom collection: GoPro/DJI/smartphone, 10 categories, days to launch, 1-2 week calibration, weekly batches, same-day QA, scope-by-contact form", "url": "https://claru.ai/solutions/egocentric-video-data"}, {"claim": "First-person clips 386K+ split by device; ~500 contributors figure on the teleoperation page; no price", "url": "https://claru.ai/solutions/teleoperation-data"}, {"claim": "Legal entity Reka AI Inc.; 10,000+ collectors, 100+ cities, 14+ countries; delivery formats; enrichment; founded 2024; contact", "url": "https://claru.ai/llms.txt"}, {"claim": "Terms of Service: content ownership, s.7 data used to train Claru models, s.6 automated access, s.8 billing", "url": "https://claru.ai/terms"}, {"claim": "No Claru server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=claru"}, {"claim": "Upload-time validation of resolution, duration, orientation and file integrity, then same-day human QA", "url": "https://claru.ai/solutions/egocentric-video-data"}]}, {"id": "copernicus-sentinel", "name": "Copernicus Sentinel (Copernicus Data Space Ecosystem)", "status": "unclaimed", "provider_url": "https://dataspace.copernicus.eu", "short": "Free EU Sentinel radar and optical satellite imagery, usually online 1-4 hours after each pass.", "summary": "The EU's Copernicus Data Space Ecosystem serves new Sentinel-1 (C-band radar, works day and night through cloud), Sentinel-2 (13-band optical, 10 m best) and other Sentinel products free, via STAC, OData, S3, Sentinel Hub and openEO, with PUSH/PULL catalogue subscriptions and a public Traceability service whose traces carry signed product hashes.", "tags": ["satellite", "sentinel", "copernicus", "SAR", "radar", "multispectral", "optical", "open data", "free", "STAC", "global", "traceability"], "capabilities": {"modalities": ["aerial", "sensor"], "tasks": ["find the newest Sentinel-1/Sentinel-2 product over a place (STAC or OData search, keyless)", "subscribe to new products matching an area and filter (PUSH or PULL, account needed)", "download full products (token) or render a cropped image or index via the Sentinel Hub Process API", "check a product's BLAKE3 hash against its signed Traceability trace"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "per product", "notes": "Free for Copernicus General Users: 12 TB download per rolling 30 days (then slowed to 1 MB/s and 1 connection, not cut off), 4 concurrent connections; Sentinel Hub 10,000 requests and 10,000 processing units per month."}, "latency": {"typical": "about 1 h (Sentinel-1 GRD) to about 3.5-4 h (Sentinel-2 L2A) after sensing", "notes": "Measured on 2026-10-26 (UTC early 27th) by keyless STAC search: a Sentinel-1C GRD COG sensed 03:49:59Z was published 04:44:50Z (55 min); a Sentinel-2C L2A tile sensed 00:58:11Z was published 04:32-04:34Z (about 3 h 35 min). The Sentinel-1 mission page says marine monitoring services need data 'typically in less than 3 hours'. The next pass depends on orbit; there is no tasking."}, "coverage": {"regions": ["Global (systematic acquisition plans)"], "areas": ["*"], "notes": "No country limit. Sentinel-2 systematically covers land between 56\u00b0 S and 82.8\u00b0 N, coastal waters to 20 km, islands over 100 km\u00b2 and closed seas, not open ocean. Sentinel-1 follows its observation scenario; revisit depends on orbit and there is no tasking."}, "licensing": {"summary": "Sentinel Data Legal Notice (EU law): free, full and open access; reproduction, distribution, communication to the public, and adaptation, modification and combination are permitted 'in so far as it is lawful'; credit 'Copernicus Sentinel data [Year]' (or 'Contains modified Copernicus Sentinel data [Year]'). No warranty; rare limits for security, third-party rights or service disruption. Other portal content is non-commercial only, and the Terms say \"ESA and T-Systems do not grant the right to resell or redistribute any information, documents, images or material\" (portal-content context, not the Sentinel Legal Notice). Neither AI training nor resale is named, so both stay unstated."}, "verification": {"human": {"level": "none", "unknown": "No people capture the data; satellites operated for the EU by ESA."}, "application": {"level": "none", "unknown": "No device or app attestation applies; satellites are operated for the EU by ESA. The signed Traceability record is a custody record, not attestation, and is listed under provenance.custody (STANDARD \u00a73, 3.1)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Mission, satellite and instrument (MSI optical, C-SAR radar) are named in the product name and metadata. Instrument identity rests on product metadata; nothing signs it at the sensor."}, "time": {"level": "claimed", "method": "Sensing start and end times in product name and metadata", "unknown": "Sensing time is in product metadata; not independently attested. The trace timestamp shows only when CDSE registered the product."}, "location": {"level": "claimed", "method": "Footprint geometry and orbit in product metadata", "unknown": "Geolocation comes from product metadata and orbit data; not independently attested."}, "content": {"level": "none", "unknown": "No manipulation detection. Integrity since CDSE registered the product can be checked against the signed Traceability record (provenance.custody), but that is not a capture-time seal: there is no C2PA hard binding."}, "corroboration": {"level": "none", "unknown": "Not cross-checked by a third party."}}, "provenance": {"custody": {"level": "claimed", "method": "CDSE's public Traceability service keeps a trace per product: the event (CREATE at registration), a BLAKE3 hash of the product (per-file hashes on most products), the holder (origin cdse_csc@dataspace.copernicus.eu) and the time, signed RSA-SHA256 with an X.509 certificate for trace.dataspace.copernicus.eu. Anyone can fetch the trace without a login, re-hash a download and compare.", "evidence_url": "https://trace.dataspace.copernicus.eu/api/v1/traces/name/S2A_MSIL1C_20230420T100021_N0509_R122_T33UVP_20230420T120027.SAFE.zip", "unknown": "One documented hop (ground segment registration to you), signed by CDSE itself, not an independent party; it shows the bytes match what CDSE registered, not what the sensor saw. The sampled trace is timestamped 2024-06-19 but its signing certificate (GeoTrust TLS RSA CA G1) was valid only 2023-05-16 to 2024-05-15, so a strict X.509 check at signing time fails; the hashes can still be recomputed. Whether the list of traces is append-only is not documented, and some traces carry only the product hash. Kept at claimed: the trace is signed by the operator itself and the sample's signing certificate had expired before the trace date, so a strict public check fails.", "sources": [{"claim": "Traceability: signed traces of a product's lifecycle events let users verify authenticity and integrity", "url": "https://documentation.dataspace.copernicus.eu/APIs/Traceability.html"}, {"claim": "Sample trace: CREATE event, BLAKE3 product and file hashes, signature block (certificate expired 2024-05-15, trace 2024-06-19)", "url": "https://trace.dataspace.copernicus.eu/api/v1/traces/name/S2A_MSIL1C_20230420T100021_N0509_R122_T33UVP_20230420T120027.SAFE.zip"}]}}, "freshness": {"mode": "live", "typical_age": "1-4 hours after the latest pass"}, "delivery": {"modes": ["live"], "speed": "hours", "basis": "Sentinel-1 mission page: near-real-time data 'typically in less than 3 hours'; measured publication lag 55 min (Sentinel-1 GRD) to about 3.6 h (Sentinel-2 L2A); subscriptions notify on each new product."}, "access": {"cost": "free with key", "key_required": true, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none", "rate_limit": {"requests": 60, "per_seconds": 60, "scope": "per-ip", "notes": "Keyless STAC search. With a token: 240 per minute, bursts up to 10/s. Sentinel Hub 300 requests and 300 processing units per minute; downloads 4 connections at 20 MB/s; S3 2,000 requests per minute (Quotas page).", "source_url": "https://dataspace.copernicus.eu/news/2026-10-16-new-sfeos-stac-catalogue-endpoint"}}, "api": {"available": true, "self_serve": true, "docs_url": "https://documentation.dataspace.copernicus.eu/APIs.html", "base_url": "https://stac.opensearch.dataspace.copernicus.eu/v1", "auth": [{"type": "none", "how_to_get": "STAC and OData catalogue search and Traceability lookups need no account."}, {"type": "oauth2", "token_url": "https://identity.dataspace.copernicus.eu/auth/realms/CDSE/protocol/openid-connect/token", "client_id": "cdse-public", "env_var": "CDSE_USER / CDSE_PASSWORD", "transport": "rest", "how_to_get": "Free CDSE account (register, verify e-mail); password grant with client cdse-public (add totp if 2FA is on) returns a bearer token valid 10 minutes plus a refresh token valid 60 minutes. Needed for OData download and subscriptions."}, {"type": "oauth2", "token_url": "https://identity.dataspace.copernicus.eu/auth/realms/CDSE/protocol/openid-connect/token", "transport": "rest", "how_to_get": "Sentinel Hub APIs: create an OAuth client (client ID and secret) in the Sentinel Hub dashboard under User Settings, then use the client_credentials grant."}, {"type": "other", "how_to_get": "S3 access to eodata.dataspace.copernicus.eu: generate an access key and secret key with an expiry date after logging in to the CDSE account."}], "endpoints": [{"action": "search", "method": "GET", "path": "/search", "params": "collections, bbox|intersects, datetime, filter, sortby, limit"}, {"action": "search", "method": "GET", "path": "https://catalogue.dataspace.copernicus.eu/odata/v1/Products", "params": "$filter, $orderby, $top, $expand=Attributes"}, {"action": "fetch", "method": "GET", "path": "https://download.dataspace.copernicus.eu/odata/v1/Products({id})/$value", "notes": "Bearer token from the cdse-public password grant"}, {"action": "fetch", "method": "POST", "path": "https://sh.dataspace.copernicus.eu/process/v1", "notes": "Sentinel Hub Process API: cropped image or index for an area; Sentinel Hub OAuth client token"}, {"action": "fetch", "method": "GET", "path": "https://catalogue.dataspace.copernicus.eu/odata/v1/Subscriptions({subscription_id})/Read", "params": "$top (up to 20)", "notes": "PULL subscription queue of new-product notifications; create with POST /odata/v1/Subscriptions and acknowledge with /Ack?$ackid=; bearer token; at most 2 running subscriptions per user"}, {"action": "fetch", "method": "GET", "path": "https://trace.dataspace.copernicus.eu/api/v1/traces/name/{product_name}", "notes": "Keyless; signed trace with BLAKE3 product hash"}], "rate_limits": "STAC search 60 requests/min per IP keyless, 240/min with a token, bursts up to 10/s; Sentinel Hub 300 requests/min and 300 processing units/min; downloads 4 concurrent connections at 20 MB/s each; S3 2,000 requests/min; subscriptions 2 running (10 total) per user", "mcp": {"first_party": false, "community": "io.github.pipeworx-io/copernicus-dataspace (third-party gateway, https://gateway.pipeworx.io/copernicus-dataspace/mcp)"}, "notes": "STAC, OData search and trace lookups are keyless; a key (token) is needed only to download products and for subscriptions. STAC moved to stac.opensearch.dataspace.copernicus.eu/v1 (announced 2026-10-16); the old stac.dataspace.copernicus.eu/v1 runs alongside until 2027-01-12, then is replaced. Free-text search now sorts by relevance by default, so send sortby=-datetime for newest first."}, "updated": "2026-10-28", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}, "requester": {"checks": "A free account with a verified e-mail and accepted terms is needed to download or subscribe; search needs none. One person or organisation must not use many accounts to bypass quotas.", "unknown": "No identity check beyond e-mail is documented; nobody is sent to a place."}, "payment": {"methods": [], "agent_can_pay": true, "notes": "Free; no payment."}, "sources": [{"claim": "New STAC endpoint stac.opensearch.dataspace.copernicus.eu/v1 (published 2026-10-16); old stac.dataspace.copernicus.eu/v1 runs alongside until 12 January 2027, then is replaced; 60 requests/min per IP unauthenticated, 240/min with a token, bursts 10 requests/s; relevance-based default sort", "url": "https://dataspace.copernicus.eu/news/2026-10-16-new-sfeos-stac-catalogue-endpoint"}, {"claim": "APIs: STAC, OData, S3, Sentinel Hub, openEO, Traceability, subscriptions", "url": "https://documentation.dataspace.copernicus.eu/APIs.html"}, {"claim": "Traceability service: signed traces, X.509 certificates, CDSE certificate authority, keyless example URL", "url": "https://documentation.dataspace.copernicus.eu/APIs/Traceability.html"}, {"claim": "Live trace (fetched 2026-10-26): hash_algorithm BLAKE3, product and per-file hashes, signature algorithm RSA-SHA256 with certificate", "url": "https://trace.dataspace.copernicus.eu/api/v1/traces/name/S2A_MSIL1C_20230420T100021_N0509_R122_T33UVP_20230420T120027.SAFE.zip"}, {"claim": "Free quotas: 12 TB per rolling 30 days then throttled, 4 connections at 20 MB/s, token 10 min / refresh 60 min; Sentinel Hub 10,000 requests and 10,000 PU per month, 300/min; S3 2,000 requests/min", "url": "https://documentation.dataspace.copernicus.eu/Quotas.html"}, {"claim": "Sentinel data licence terms, permitted uses and attribution", "url": "https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice"}, {"claim": "Terms and conditions: Sentinel data under the Legal Notice; portal content non-commercial; registration required for EO data; no multi-account quota bypass; no ban on API use", "url": "https://dataspace.copernicus.eu/terms-and-conditions"}, {"claim": "Registration: self-serve form and e-mail verification", "url": "https://documentation.dataspace.copernicus.eu/Registration.html"}, {"claim": "Token: password grant, client cdse-public, optional totp", "url": "https://documentation.dataspace.copernicus.eu/APIs/Token.html"}, {"claim": "OData search keyless; download needs bearer token at download.dataspace.copernicus.eu", "url": "https://documentation.dataspace.copernicus.eu/APIs/OData.html"}, {"claim": "STAC 1.1.0 catalogue (formerly at stac.dataspace.copernicus.eu/v1, now stac.opensearch.dataspace.copernicus.eu/v1) with search, collections and filter", "url": "https://documentation.dataspace.copernicus.eu/APIs/STAC.html"}, {"claim": "Keyless STAC search on the new host returned the newest Sentinel-2 L2A product with datetime, eo:cloud_cover, published and a self link (2026-10-28; Sentinel-1 checked on the old host 2026-10-26)", "url": "https://stac.opensearch.dataspace.copernicus.eu/v1/search?collections=sentinel-2-l2a&bbox=6.8889,50.8950,7.0311,50.9850&sortby=-datetime&limit=1"}, {"claim": "PUSH/PULL subscriptions, token required, Read/Ack endpoints, 2 running subscriptions per user", "url": "https://documentation.dataspace.copernicus.eu/APIs/Subscriptions.html"}, {"claim": "Sentinel Hub OAuth clients and client_credentials grant", "url": "https://documentation.dataspace.copernicus.eu/APIs/SentinelHub/Overview/Authentication.html"}, {"claim": "Sentinel Hub Process API endpoint (example request)", "url": "https://documentation.dataspace.copernicus.eu/APIs/SentinelHub/Process/Examples/S2L2A.html"}, {"claim": "S3 endpoint eodata.dataspace.copernicus.eu and access/secret key generation", "url": "https://documentation.dataspace.copernicus.eu/APIs/S3.html"}, {"claim": "Sentinel-2: 13 bands (four at 10 m), 290 km swath, systematic coverage of land 56\u00b0 S to 82.8\u00b0 N", "url": "https://sentiwiki.copernicus.eu/web/s2-mission"}, {"claim": "Sentinel-1: C-band SAR, day and night, regardless of weather; near-real-time data typically under 3 hours", "url": "https://sentiwiki.copernicus.eu/web/s1-mission"}, {"claim": "Community (third-party) MCP server listed in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=copernicus"}, {"claim": "Trace signing certificate subject trace.dataspace.copernicus.eu, issuer DigiCert/GeoTrust; users may use public-CA or CDSE CA certificates", "url": "https://documentation.dataspace.copernicus.eu/APIs/Traceability.html"}, {"claim": "Quota: over 12 TB, speed 1 MB/s and 1 connection", "url": "https://documentation.dataspace.copernicus.eu/Quotas.html"}, {"claim": "Traceability service: signed traces of each product's lifecycle events", "url": "https://documentation.dataspace.copernicus.eu/APIs/Traceability.html"}], "adapter": "copernicus"}, {"id": "defined-ai", "name": "Defined.ai", "provider_url": "https://defined.ai", "status": "unclaimed", "adapter": "defined-ai", "tags": ["training data", "custom collection", "image collection", "video collection", "speech collection", "egocentric video", "robotics sensor data", "gestures", "facial expressions", "crowd", "contributors", "managed service", "enterprise API", "formerly DefinedCrowd"], "summary": "AI training-data company (formerly DefinedCrowd) that, besides its dataset marketplace, runs custom collections with a vetted global crowd through its Neevo platform: images (everyday objects, facial expressions, gestures), video (egocentric POV, action sequences, behavioural clips), speech recordings, and wearable sensor data for robotics. Collections are scoped to demographic, language and compliance requirements. Sales-led and quote-only; an enterprise REST API (OAuth2 client credentials) lets account holders clone project templates, upload prompts, track status and download deliverables.", "short": "A training-data vendor that commissions custom image, video, speech and sensor collections from a vetted crowd.", "capabilities": {"modalities": ["photo", "video", "audio", "sensor"], "tasks": ["custom image collection (everyday objects, facial expressions, gestures) by a vetted crowd", "custom video collection (egocentric POV, cinematic-quality video, action sequences, behavioural clips)", "custom speech collection (scripted monologues recorded on contributors' devices, spontaneous dialogues and IVR calls over telephony)", "synchronized wearable sensor collection for robotics (POV video, gaze, depth, hand and body motion capture, grip force)", "collections scoped to demographic, language and compliance requirements"]}, "pricing": {"model": "Quote", "from_usd": 0, "unit": "not published", "notes": "from_usd 0 means unknown, not free. No prices for custom collection; volume discounts by quotation. Marketplace payments are USD by ACH bank transfer, with purchase orders and SOWs on request; no refunds."}, "latency": {"typical": "Not published", "notes": "The data-collection page says datasets are 'delivered quickly and competitively' with no timeline; the FAQ says custom orders take longer than marketplace purchases. One robotics case study reports 225 hours of sensor data collected in two weeks within a two-month timeframe."}, "coverage": {"regions": ["150+ countries (not listed)"], "notes": "Defined.ai cites 1.6M+ contributors in 150+ countries (also '150+ markets') and 500+ languages and locales across all services; how many capture images or video, and where, is not published. The public API's language list names locales, not collection countries. An in-house recording studio operates in Lisbon."}, "licensing": {"summary": "The FAQ says all Defined.ai datasets are covered by its standard Data License Agreement (effective 30 Nov 2022). That licence is non-exclusive, non-sublicensable and non-transferable; \u00a71(c) permits internal use and commercial exploitation of models trained, tested or benchmarked on the data, provided the data is not made available and the model does not output recognisable contributor content (e.g. TTS voices, avatars). \u00a71(b)(ii) and \u00a71(c) forbid selling, sublicensing or otherwise commercialising the data itself, and \u00a74 says Defined.ai owns all rights in the data. The site says every dataset is 'fully consented, copyright-cleared, and privacy-compliant' (GDPR, HIPAA). Use is for internal business operations only (\u00a71(c)), and on termination (60 days' notice, or breach) the licensee must delete or return all copies of the data (\u00a78), despite the FAQ calling the licence perpetual. Whether a custom collection contract changes these terms, including ownership or exclusivity, is not published.", "ai_training": "allowed", "resale": "forbidden"}, "verification": {"human": {"level": "claimed", "method": "A 'vetted' crowd recruited through owned channels, ad platforms and local partners; contributors accept the terms, privacy policy and a job-specific NDA and MSA; 'rigorously trained, verified annotators'. Scripted-speech deliveries include information about the speaker.", "unknown": "Screening method and identity checks for contributors who capture images or video are not documented."}, "application": {"level": "none", "unknown": "Collection runs through Defined.ai's Neevo platform and tools, but no check that a capture came from a genuine, unmodified app or device is documented. Scripted-speech deliveries name the recording device, without proof."}, "camera": {"level": "none", "unknown": "No check against imported, re-captured or generated media is described."}, "time": {"level": "none", "unknown": "No trusted capture time is documented in general. One robotics case study describes timestamped streams with global UTC time, as a project requirement, without a checkable proof."}, "location": {"level": "none", "unknown": "No location capture or check is documented in general. One robotics case study mentions location metadata as a project requirement, with no verification described."}, "content": {"level": "claimed", "method": "Multi-layer validation: automated checks plus multi-pass human review, with real-time monitoring dashboards; scripted speech is validated by multiple human annotators; the robotics case study tracked drop-frame rate and frame rate as KPIs.", "unknown": "Review criteria and error rates are not published."}, "corroboration": {"level": "none", "unknown": "No independent cross-check of individual captures is described. ISO 27001, 27701 and 42001 certifications cover management systems, not the captured content."}}, "api": {"available": true, "self_serve": false, "docs_url": "https://developers.definedcrowd.com/", "base_url": "https://api.production-na01.definedcrowd.com/v2.0/public", "auth": [{"type": "oauth2", "header": "Authorization", "how_to_get": "Client-credentials flow at https://auth.definedcrowd.com/connect/token with an Access Key ID and Secret created in the Enterprise Portal (enterprise.definedcrowd.com); an Enterprise account is set up by contacting sales@defined.ai. Send the token as 'Authorization: Bearer <JWT>'.", "scopes": ["PublicAPIv2"], "dynamic_registration": false, "transport": "rest"}], "endpoints": [{"action": "list", "method": "GET", "path": "/projects", "notes": "List the account's projects."}, {"action": "order", "method": "POST", "path": "/projects/{sourceProjectId}/clone", "notes": "Clone a project from a workflow template; then upload input units (POST /projects/{projectId}/inputUnits, schema from GET /projects/{projectId}/inputUnitsSchema). The project starts automatically when the upload finishes."}, {"action": "status", "method": "GET", "path": "/projects/{projectId}/status"}, {"action": "fetch", "method": "GET", "path": "/projects/{projectId}/deliverables/{deliverableId}/download", "notes": "List deliverables first with GET /projects/{projectId}/deliverables."}], "rate_limits": "Not published.", "notes": "OpenAPI 3.0.1 at https://api.production-na01.definedcrowd.com/swagger/docs/external. The named workflow templates are Mean Opinion Score, Pronunciation Validation and ABx testing (audio and text evaluation); the docs say templates 'can be data collection specific', showing customer prompts in Defined.ai's collection tools, but no image or video collection template is documented. Also: subscriptions (email or webhook notifications), cancel, delete, and a 402 'accountNotEnoughCredits' error. GET /languages answers without a key. No MCP server: the MCP Registry has no Defined.ai or DefinedCrowd entry.", "mcp": {"remote": null, "registry_name": null}}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "enterprise"}, "payment": {"methods": ["invoice"], "agent_can_pay": false, "notes": "USD by ACH bank transfer; purchase orders, SOWs and other documentation on request (FAQ, written for marketplace purchases). Custom collections are priced by quotation."}, "requester": {"unknown": "No checks on who commissions a collection are published. Academic discounts follow 'a certain due diligence'; the licence includes US export-control obligations."}, "freshness": {"mode": "on_demand", "typical_age": "Collected for your project", "notes": "Defined.ai also sells 700+ ready-made datasets on its marketplace; only custom collection is described here."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround published; the site says only 'delivered quickly and competitively', and the FAQ says custom orders take longer."}, "capture": {"by": "people"}, "updated": "2026-10-27", "expires": "2027-10-27", "sources": [{"claim": "Custom collection across audio, image, video, text and multimodal: everyday objects, facial expressions, gestures; egocentric POV, cinematic, action-sequence and behavioural clips; sensor-based robotics data; 1.6M+ experts, 150+ countries, 500+ languages; 'delivered quickly and competitively'; fully consented and copyright-cleared; multi-layer validation and real-time dashboards (redirect target of the old /ai-data-collection-generation URL)", "url": "https://defined.ai/solutions/data-collection"}, {"claim": "Custom collection scoped to accuracy, demographic, language and compliance requirements; 700+ marketplace datasets; Crowd-as-a-Service; 150+ markets; legal documents list", "url": "https://defined.ai/llms.txt"}, {"claim": "Contributor recruitment and NDA/MSA; scripted speech recorded on-device with speaker and device information; dialogue and IVR via telephony; standard licence covers all datasets and permits commercialised models; custom collection can be ordered; USD ACH payment, POs and SOWs; no refunds; custom orders take longer; academic due diligence", "url": "https://defined.ai/faq"}, {"claim": "Data License Agreement: non-exclusive, non-sublicensable licence; no sale or sublicensing of the data (\u00a71(b)); models trained, tested or benchmarked on the data may be commercialised (\u00a71(c)); Licensor owns the data (\u00a74); export control (\u00a79(g))", "url": "https://defined.ai/data-license-agreement"}, {"claim": "Website terms: robots and automated access to the website are prohibited (applies to the website, not the API)", "url": "https://defined.ai/terms-of-use"}, {"claim": "Public API: Enterprise account via sales; OAuth2 client credentials with PublicAPIv2 scope; base URL; clone, upload, status and deliverables endpoints; workflow templates", "url": "https://developers.definedcrowd.com/"}, {"claim": "OpenAPI 3.0.1 document with endpoints, Bearer JWT header and error codes", "url": "https://api.production-na01.definedcrowd.com/swagger/docs/external"}, {"claim": "OAuth metadata: token endpoint, PublicAPIv2 scope, client_credentials grant, PKCE plain/S256, no registration endpoint", "url": "https://auth.definedcrowd.com/.well-known/openid-configuration"}, {"claim": "Robotics sensor collection: 225 hours of synchronized POV video, gaze, depth, motion-capture and force data in two weeks within two months; drop-frame KPI; UTC time and location metadata as project requirements", "url": "https://defined.ai/case-study/sensor-data-collection-robotics"}, {"claim": "Crowd-as-a-Service via the Neevo platform; scripted speech recorded on mobile devices and validated by multiple annotators", "url": "https://defined.ai/use-cases/crowd-as-a-service-use-case"}, {"claim": "ISO 27001, 27701 and 42001 certification; consent-based sourcing with no scraping; multi-pass QA and verified annotators", "url": "https://defined.ai/about-us/ai-governance"}, {"claim": "No Defined.ai or DefinedCrowd server in the MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=definedcrowd"}, {"claim": "DLA \u00a71(c) internal use, \u00a78 termination and deletion", "url": "https://defined.ai/data-license-agreement"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "digitraffic-marine-ais", "name": "Digitraffic Marine (Finnish AIS vessel positions)", "provider_url": "https://www.digitraffic.fi/en/marine-traffic/", "short": "Live AIS ship positions in Finnish waters; free, keyless, CC BY.", "summary": "Fintraffic's Digitraffic open-data service serves vessel locations and vessel metadata collected from AIS messages broadcast by vessels in Finnish waters, gathered from the Finnish Transport Infrastructure Agency's data sources, by keyless REST/JSON and by MQTT over WebSockets. AIS Class A position and metadata messages only, with fishing vessels removed.", "tags": ["ship", "vessel", "ais", "maritime", "finland", "baltic", "mqtt", "open data", "no key", "live tracking"], "capabilities": {"modalities": ["sensor"], "tasks": ["latest position, speed, course and heading of vessels in Finnish waters", "vessel details by MMSI: name, call sign, IMO, destination, draught, ship type, dimensions", "vessel locations changed since a given time", "push stream of vessel locations and metadata over MQTT, per vessel or all", "port calls and sea-state estimates from the same service"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "No price or key is mentioned on the pages read; the data are open data under CC BY 4.0."}, "latency": {"typical": "Seconds to a minute (not published as a figure)", "notes": "The location response carries a dataUpdatedTime stamp and each position has a timestampExternal in epoch milliseconds. Live check: dataUpdatedTime was 2026-10-27T15:40:21Z in a request made at about 15:40Z. MQTT topics also have a status message giving when each type was last updated."}, "coverage": {"regions": ["Finnish waterways (Gulf of Finland, Baltic and Bothnian coasts as received)"], "notes": "The page is titled 'Open data from Finnish waterways' and the data come from the Finnish Transport Infrastructure Agency's sources. Live sample: vessels at about 60N 25-28E (Gulf of Finland). The pages read do not give receiver coverage. Only AIS class A messages are served; fishing vessels (type 30) are filtered out and other vessel types are modified by published rules.", "areas": ["FI"]}, "licensing": {"summary": "Terms of service: \"Fintraffic's open data is licensed under the Creative Commons 4.0 By license. It gives the right to distribute, remix, tweak, and build upon our data, even commercially, as long as you credit the source.\" Required attribution example: \"Source: Fintraffic / digitraffic.fi, license CC 4.0 BY\". The terms do not mention AI training or resale by name."}, "verification": {"human": {"level": "none", "unknown": "AIS is broadcast by vessels; no identity of a person is attested."}, "application": {"level": "none", "unknown": "AIS messages are not signed in this feed."}, "camera": {"level": "none", "unknown": "Not a camera source."}, "time": {"level": "claimed", "method": "Each location has a timestamp and timestampExternal, and the response has dataUpdatedTime.", "unknown": "These come from the vessel and the receiver/service and are unsigned."}, "location": {"level": "claimed", "method": "Positions are the vessel's own AIS-reported GNSS fix, with a posAcc accuracy flag.", "unknown": "AIS positions are self-reported and can be wrong or spoofed; nothing here authenticates them."}, "content": {"level": "claimed", "method": "Digitraffic documents filtering (fishing vessels removed) and modification of vessel type values.", "unknown": "The feed is not a complete vessel census: filtered types and non-class-A traffic are absent."}, "corroboration": {"level": "none", "unknown": "No independent confirmation of a position is provided."}}, "freshness": {"mode": "live", "typical_age": "seconds to minutes", "notes": "REST gives the latest known position per vessel; MQTT pushes updates."}, "delivery": {"speed": "minutes", "basis": "MQTT over WebSockets gives push updates (wss://meri.digitraffic.fi:443/mqtt); the REST locations response carries dataUpdatedTime.", "modes": ["live"]}, "api": {"available": true, "self_serve": true, "docs_url": "https://www.digitraffic.fi/en/marine-traffic/", "base_url": "https://meri.digitraffic.fi", "auth": [{"type": "none", "how_to_get": "No key. Send Accept-Encoding: gzip (mandatory; 406 otherwise) and, recommended, a Digitraffic-User header naming your app, with no personal data."}], "endpoints": [{"action": "list", "method": "GET", "path": "/api/ais/v1/locations", "params": "latitude, longitude, radius (km, haversine), from/to (epoch ms; from defaults to 24 hours back), mmsi (per the OpenAPI document)", "notes": "GeoJSON FeatureCollection with mmsi, sog, cog, navStat, rot, posAcc, raim, heading, timestamp, timestampExternal. The live call with no filter returned 924 vessels."}, {"action": "list", "method": "GET", "path": "/api/ais/v1/vessels", "notes": "Vessel metadata: callSign, destination, draught, eta, imo, mmsi, name, posType, reference points, shipType, timestamp."}, {"action": "list", "method": "MQTT wss://meri.digitraffic.fi:443/mqtt", "path": "vessels-v2/{mmsi}/locations and vessels-v2/{mmsi}/metadata", "notes": "MQTT over WebSockets; wildcards allowed (vessels-v2/#); vessels-v2/status gives last update time. Test server meri-test.digitraffic.fi."}], "rate_limits": "Per the instructions page, without the Digitraffic-User header the limits are per IP, including 60 requests/minute for general use, 5 for MQTT and 60 for the tie/meri V1 interfaces; exceeding gives 429. Using the header raises the allowance (amount not stated).", "notes": "The positions are of ships, not people, but crew and passengers could be traced; follow rule 9 of the agent manual for any request about a specific named person. Gzip is mandatory except for weather camera images. API versions are announced beta first and deprecated ones run six more months with Deprecation and Sunset headers."}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "gate": "none", "rate_limit": {"requests": 60, "per_seconds": 60, "scope": "per-ip", "notes": "Without the Digitraffic-User header (MQTT: 5 per minute); the header raises the allowance (no figure published). 429 on excess. gzip required.", "source_url": "https://www.digitraffic.fi/en/support/instructions/"}}, "sources": [{"claim": "Marine traffic data: AIS locations and vessels endpoints, MQTT address, topics, Finnish waterways, Finnish Transport Infrastructure Agency sources, example locations and metadata messages", "url": "https://www.digitraffic.fi/en/marine-traffic/"}, {"claim": "AIS: class A messages only, fishing vessels filtered, vessel type rules", "url": "https://www.digitraffic.fi/en/marine-traffic/ais/"}, {"claim": "Terms: CC 4.0 BY, commercial use, attribution requirements and example", "url": "https://www.digitraffic.fi/en/terms-of-service/"}, {"claim": "Digitraffic-User header, mandatory gzip (406), per-IP rate limits without header, 429, API lifecycle", "url": "https://www.digitraffic.fi/en/support/instructions/"}, {"claim": "Live GET of /api/ais/v1/locations (924 features, dataUpdatedTime) and /api/ais/v1/vessels", "url": "https://meri.digitraffic.fi/api/ais/v1/locations"}, {"claim": "OpenAPI: /api/ais/v1/locations parameters latitude, longitude, radius (km), from (default 24 h back), to, mmsi; property meanings (sog 102.3, cog 360 and heading 511 = not available; timestampExternal = record time in epoch ms)", "url": "https://meri.digitraffic.fi/swagger/openapi.json"}], "status": "unclaimed", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "capture": {"by": "devices"}, "adapter": "digitraffic-marine-ais"}, {"id": "dojah-scout", "name": "Scout by Dojah", "status": "unclaimed", "provider_url": "https://scout.dojah.io", "short": "Nigerian address checks by field agents: GPS-stamped photos and signed verdict.", "summary": "Address verification by physical visit in Nigeria. A business sends an address (name and address fields) through the API or dashboard; the nearest enrolled field agent is offered the job, photographs the building, street and gate in the app, each photo GPS-stamped and content-hashed at capture, and automated checks (seven, per the site) test distance, device integrity and authenticity. The client gets an HMAC-signed webhook with an outcome such as address_confirmed and links to the evidence. Clients are businesses under a separate service agreement; access starts from a demo request.", "tags": ["people", "address-verification", "field-audit", "photos", "kyc", "nigeria", "africa", "webhook", "api"], "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["address verification", "building and street photos at an address", "confirm a person lives or works at an address", "report that an address does not exist"]}, "pricing": {"model": "Not published; agent price is set per job by Dojah", "from_usd": 0, "unit": "verification", "notes": "No client price is published; the site's call to action is 'Book a demo'. Agents see each job's price in Naira before claiming it."}, "latency": {"typical": "Not stated", "notes": "No turnaround is published. The terms say each job has a claim window and that a job not completed in time returns to the pool."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No client turnaround is stated on scout.dojah.io; four-step flow only (request, claim, capture, verdict).", "formats": ["json", "jpeg"]}, "freshness": {"mode": "on_demand", "notes": "Each result comes from a new visit to the address."}, "coverage": {"regions": ["Nigeria"], "notes": "Footer: 'Ground-truth address verification \u00b7 Nigeria'; 'Nigeria-wide coverage'. Agent density by state is not published; the request takes state, LGA and street. Agents must be legally able to work in Nigeria.", "areas": ["NG"]}, "licensing": {"summary": "Clients' rights are in a separate service agreement that is not public. The public agent terms say 'All evidence, results and other content you create through the app belong to Dojah and its clients' and that Dojah may use it for the verification service, quality review, fraud prevention and training its systems. The privacy policy names the client as data controller and Dojah as processor for applicants' data. Resale and AI-training rights for clients are not stated."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "api": {"available": true, "self_serve": false, "base_url": "https://scout-api.dojah.services", "auth": [{"type": "api_key_header", "header": "x-intake-key", "how_to_get": "Not published. Keys follow a demo and a client service agreement ('Book a demo' on https://scout.dojah.io)."}], "endpoints": [{"action": "order", "method": "POST", "path": "/v1/intake/verifications", "params": "first_name, last_name, street, lga, state (example body); optional coordinates; idempotency key", "notes": "From the site's curl example. Result comes by HMAC-signed webhook (event address_verification.completed, outcome e.g. address_confirmed) with evidence links."}], "mcp": {"remote": null, "registry_name": null, "first_party": false}, "notes": "Site: 'One typed call to request, one signed webhook to receive. Idempotent, versioned, and documented.' The documentation itself is not public: scout.dojah.io/docs and /developers, scout-api.dojah.services/docs and /openapi.json all returned 404. No /.well-known/agent-card.json, /ucp or oauth-protected-resource on scout.dojah.io. dojah.io/llms.txt exists (marketing site) and forbids large-scale training use of its content."}, "capture": {"by": "people", "worker_pay": {"model": "per job price shown before claiming; paid in Naira only when the submission is approved", "disclosed": false, "notes": "Independent contractors enrolled by Dojah operations staff."}}, "requester": {"checks": "Business clients sign a separate service agreement; Dojah's agent terms require agents to keep applicants' details private and to photograph people or documents only if the app asks.", "unknown": "The service agreement is not public. Every request names a person at an address (first and last name), so this is a person-linked service; whether Dojah restricts requests to lawful KYC purposes is not published."}, "verification": {"human": {"level": "claimed", "method": "Agents must be enrolled by a Dojah operations team member (phone number on a roster), complete training with an assessment, and may be asked to verify identity with BVN or NIN and a selfie. Trust-scored and tiered.", "unknown": "BVN/NIN checks are conditional ('may ask'); no per-result identity proof is shown to the client."}, "application": {"level": "claimed", "method": "Server-side automated QA states it checks 'device integrity' (method not named; not stated to be attestation); each account is tied to one handset; fake-location apps and modified handsets are forbidden.", "unknown": "Which attestation (Play Integrity, App Attest or other) is used is not published."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: photos are taken in the app and content-hashed at capture ('content-sealed the instant it's taken'); a hash is not a signature, and no signing key, signer or format is named. The hash is Dojah's own and cannot be checked by a buyer without Dojah; no C2PA or conforming-product claim."}, "time": {"level": "claimed", "method": "Evidence is stamped at capture; QA checks timing; the result is signed.", "unknown": "Time source and whether any trusted timestamp is used are not published."}, "location": {"level": "claimed", "method": "Each photo is GPS-stamped; QA checks distance from the address and catches 'spoofed location, mock GPS'; the dashboard compares the address pin with where the agent stood.", "unknown": "Accepted distance threshold and how mock GPS is detected are not published."}, "content": {"level": "claimed", "method": "Bundles are content-hashed and cannot 'be edited, swapped, or reused across jobs'; results are HMAC-signed. Automated checks catch 'spoofed location, mock GPS, edited photos, and duplicates'; every submission is checked 'automatically and by our review team, for location, timing, image integrity and consistency' (terms).", "unknown": "A shared-secret signature proves origin to the client only; no public evidence URL exists, and what a photo must show is set by the app, not the buyer."}, "corroboration": {"level": "none", "unknown": "One agent per visit; no second source is described."}}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Product page: owned network of trust-scored field agents; request-claim-capture-verdict flow; GPS-stamped, content-hashed photos; seven automated checks; signed webhook; Nigeria; Book a demo; curl example for POST /v1/intake/verifications with x-intake-key", "url": "https://scout.dojah.io/"}, {"claim": "Agent terms (v1.0, effective 7 Sep 2026): enrolment by operations, training, BVN/NIN may be requested; no fake location; evidence belongs to Dojah and its clients; independent contractors; paid in Naira on approval; clients covered by a separate service agreement", "url": "https://scout.dojah.io/terms"}, {"claim": "Privacy policy: client is controller, Dojah processor for applicants' data; Nigeria Data Protection Act 2023", "url": "https://scout.dojah.io/privacy"}, {"claim": "Dojah llms.txt: marketing site content, large-scale training not allowed", "url": "https://dojah.io/llms.txt"}, {"claim": "Photos GPS-stamped and 'content-sealed'; automated QA (distance, device integrity, authenticity); HMAC-signed webhook", "url": "https://scout.dojah.io/"}, {"claim": "Identity via BVN or NIN and a selfie; account tied to one handset; every submission checked automatically and by a review team", "url": "https://scout.dojah.io/terms"}]}, {"id": "doordash-tasks", "name": "DoorDash Tasks", "status": "unclaimed", "provider_url": "https://developer.doordash.com/en-US/tasks", "short": "Dashers photograph or check a place on request. US, design partners only.", "summary": "DoorDash's programme that pays its couriers (Dashers) for short on-the-ground jobs, offered to businesses: photos of menus, storefronts, shelves, store condition and property damage, structured inspection checklists, and item transport. The developer site says a Dasher can be engaged anywhere in the U.S. with a single API call; no endpoints, auth or prices are published and access is by contacting the team (design partners). Available in select US places, excluding California, New York City, Seattle and Colorado.", "tags": ["people", "photos", "inspection", "property", "shelf-audit", "storefront", "gig", "us", "api", "design-partners"], "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["storefront photo", "menu and dish photography", "entrance and delivery-zone walkthrough", "retail shelf and inventory capture", "store condition documentation", "property damage photos", "pre/post construction documentation", "structured inspection checklist", "real estate listing exterior photos", "item transport"]}, "pricing": {"model": "Not published; per task, set by DoorDash", "from_usd": 0, "unit": "task", "notes": "No client price is published. The announcement says Dasher pay is 'shown upfront and determined based on effort and complexity of the activity'."}, "latency": {"typical": "Not stated", "notes": "No turnaround is published. The only timing statement is that listing photos are delivered 'before the first showing'."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Real-World Task Dispatch page: no turnaround stated except listing photos 'delivered before the first showing'.", "formats": ["photo"]}, "freshness": {"mode": "on_demand", "notes": "Tasks are performed by a Dasher after the order; no archive."}, "coverage": {"regions": ["USA, select places"], "notes": "Announcement (19 Mar 2026): 'currently available in select places in the U.S., excluding California, New York City, Seattle and Colorado'; 'plan to expand into more task types and countries'. The dispatch page says 'anywhere in the U.S.' and the hero says Dashers 'can reach almost anywhere in the U.S.'; the two are not reconciled.", "areas": ["US"]}, "licensing": {"summary": "No licence, data-ownership or AI-training terms for Tasks clients are published on the pages read. Rights are not stated; treat as not granted until a client agreement says otherwise."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "approval"}, "api": {"available": true, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Not published. The developer pages offer 'Talk to our team' and say DoorDash is 'building with design partners across industries'."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "Registry search 'doordash' (2026-10-27) returned only a third-party food-delivery server (@striderlabs/mcp-doordash), unrelated to Tasks."}, "notes": "The page claims 'Engage a Dasher anywhere in the U.S. with a single API call' but publishes no docs, base URL, endpoints or auth. /.well-known/oauth-protected-resource and /.well-known/agent-card.json on developer.doordash.com redirected (302) and were not served as metadata."}, "payment": {"methods": [], "agent_can_pay": false, "prepaid": false, "notes": "Not published."}, "capture": {"by": "people", "worker_pay": {"model": "per task, shown upfront, based on effort and complexity", "disclosed": false}}, "requester": {"unknown": "Not published. Whether DoorDash screens clients or forbids tasks aimed at a specific person is not stated on the pages read."}, "verification": {"human": {"level": "claimed", "unknown": "The Dasher-wide policy is published, but not whether Tasks, or the standalone Tasks app in pilot, apply it. Re-verification is sampled, not per task, and nothing per result shows which Dasher captured it. No independent audit, so not evidenced.", "method": "Dashers verify identity at sign-up with a government ID and a selfie through Persona, pass a background check, and are asked for real-time selfie re-verification (150,000+ a week per DoorDash, Dec 2024)."}, "application": {"level": "none", "unknown": "No app or device attestation is described."}, "camera": {"level": "none", "unknown": "No capture signing or C2PA is described."}, "time": {"level": "none", "unknown": "No timestamp method is described; delivery time is not documented."}, "location": {"level": "none", "unknown": "No location proof is described; how a Dasher is shown to have been at the address is not published."}, "content": {"level": "none", "unknown": "The announcement does not say how completed tasks are verified; any review process is unpublished."}, "corroboration": {"level": "none", "unknown": "No independent confirmation is described."}}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Hero: 'Put 8 million Dashers to work for your business'; 2M+ tasks completed; three offerings; 'Talk to our team'", "url": "https://developer.doordash.com/en-US/tasks/Hero"}, {"claim": "Real-World Task Dispatch: 'Engage a Dasher anywhere in the U.S. with a single API call'; property documentation (storm damage, pre/post construction, structured inspection checklists), listing photos, item transport; 'design partners across industries'", "url": "https://developer.doordash.com/en-US/tasks/RealWorldDispatch"}, {"claim": "Digitize the Physical World: menu and dish photography, entrance/storefront walkthroughs, shelf capture, store condition documentation, robotaxi support; custom workflows on request", "url": "https://developer.doordash.com/en-US/tasks/DigitizePhysicalWorld"}, {"claim": "Announcement 19 Mar 2026: tasks for businesses; pay shown upfront; 2M+ tasks since 2024; partners in retail, insurance, hospitality, technology; select US places excluding CA, NYC, Seattle, CO; more countries planned", "url": "https://about.doordash.com/en-us/news/introducing-doordash-tasks"}, {"claim": "Not in the official MCP Registry as a Tasks server", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=doordash"}, {"claim": "Dashers verify identity with a government ID and complete a background check; regular real-time selfie re-verification (150,000+ a week)", "url": "https://about.doordash.com/en-us/news/doordash-further-strengthens-safeguards-against-account-sharing"}, {"claim": "Dasher identity verification through Persona at sign-up and before a dash", "url": "https://help.doordash.com/en-us/dashers/article/dasher-identification-verification-faq"}]}, {"id": "dronedeploy-flight-services", "name": "DroneDeploy Flight Services", "provider_url": "https://www.dronedeploy.com", "status": "unclaimed", "short": "DroneDeploy sends a pilot to fly the drone missions you plan in DroneDeploy, in 17 listed countries.", "summary": "DroneDeploy's Flight Services, also called Data on Demand, send a Part 107-certified pilot (via partners outside the US) to fly the maps, photos, videos or panoramas you plan in a DroneDeploy project. The data is uploaded to your project. Typical turnaround is about a week in the US and 1\u20136 weeks elsewhere. Teams and Enterprise customers only; priced per flight minute from a prepaid flight bank.", "tags": ["Data on Demand", "drone", "construction", "reality capture"], "capabilities": {"modalities": ["aerial", "photo", "video"], "tasks": ["mapping flight", "site photos", "site video", "panoramas", "map missions with customer-surveyed ground control points"]}, "pricing": {"model": "per flight minute, drawn from a prepaid flight bank under contract", "from_usd": 0, "unit": "Mavic 3 Enterprise flight minute", "notes": "No public rates. 'All Data on Demand mission pricing is based on flight time in Mavic 3 Enterprise minutes.' Credits are bought in a flight bank with an expiration date. Needs a Teams or Enterprise subscription; a quote is confirmed on a scoping call."}, "latency": {"typical": "about 1 week (US); 1\u20132 weeks in US, AU, DE, GB, AT, NZ; 2\u20134 weeks in CA, ES, BR, MX, AR, FR, RO; 4\u20136 weeks in IN, PH, SG, JP", "notes": "Orders are processed Mon\u2013Fri, 9 am\u20135 pm EST; others the next business day. The scheduled flight date is emailed within 24\u201348 hours. Most missions are under 60 minutes of flight time; data is often reviewable the same day it is uploaded."}, "coverage": {"regions": ["North America", "Latin America", "Europe", "Asia-Pacific"], "areas": ["US", "AU", "DE", "GB", "AT", "NZ", "CA", "ES", "BR", "MX", "AR", "FR", "RO", "IN", "PH", "SG", "JP"], "notes": "The help center lists 17 countries with turnaround estimates and says operations are provided 'in many places across the globe through partners', some easier to fly than others. Countries outside the list are not ruled out but not stated."}, "licensing": {"summary": "The Master Services Agreement (updated 2026-02-20) says the customer owns all Customer Content, defined to include content the customer 'collects or generates in its use of the Services' and 'data gathered by a Robot, camera or other User device'. It does not mention Flight Services, Data on Demand or pilots, so whether flown deliverables count as Customer Content is not stated. DroneDeploy takes a licence to Customer Content only as reasonably necessary to provide, maintain, improve and update its products, to prevent or address service issues, as required by law, as permitted by its Privacy Policy, or as the customer permits in writing. The MSA bars reselling the Service but says nothing about reselling data. AI or ML training is not mentioned."}, "verification": {"human": {"level": "claimed", "method": "All pilots are Part 107 certified, certified through DroneDeploy training with mission-specific training, and fully insured", "unknown": "How certification is checked, and which certification applies to partner pilots outside the US"}, "application": {"level": "none", "unknown": "No app or device attestation is stated. Pilots fly the customer's DroneDeploy flight plans and data is uploaded to the customer's project, but it is not stated that the DroneDeploy app must be used. No C2PA signing; not on the C2PA Conforming Products List. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: All pilots must use a 20MP camera; flight time is priced in Mavic 3 Enterprise minutes. Nothing shows each file came from a real drone camera; no signing or device attestation"}, "time": {"level": "claimed", "method": "A flight-date email after the mission, and scheduled and completed flight dates in the Data on Demand dashboard", "unknown": "No signed or independently timestamped capture time"}, "location": {"level": "claimed", "method": "Pilots are instructed to follow the customer's flight plans explicitly", "unknown": "Pilots may deviate for safety, FAA compliance or on-site direction; flight logs and geotags are not offered as proof"}, "content": {"level": "claimed", "method": "A QA team checks data on every project so it is 'delivered to spec'", "unknown": "QA criteria are not published"}, "corroboration": {"level": "none", "unknown": "No independent check of the capture is offered"}}, "delivery": {"modes": ["commission"], "speed": "weeks", "basis": "'The typical turnaround time for orders located in the United States is 1 week'; other countries 1\u20132, 2\u20134 or 4\u20136 weeks (help.dronedeploy.com, Data on Demand)."}, "freshness": {"mode": "on_demand", "notes": "Captured after you order."}, "api": {"available": true, "self_serve": false, "docs_url": "https://developer-docs.dronedeploy.com/api/introduction", "base_url": "https://www.dronedeploy.com/graphql", "auth": [{"type": "bearer", "header": "Authorization", "how_to_get": "Enterprise customers only: ask sales@dronedeploy.com for API access; an admin or owner then generates the key under Account Preferences > API Key."}], "endpoints": [{"action": "list", "method": "POST", "path": "/graphql", "params": "query viewer { organization { plans(first, after) } }", "notes": "Lists the organization's plans (maps), paged."}, {"action": "fetch", "method": "POST", "path": "/graphql", "params": "mutation createExport(input: {planId, parameters: {layer}}); then node(id) { ... on MapPlan { exports { status downloadPath } } }", "notes": "Creates and fetches exports of delivered map data."}], "mcp": {"remote": null, "registry_name": null, "notes": "No DroneDeploy server in the official MCP Registry (searched 2026-10-26)."}, "notes": "The public API has no documented way to order a Flight Services mission; orders are placed with Request in the DroneDeploy web app. The API can read plans and export delivered data. Data on Demand activity is also available through Data Exchange (Enterprise). Machine user accounts that act on behalf of multiple users need prior written consent (MSA 4.4, last bullet)."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"methods": ["invoice", "card"], "agent_can_pay": false, "prepaid": true, "notes": "Missions draw on a prepaid flight bank of credits with an expiration date. The MSA allows card billing in advance or invoices due net 30 under an Order Form."}, "capture": {"by": "people"}, "requester": {"checks": "Only Teams and Enterprise customers whose subscription accounts team has granted access can order. Each order names a site contact (name and phone) and can carry a purchase order number. The MSA forbids intentionally collecting images of people or personal information, military or harmful use, and use in US-embargoed countries.", "unknown": "No documented check that the requester is authorised to have the site flown, or of the purpose."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Flight Services = Data on Demand; Teams and Enterprise only; ordering via Request in a project; maps, photos, videos, panoramas; Mon\u2013Fri 9\u20135 EST processing; US turnaround 1 week; 17-country turnaround table; global through partners; Part 107 and DroneDeploy-trained pilots; 20MP camera; pricing in Mavic 3 Enterprise minutes; data uploaded to project with flight-date email", "url": "https://help.dronedeploy.com/hc/en-us/articles/4445707539351-Data-on-Demand"}, {"claim": "Access granted by subscription accounts team; special instructions and PO number; pilots follow flight plans explicitly unless safety/FAA/on-site direction; site contact; scheduled-date email within 24\u201348 hours; data uploaded to project", "url": "https://help.dronedeploy.com/hc/en-us/articles/4421890375063-How-To-Order-a-Mission"}, {"claim": "GCP missions: customer surveys the site and lays out GCPs; DroneDeploy and partners do not survey", "url": "https://help.dronedeploy.com/hc/en-us/articles/4484452648215-Ordering-a-Mission-with-GCPs"}, {"claim": "Flight bank: purchased, consumed and remaining credits with expiration date; mission status with scheduled and completed flight dates; Data Exchange access", "url": "https://help.dronedeploy.com/hc/en-us/articles/41520556666519-Analytics-Dashboard-Data-on-Demand"}, {"claim": "Help-center article text read through the public Zendesk API (the HTML pages return 403)", "url": "https://help.dronedeploy.com/api/v2/help_center/en-us/sections/4421890349847/articles.json"}, {"claim": "Scoping call then one-click ordering; pilot dispatched within a week; fully insured, Part 107, mission-specific training; most missions under 60 minutes; data often same day; QA to spec; nearly 10,000 missions since 2020", "url": "https://www.dronedeploy.com/data-on-demand"}, {"claim": "Customer owns Customer Content; definition of Customer Content; DroneDeploy licence to improve products; no resale of the Service; machine accounts need consent; no intentional collection of images of people; embargoed countries; card or invoice net 30", "url": "https://dronedeploy.com/about/terms"}, {"claim": "GraphQL endpoint and Bearer Authorization header", "url": "https://developer-docs.dronedeploy.com/api/introduction"}, {"claim": "API key from sales for enterprise or Developer Partner accounts", "url": "https://developer-docs.dronedeploy.com/api/authentication.md"}, {"claim": "List plans query", "url": "https://developer-docs.dronedeploy.com/api/examples/fetching-all-plans-for-your-organization.md"}, {"claim": "createExport mutation and fetching exports", "url": "https://developer-docs.dronedeploy.com/api/examples/creating-an-export.md"}, {"claim": "API available to Enterprise customers", "url": "https://help.dronedeploy.com/hc/en-us/articles/27659888106391-DroneDeploy-API-Getting-Started"}, {"claim": "Enterprise admins or owners generate the API key in Account Preferences", "url": "https://help.dronedeploy.com/hc/en-us/articles/1500004860561-REST-API-Key"}, {"claim": "No DroneDeploy server in the MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=dronedeploy"}, {"claim": "DroneDeploy is not on the C2PA Conforming Products List", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}]}, {"id": "empiric-earth", "name": "Empiric Earth (Nexar)", "provider_url": "https://empiricearth.com", "status": "unclaimed", "adapter": "empiric_earth", "tags": ["dashcam", "driving video", "road", "street", "street-level imagery", "edge cases", "near-miss", "autonomous vehicles", "AV training", "robotics", "targeted collection", "work zones", "road signs", "road inventory", "virtual cam", "potholes", "nexar", "nauto"], "summary": "Dashcam data company formed when Nexar and Nauto merged; it has operated as Empiric Earth since 15 September 2026. About 350,000 dashcams on vehicles making ordinary journeys feed Atlas, a searchable library of curated driving video (6M+ videos) for AV, robotics and research teams, and CityStream, a continuously refreshed feed of road detections (signs, work zones, defects, surface) plus anonymized road frames for an area (VirtualCam). When a scenario is not in the archive, customers can commission targeted collection, which points the live network at that condition. Atlas and targeted collection are sold through sales. CityStream has REST APIs that need an approved account. Nothing can be ordered by API.", "capabilities": {"modalities": ["video", "photo"], "tasks": ["targeted collection of driving video for a scenario not yet in the archive (by geography, weather or driving behaviour)", "edge-case and near-miss driving video for AV and robotics training and validation", "fresh road detections for a bounding box: traffic signs, work zones, road defects (potholes, manholes, road plates), surface condition (CityStream Live Feed)", "anonymized road frames for a bounding box or H3 cells, filtered by date, time of day, minimum quality, road type and heading (CityStream VirtualCam)", "check imagery coverage for an area before requesting frames (VirtualCam coverage endpoint)", "curated road-sign inventory and work-zone feed by bounding box or H3 cells (CityStream Road Inventory, Work Zones)"]}, "pricing": {"model": "Not published; contact sales", "from_usd": 0, "unit": "not published", "notes": "from_usd 0 means unknown, not free. The Atlas, CityStream and AV pages list no prices and route to an enquiry form. Data-licence agreements are separate contracts that are not published."}, "latency": {"typical": "Unknown for targeted collection; CityStream refreshes as vehicles pass", "notes": "No delivery time is published for targeted collection. CityStream says the road state 'updates continuously instead of on a survey cycle', and 'a dense urban corridor refreshes constantly; a rural road refreshes when someone drives it'. No latency figure is given. The Live Feed API returns 'real-time detections' since a caller-given epoch time. Enquiry replies: '1\u20132 business days' on the Atlas and CityStream pages, and 'within one business day' on the AV and contact pages. Those are reply times, not delivery times."}, "coverage": {"regions": ["US", "50+ countries (not listed)"], "notes": "Company figures: 350,000 active sensors, 300M+ new miles a month across 50+ countries, 10B+ miles of history, 98% of US roads reached, 80M+ objects detected daily. Before the merger, Nexar alone cited 100M+ miles a month across 94% of US roads. 'Coverage follows where vehicles actually drive', and no route is driven to produce data, so rural or low-traffic roads refresh rarely. CityStream describes a 'nationwide' (US) network and MUTCD-coded US signs. Countries outside the US are not listed. Atlas notes that 'coverage varies by geography'. Non-US countries are unnamed, so the card lists only the US.", "areas": ["US"]}, "licensing": {"summary": "Customer licence terms are not public. The website terms say 'product, device and data-licence agreements are separate contracts', and the CityStream OpenAPI files state 'License: Proprietary'. The company says it holds and licenses the record, will not sell personal data, and does not build plate recognition, face recognition or person-level search. It says data is 'de-identified at capture', and VirtualCam returns 'anonymized frames'. The developers page lists 'training or fine-tuning on real-world driving' as a use case, but no published term grants or forbids AI training or resale. On the capture side, Nexar's consumer site says road data is blurred on the device. The same page says Nexar uses footage, including non-anonymized footage, to train its own safety AI. The website terms (s.6(e)) ban robots and automatic access to the website; the API's own terms are unpublished, so automation is not stated."}, "verification": {"human": {"level": "none", "unknown": "Footage comes from dashcams on vehicles making ordinary journeys. No driver identity check is documented, and none would be relevant to the data."}, "application": {"level": "none", "unknown": "Captured on the provider's own dashcams, which run detection models on the device. No device or firmware attestation is published."}, "camera": {"level": "none", "unknown": "No hardware attestation, signing or anti-injection method is documented. The provider is not on the C2PA conforming products list."}, "time": {"level": "claimed", "method": "Each VirtualCam frame carries a capture timestamp (captured_at, with timezone offset), and each Live Feed detection carries the evidence-frame timestamp plus first- and last-recorded times (CityStream OpenAPI). Atlas attaches the date to every result.", "unknown": "How capture time is set (device clock, GPS time or server receipt) is not documented, and the timestamps are not signed."}, "location": {"level": "claimed", "method": "Each frame and detection carries the camera's GPS position and heading, an H3 cell and an OpenStreetMap road segment (CityStream OpenAPI). Atlas attaches the location to every result.", "unknown": "No GNSS quality metrics, spoofing checks or signing are documented."}, "content": {"level": "claimed", "method": "Atlas: 'Every video is classified before it enters the index, and in-cabin, stationary, and low-quality footage is filtered out.' Atlas ranks results with the BADAS collision-risk model. Live Feed detections carry model confidence scores, and VirtualCam frames carry a frame-quality score.", "unknown": "Classification error rates for delivered data are not published. BADAS benchmarks are internal, and the provider labels them that way. It is not stated whether people review targeted-collection results."}, "corroboration": {"level": "none", "unknown": "CityStream reports repeated observations of a place from Empiric's own dashcam fleet ('Every vehicle that passes a location adds an observation'). One operator and one pipeline count as one source (STANDARD \u00a73), so this is re-observation, not independent confirmation. Empiric's /verify page covers model benchmarks only."}}, "api": {"available": true, "self_serve": false, "docs_url": "https://developer.getnexar.com/documentation", "base_url": "https://external.getnexar.com", "auth": [{"type": "oauth2", "transport": "rest", "pkce": "S256", "scopes": ["detection:find", "detection:get", "image:get", "frame:get"], "how_to_get": "Log in to the Nexar Developers Portal (developer.getnexar.com), which runs an OAuth 2.0 authorization-code flow with PKCE against Nexar's Okta server (issuer https://nexar.okta.com/oauth2/aus3qkg89t55hJZsT4x7). Each CityStream product (Live Feed, Work Zones, Road Inventory, VirtualCam) is shown only to accounts in that product's Okta group, so an approved commercial account is needed. Send the token as 'Authorization: Bearer {token}'."}, {"type": "bearer", "header": "Authorization", "how_to_get": "The portal issues a refresh token. Exchange it for an access token with POST https://external.getnexar.com/dev-portal/refresh-token (form field refresh_token), then send 'Authorization: Bearer {token}'."}], "endpoints": [{"action": "search", "method": "POST", "path": "/api/livefeed/v4/detections", "params": "bounding_box, filter, detections_from_millis, max_detections_per_h3, h3_index_format", "notes": "Live Feed: real-time detections from the camera network. Each detection has an evidence frame, camera GPS and timestamps. Scopes: detection:find, detection:get, image:get."}, {"action": "search", "method": "POST", "path": "/api/virtualcam/v5/frames", "params": "bounding_box or h3_location (H3 res 10\u201315, up to 1000 cells), filters (date range, time of day, min_frame_quality, road_types, heading), sort_by", "notes": "VirtualCam: anonymized road frames for an area, each with captured_at, GPS, heading, frame quality and road type. Scopes: frame:get, image:get. The v4 frames endpoint was deprecated on 31 March 2025."}, {"action": "list", "method": "POST", "path": "/api/virtualcam/v4/coverage", "params": "h3_coverage_bounding_box or h3_indices", "notes": "VirtualCam coverage: whether imagery exists for an area, before requesting frames."}, {"action": "search", "method": "POST", "path": "/api/workzones/v3/detections", "params": "detection_filter, bounding_box or h3_indices, heading, time_range, time_of_day_range, time_sort_direction, limit, start", "notes": "Curated work-zone detections (cones, signs, barriers, message boards)."}, {"action": "fetch", "method": "POST", "path": "/api/workzones/v3/detections/single", "notes": "One work zone in detail."}, {"action": "search", "method": "POST", "path": "/api/roadinventory/v3/detections", "params": "detection_filter, bounding_box or h3_indices, heading, time_range, time_of_day_range, time_sort_direction, limit, start", "notes": "Curated road-sign detections."}, {"action": "fetch", "method": "POST", "path": "/api/roadinventory/v3/detections/single", "notes": "One road sign in detail."}], "rate_limits": "Not published. The VirtualCam spec documents an HTTP 429 'API rate limit exceeded' response.", "sdk": "None published for the data APIs. Atlas lists access as 'Web, and API [Coming soon]'. The open BADAS model is on Hugging Face (Apache 2.0), but it is a model, not a data client.", "mcp": {"remote": null, "registry_name": null, "notes": "No MCP server for data. getnexar.com is a Shopify dashcam store: its /.well-known/ucp lists a UCP shopping MCP endpoint (nexar-dashcam.myshopify.com/api/ucp/mcp) for buying cameras, not data. The MCP Registry has no entry for 'nexar' or 'empiric'."}, "notes": "The four CityStream OpenAPI 3.0.1 files are public at developer.getnexar.com/specs/{livefeed,virtualcamera,workzones,roadinventory}.yaml, but the portal shows them only to members of the product's group. There is no endpoint for ordering, quoting or tracking targeted collection, which goes through sales. external.getnexar.com answers 403 'RBAC: access denied' to unauthenticated requests, including /.well-known/oauth-protected-resource."}, "freshness": {"mode": "mixed", "typical_age": "Archive plus continuous CityStream refresh and targeted new collection. The age of targeted captures is not published.", "notes": "Atlas is mostly an archive (6M+ curated videos from 10B+ miles since 2015). CityStream detections and VirtualCam frames refresh as vehicles pass, so dense urban corridors are fresh and rural roads are not. Targeted collection produces new captures to order."}, "delivery": {"modes": ["commission", "live"], "speed": "unknown", "basis": "Atlas: 'Targeted collection points the live network at the condition you asked for.' No delivery time is stated. CityStream Live Feed: 'real-time detections performed by Nexar's network of cameras on the road', refreshed as vehicles pass, with no latency figure."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment method is published. Data is sold by quote under separate data-licence contracts."}, "capture": {"by": "devices"}, "requester": {"checks": "None documented. The company says it will not build licence-plate recognition, face recognition or person-level search, and it publishes a standard for law-enforcement requests.", "unknown": "Whether targeted-collection requests are screened, and what is checked about the buyer, is not published."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "short": "A dashcam network you can point at a driving scenario, plus live road-detection APIs for approved accounts.", "sources": [{"claim": "Atlas: targeted collection points the live network at the requested condition, and a coverage gap becomes a collection campaign; 6M+ curated driving videos; every video classified, with in-cabin, stationary and low-quality footage filtered out; ranked by BADAS peak collision-risk score; location, date and outcome on every result; filters by location, metro and date; access 'Web, and API [Coming soon]'; coverage varies by geography; replies in 1\u20132 business days; no pricing", "url": "https://empiricearth.com/products/atlas"}, {"claim": "AV and robotics page: 'Commissioning targeted collection when a condition you need is not in the archive yet'; Atlas 'points targeted collection at whatever your set is still missing'; replies within one business day; no pricing or licensing", "url": "https://empiricearth.com/industries/av-robotics"}, {"claim": "CityStream: four categories (MUTCD-coded signs, work zones, defects, surface); every passing vehicle adds an observation; continuous update rather than a survey cycle; coverage follows where vehicles drive and rural roads refresh when driven; Live Feed, Road Inventory (bbox or H3 cells), Work Zones and Virtual Cam features; 'nationwide sensor network'; no pricing", "url": "https://empiricearth.com/products/citystream"}, {"claim": "Developers page: training or fine-tuning on real-world driving listed as a use case; Atlas has 'targeted collection when the thing you need is not in there yet'", "url": "https://empiricearth.com/industries/developers"}, {"claim": "Company description: Nexar and Nauto are former brand names of Empiric Earth; World Intelligence product line; scale figures (10B+ miles, 300M+ miles a month across 50+ countries, 98% of US roads, 350,000 active sensors, 80M+ objects a day)", "url": "https://empiricearth.com/llms.txt"}, {"claim": "Methodology: 350,000 sensors on vehicles making journeys their drivers were making anyway; no route driven to produce data; detection runs on the device and what leaves is the detection plus the clip around it; CityStream refreshes as vehicles pass", "url": "https://empiricearth.com/methodology"}, {"claim": "Verification Center: BADAS benchmarks are internal and labelled as not independent; VTTI testing covers in-cab alerting only and was funded by the company; scale figures", "url": "https://empiricearth.com/verify"}, {"claim": "Merger agreement announced 1 July 2026; Nexar alone: 100M+ miles a month across 94% of US roads and 50+ countries", "url": "https://empiricearth.com/nexar-and-nauto-to-merge"}, {"claim": "Operating as Empiric Earth from 15 September 2026; 98% of US roads, 50+ countries, 350,000+ connected sensors; data de-identified at capture", "url": "https://empiricearth.com/empiric-earth-launches"}, {"claim": "About: the company holds and licenses the record; will not build licence-plate recognition, face recognition or person-level search, and will not sell personal data; live record and 'go and get whatever a customer is missing'", "url": "https://empiricearth.com/about-us"}, {"claim": "Privacy centre: published standard for law-enforcement requests ('what we refuse, when we notify'), de-identification and capability disclosure pages", "url": "https://empiricearth.com/privacy"}, {"claim": "Website terms: 'Product, device and data-licence agreements are separate contracts' (last modified 15 September 2026)", "url": "https://empiricearth.com/legal/terms"}, {"claim": "Legal hub: published product agreements cover only the Nauto (Fleet Intelligence) solution; no World Intelligence data licence is published", "url": "https://empiricearth.com/legal"}, {"claim": "Nexar developer portal: OAuth authorization code with PKCE against nexar.okta.com (auth server aus3qkg89t55hJZsT4x7); per-product scopes (frame:get, image:get, detection:find, detection:get); per-product Okta group gating; refresh-token exchange at external.getnexar.com/dev-portal/refresh-token", "url": "https://developer.getnexar.com/static/js/main.821ebbae.js"}, {"claim": "Live Feed API v4: POST /api/livefeed/v4/detections on https://external.getnexar.com; Bearer token; real-time detections with camera GPS, evidence-frame timestamp, first and last recorded times and confidence scores; 'License: Proprietary'", "url": "https://developer.getnexar.com/specs/livefeed.yaml"}, {"claim": "VirtualCam API: anonymized frames by bbox or H3 with date, quality, road type, time of day and heading filters; captured_at, gps_info and camera_heading per frame; coverage endpoint; 429 rate-limit response; v4 frames deprecated 31 March 2025", "url": "https://developer.getnexar.com/specs/virtualcamera.yaml"}, {"claim": "Work Zones API v3: curated work-zone detections and single work zone", "url": "https://developer.getnexar.com/specs/workzones.yaml"}, {"claim": "Road Inventory API v3: curated road-sign detections and single road sign", "url": "https://developer.getnexar.com/specs/roadinventory.yaml"}, {"claim": "Okta authorization-server metadata: authorization-code grant, PKCE S256; only standard OIDC scopes advertised", "url": "https://nexar.okta.com/oauth2/aus3qkg89t55hJZsT4x7/.well-known/oauth-authorization-server"}, {"claim": "getnexar.com UCP profile is a Shopify dashcam store (shopping MCP at nexar-dashcam.myshopify.com), not a data service", "url": "https://www.getnexar.com/.well-known/ucp"}, {"claim": "MCP Registry: no server for 'nexar' (search for 'empiric' also returned 0)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=nexar"}, {"claim": "Earlier Nexar enterprise page, still live: Collection On-Demand by geography, weather or behaviour; edge devices send only critical events; crowdsourced sensors", "url": "https://www.nexar-ai.com/"}, {"claim": "Consumer site: faces, plates and pedestrians blurred on-device before road data leaves the camera; footage, including non-anonymized footage, used to train Nexar's safety AI; some sharing may be a 'sale' under US state privacy laws", "url": "https://www.getnexar.com"}, {"claim": "Earlier Nexar real-time mapping page (2022): CityStream Live API for maps, images and alert streams; WorkZones, RoadInventory and VirtualCam; MTBV as a freshness metric", "url": "https://mapping.getnexar.com/"}, {"claim": "Website terms s.6(e): no robots or automatic access to the website; data-licence agreements are separate contracts", "url": "https://empiricearth.com/legal/terms"}, {"claim": "/verify covers model benchmarks (BADAS), not capture provenance", "url": "https://empiricearth.com/verify"}]}, {"id": "emsc-seismicportal", "name": "EMSC SeismicPortal (FDSN event service and live feed)", "provider_url": "https://www.seismicportal.eu", "short": "Global earthquake catalogue, free keyless FDSN API and websocket.", "summary": "The Euro-Mediterranean Seismological Centre (EMSC-CSEM), a non-governmental organisation founded in 1975, publishes its earthquake catalogue through a keyless FDSN WS-EVENT web service (QuakeML, JSON or CSV, up to 20,000 events per request) and a near-real-time websocket that pushes a JSON message when an event is inserted or updated.", "tags": ["earthquake", "seismic", "fdsn", "global", "websocket", "real-time", "open data", "no key", "quakeml"], "capabilities": {"modalities": ["sensor"], "tasks": ["earthquakes in a time window, magnitude and depth range, box or radius around a point", "single event by id", "events updated after a given time", "push notification of new and updated events by websocket", "origins and arrivals for an event on request"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "No price or key is mentioned on the service pages; data are distributed under CC BY 4.0."}, "latency": {"typical": "Not published; a websocket message is sent when an event is inserted or updated", "notes": "The terms state: \"Due to the nature of real-time earthquake monitoring, this information may be incomplete, delayed, or contain errors and inaccuracies.\" No delay figure is published. Live check: the newest event, a magnitude 2.3 near Hawaii, had origin 15:30:28Z and lastupdate 15:33:30Z, when the query was made around 15:33Z (one sample)."}, "coverage": {"regions": ["Global catalogue"], "notes": "The live sample included a Hawaii event; the pages read give no list of covered regions, and catalogue completeness varies by region and magnitude. The 'catalog' field has the values EMSC-RTS and EMSC-EMB.", "areas": ["*"]}, "licensing": {"summary": "Terms: \"Datasets and products downloaded from our data services are provided under the Creative Commons Attribution 4.0 International (CC BY 4.0) license, which permits reuse, including commercial use, as long as there is attribution.\" Suggested credit: \"EMSC-CSEM SeismicPortal, https://www.seismicportal.eu\". Data from the websocket is also CC BY 4.0. But \"the data services, and the internal databases as such are not covered by the CC BY 4.0 license\": \"mirroring the site or bulk-copying a database, requires prior written permission\". The disclaimer gives no warranty of accuracy, reliability or completeness and tells users to consult national authorities for critical decisions. The terms do not mention AI training or resale."}, "verification": {"human": {"level": "none", "unknown": "Event solutions come from contributing agencies and automatic processing; individual reviewers are not identified."}, "application": {"level": "none", "unknown": "No signing or attestation of events is documented."}, "camera": {"level": "none", "unknown": "Not a camera source."}, "time": {"level": "claimed", "method": "Each event has a UTC origin time and a lastupdate time.", "unknown": "Times are the catalogue's computed values, unsigned; events are revised."}, "location": {"level": "claimed", "method": "Each event has latitude, longitude, depth and a Flynn-Engdahl region name.", "unknown": "Locations are estimates from the contributing agency ('auth' field names it) and are unsigned."}, "content": {"level": "claimed", "method": "Each event names its authority ('auth') and magnitude type.", "unknown": "The terms say information may be incomplete, delayed or contain errors; the review process is not described on the pages read."}, "corroboration": {"level": "none", "unknown": "The catalogue merges contributors but the API does not expose cross-source confirmation for an event on the pages read."}}, "freshness": {"mode": "live", "typical_age": "minutes (one sample 3 minutes; not published)", "notes": "Websocket push for new and updated events; the FDSN service also holds older events."}, "delivery": {"speed": "minutes", "basis": "Page: \"Using the Websocket protocol, users can be notified in (near) realtime of new events. A Json message is sent when an event is inserted or updated.\"", "modes": ["live"]}, "api": {"available": true, "self_serve": true, "docs_url": "https://www.seismicportal.eu/fdsn-wsevent.html", "base_url": "https://www.seismicportal.eu/fdsnws/event/1", "auth": [{"type": "none", "how_to_get": "No authentication or registration is needed."}], "endpoints": [{"action": "search", "method": "GET", "path": "/query", "params": "starttime, endtime, minlatitude, maxlatitude, minlongitude, maxlongitude, latitude, longitude, minradius, maxradius (degrees), mindepth, maxdepth, minmagnitude, maxmagnitude, magnitudetype, eventid, evid, limit (max 20000), offset, orderby (time, time-asc, magnitude, magnitude-asc), contributor, catalog, updatedafter, format (xml, text, json), nodata (204 or 404)", "notes": "FDSN WS-EVENT. Default format is xml; use format=json for GeoJSON. Live call with limit=2&format=json returned events with unid, source_catalog, auth, mag, magtype, flynn_region, time, lastupdate."}, {"action": "list", "method": "GET", "path": "wss://www.seismicportal.eu/standing_order (SockJS websocket)", "notes": "Pushes a JSON message when an event is inserted or updated; the page's sample uses a SockJS client."}], "rate_limits": "Not stated; only a per-request cap of 20,000 events.", "notes": "OpenAPI at openapi.json and a WADL are linked from the docs page. The site's terms bar bulk-copying the database or mirroring the site without permission, so use query filters, not full dumps. The terms do not forbid automated API calls; automation_allowed reflects that."}, "adapter": "emsc_seismicportal", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "gate": "none"}, "sources": [{"claim": "FDSN WS-EVENT service: parameters, formats, 20,000 per request, catalogues, CC BY 4.0, OpenAPI/WADL", "url": "https://www.seismicportal.eu/fdsn-wsevent.html"}, {"claim": "Websocket real-time notification, CC BY 4.0 for websocket data", "url": "https://www.seismicportal.eu/realtime.html"}, {"claim": "Terms: CC BY 4.0 with credit example, database/mirroring exclusion, disclaimer (may be incomplete, delayed or erroneous), EMSC founded 1975 non-governmental", "url": "https://www.seismicportal.eu/terms.html"}, {"claim": "Live GET (limit=2, format=json) returned real events", "url": "https://www.seismicportal.eu/fdsnws/event/1/query?limit=2&format=json"}], "status": "unclaimed", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "encord", "name": "Encord", "provider_url": "https://encord.com", "status": "unclaimed", "short": "Robotics data to order: teleoperation, gripper and first-person capture, piloted in a lab then run in the field.", "tags": ["robotics", "physical AI", "teleoperation", "UMI", "manipulation", "egocentric video", "managed service", "training data", "custom collection"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["teleoperation demonstrations on leader/follower arms (stationary and mobile)", "UMI handheld-gripper manipulation data, including multi-finger and client-provided grippers", "egocentric head and wrist camera video at 1080p/30fps", "operating the client's own robot (embodiment-specific)", "on-site collection at the client's factory or warehouse", "capturing deployment failure modes through remote teleoperation"]}, "pricing": {"model": "Quote after a call", "from_usd": 0, "unit": "project", "notes": "Collection is not priced. The pricing page lists only platform tiers (Starter, Team, Enterprise) with no dollar amounts; Enterprise is 'Contact sales'."}, "latency": {"typical": "Not published", "notes": "Every protocol is piloted in Encord's lab before operators go into the field; no turnaround is stated."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after the protocol is agreed and piloted", "notes": "Encord also releases open research datasets (e.g. EMG-1); those are not commissions."}, "coverage": {"regions": ["US (Bay Area lab)", "multiple geographies (not listed)", "client sites (on-site collection)"], "notes": "Pilots run in Encord's Bay Area lab. Encord says it 'operates across multiple geographies' but lists none; it also collects on site at the client's factory or warehouse."}, "licensing": {"summary": "Standard Terms of Service (US and UK versions, effective 27 Jun 2025) define Client Input as data 'entered into the Services ... by Encord on Client's behalf during Professional Services' and say the Client owns all Client Input (s.4.5); Encord gets a licence to use it only 'to provide the Services' (s.4.3). Collected data 'flows directly into Encord's platform'. Deliverables are whatever the Order Form names. Whether collected robotics data is Client Input (owned by the client) or a Deliverable depends on the Order Form, so buyer_owns_output is conditional on that. Encord may use Usage Data to improve its products and share it only if aggregated and de-identified (s.8.2). The terms do not mention AI training, resale of collected data, or whether Encord may train on client data. Contributor consent terms are not published.", "buyer_owns_output": true}, "verification": {"human": {"level": "claimed", "method": "'Thousands of trained operators' in kitchens, warehouses, offices, vehicles and industrial settings.", "unknown": "How operators are vetted, identified or consented is not published."}, "application": {"level": "none", "unknown": "Encord supplies a standard capture kit (cameras, grippers, mounts, synchronisation), but no app or device attestation is documented; client-provided gripper hardware is also used. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Base kit: RGB-D stereo depth cameras with IMU and multi-camera sync; egocentric head and wrist cameras at 1080p/30fps. No C2PA or signed capture; Encord is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "Synchronisation aligns streams to each other; no signed or independently time-stamped capture times are documented."}, "location": {"level": "none", "unknown": "No location proof is documented; the place is the lab, a field site or the client's premises, as agreed."}, "content": {"level": "claimed", "method": "Protocol, tasks and quality criteria are defined with the client and piloted in the lab; 'every episode is classified, synchronised, and aligned to your model'.", "unknown": "Acceptance criteria and QC results are not published. The multi-stage review with audit trails Encord describes is for annotation, not capture."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Book a call with the Physical AI team (encord.com/data-collection); work is set by a signed Order Form."}], "mcp": {"remote": "https://mcp.encord.com/mcp", "registry_name": null, "auth": "oauth2", "first_party": true, "notes": "Merlin (beta) manages the Encord platform: projects, ontologies, datasets, folders, workflows, analytics. It has no tool to order or quote data collection. EU host mcp.encord.com, US host mcp.us.encord.com; OAuth via WorkOS AuthKit (authkit.encord.com) with a registration endpoint and PKCE S256; needs an existing Encord account (cloud accounts only; organizations that enforce MFA are rejected, per docs.encord.com/platform-documentation/GettingStarted/encord-merlin, read 2026-10-28). Not in the official MCP Registry (searched 'encord', 2026-10-26). A separate docs-only MCP runs at encord-docs.mcp.kapa.ai."}, "notes": "The platform API and SDK (docs.encord.com) manage data already in Encord, which is where collected data lands; collection itself is ordered only through sales."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround is published. Encord says only that collection 'always starts at Encord facilities ... piloted in a controlled lab environment before scaling' and that its platform removes 'weeks of pre-processing'."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"methods": ["card", "invoice"], "agent_can_pay": false, "notes": "Fees are set in an Order Form that takes effect only once both parties sign. Client may authorise a credit or debit card; otherwise invoices are due in 30 days (Terms s.2.3-2.4)."}, "capture": {"by": "people"}, "requester": {"unknown": "Encord publishes no check of who commissions collection or for what; every project starts with a call and a signed Order Form."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Encord collects robotics training data to order: teleoperation, handheld-gripper (UMI), robot-specific and egocentric capture. Each protocol is designed and piloted in its Bay Area lab, then run by trained in-field operators or on site at the client's factory or warehouse. Sales only: collection is not priced, and turnaround is not published. Its standard terms give the client ownership of data Encord enters into the platform on the client's behalf.", "sources": [{"claim": "Collection types (embodiment-specific, teleoperation, egocentric 1080p/30FPS, UMI incl. multi-finger and client grippers); lab pilot before field; thousands of trained operators; Bay Area lab; base kit; 'multiple geographies'; episodes classified and synchronised; remote-teleoperation failure capture; collected data flows into the platform; Book a call", "url": "https://encord.com/data-collection/"}, {"claim": "On-site collection at the client's factory or warehouse; pilot then scale; annotation review with audit trails; SOC 2 Type II, HIPAA, GDPR", "url": "https://encord.com/physical-ai-data/"}, {"claim": "Platform tiers Starter, Team, Enterprise with no published prices; collection not priced", "url": "https://encord.com/pricing/"}, {"claim": "Terms differ by contracting entity (US / UK)", "url": "https://encord.com/terms/"}, {"claim": "Client Input definition, Client owns Client Input (4.5), Encord's licence limited to providing the Services (4.3), Deliverables per Order Form, fees by card or invoice within 30 days, Order Form effective only when signed by both; no AI-training or resale clause", "url": "https://encord.com/terms-and-conditions-us/"}, {"claim": "UK terms: same ownership and licence clauses", "url": "https://encord.com/terms-and-conditions-uk/"}, {"claim": "Merlin MCP: tools, EU/US endpoints, OAuth via WorkOS, beta", "url": "https://docs.encord.com/platform-documentation/GettingStarted/encord-merlin.md"}, {"claim": "Merlin OAuth authorization server metadata: registration endpoint, PKCE S256", "url": "https://mcp.encord.com/.well-known/oauth-authorization-server"}, {"claim": "No Encord server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=encord"}, {"claim": "Company facts and Data-as-a-Service overview", "url": "https://encord.com/llms.txt"}, {"claim": "Encord not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Terms s.4.5 Client Input ownership, s.8.2 Usage Data", "url": "https://encord.com/terms-and-conditions-us/"}]}, {"id": "errand", "name": "Errand", "status": "unclaimed", "adapter": "errand", "provider_url": "https://errand.be", "short": "Agents send a nearby person in Seoul (Gangnam beta) for in-app camera photos and answers.", "summary": "Agent-native errand dispatch in Seoul. An agent checks live worker coverage, gets an exact quote, then dispatches a task (check, verify, photograph, queue or pickup) over a remote MCP server or REST. Nearby workers with the Errand phone app get a push notification; one accepts, goes to the spot and shoots photos with the in-app camera only (gallery uploads blocked), answering up to five structured questions. The server checks capture location and time, then an AI judges the photo against the buyer's validation_criteria; a worker gets two attempts. Results return photos, answers, the verdict, GPS distance and capture time. The beta covers Gangnam and nearby areas only, and live worker availability can be zero. Prepaid in Korean won, topped up by bank transfer.", "tags": ["people", "errands", "photos", "price-check", "queue", "retail", "agent-native", "mcp", "oauth", "korea", "seoul", "gangnam"], "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["check (is a store, pop-up, office or venue open)", "verify (product on shelf, price)", "photograph (storefront, menu, sign, notice, product, queue)", "queue (queue length or waiting time, allowed queue tasks)", "pickup (small item)", "structured on-site answers"]}, "pricing": {"model": "Reward set by the buyer + platform fee of 20% (minimum \u20a9500), prepaid in KRW", "from_usd": 1.13, "unit": "task", "notes": "Reward per task \u20a91,000\u2013\u20a9200,000; the smallest possible charge is \u20a91,000 + \u20a9500 fee = \u20a91,500 (\u2248 $1.13 at 1,325.28 KRW/USD, ECB reference rate 2026-10-26). The fee includes VAT and is earned only on completed tasks; reward + fee are escrowed at dispatch and refunded in full on failure, expiry or pre-acceptance cancellation. Examples: reward \u20a95,000 \u2192 charge \u20a96,000; \u20a910,000 \u2192 \u20a912,000. Default key caps: \u20a920,000 reward per task and \u20a950,000 per day including fees; raise by e-mailing support. The worker page says tasks posted so far paid \u20a98,000\u2013\u20a915,000. POST /api/v1/quote returns the exact total_charge_krw before anything is charged. A first one-photo check in Gangnam/Yeoksam is free through a trial form, placed by the operator."}, "latency": {"typical": "Tens of minutes to hours; the buyer sets a deadline of 10 minutes to 24 hours", "notes": "expires_in_minutes 10\u20131440; the docs recommend 120 or more to allow for travel. Most of the time is a worker accepting and travelling; AI verification takes 10\u201330 seconds. The worker page says a task usually takes 10\u201330 minutes on site. Unfinished tasks expire automatically and are refunded. The operator-placed free trial is 'usually same day to next day'."}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Docs: 'expires_in_minutes \u2713 10\u20131440. \uc774\ub3d9 \uc2dc\uac04\uc744 \uace0\ub824\ud574 120 \uc774\uc0c1 \uad8c\uc7a5' (10\u20131440; 120 or more recommended to allow for travel time). FAQ: verification takes 10\u201330 seconds; most of the time is the worker accepting, travelling and shooting."}, "freshness": {"mode": "on_demand", "typical_age": "Minutes at delivery: captured on site after dispatch", "notes": "Each result carries captured_at and checks.capture_age_min. Photo URLs are signed and expire after 1 hour; a read-only share_url lasts 30 days."}, "coverage": {"regions": ["South Korea: Seoul, Gangnam / Yeoksam and nearby areas (beta)"], "notes": "llms.txt: 'Current beta coverage is Seoul, focused on Gangnam and nearby areas. Worker availability is live and can be zero.' The terms (C-1) describe the service as a Gangnam-area beta. The public coverage endpoint reports reachable_workers (notifications on, seen within 24 h, last location inside the radius); the docs say to treat 0 as 0. A keyless call for Gangnam Station (radius 3 km) on 2026-10-27 05:42 UTC returned reachable_workers 0, dispatchable false. Each API key can also be limited to an allowed area.", "areas": ["KR-11"]}, "licensing": {"summary": "Terms B-3: the requester may use task results (photos, location and time, answers) for its own business purposes ('\uc790\uc2e0\uc758 \uc5c5\ubb34 \ubaa9\uc801\uc73c\ub85c \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4'). Results contain no worker personal data, and the requester must not use them to identify or contact the worker. Accuracy is guaranteed only as far as the verdict against the validation criteria. Ownership, resale and AI training are not mentioned. The privacy policy says evidence photos are sent to Anthropic only for automated verification and are not used for other purposes."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none", "rate_limit": {"requests": 60, "per_seconds": 60, "scope": "per-ip", "notes": "The public coverage endpoint; 429 RATE_LIMITED on excess. Authenticated endpoints: the key's daily budget is the practical limit.", "source_url": "https://errand.be/docs"}}, "api": {"available": true, "self_serve": true, "base_url": "https://errand.be", "docs_url": "https://errand.be/docs", "auth": [{"type": "oauth2", "transport": "mcp", "resource_metadata": "https://errand.be/.well-known/oauth-protected-resource", "dynamic_registration": true, "pkce": "S256", "how_to_get": "Connect an OAuth-capable MCP client to https://errand.be/api/mcp; the protected-resource metadata names the Supabase authorization server https://ekygxbccwbwcppkbpetc.supabase.co/auth/v1, which publishes a registration_endpoint (RFC 7591), authorization_code + refresh_token grants, public clients (auth method none) and PKCE S256 (plain also listed). The resource metadata lists no scopes. Docs: OAuth is for MCP; REST uses the API key. Spending still needs a prepaid balance and stays within the key/account caps. Dynamic client registration is deprecated by the MCP specification of 2026-07-28 in favour of Client ID Metadata Documents (CIMD); whether Errand accepts CIMD is not stated."}, {"type": "bearer", "header": "Authorization", "env_var": "ERRAND_API_KEY", "how_to_get": "Enter an e-mail at https://errand.be and type the 6-digit code; an er_live_ key is issued at once and shown once. Send 'Authorization: Bearer er_live_\u2026'. Works for REST and as the developer/CLI fallback for MCP."}], "mcp": {"remote": "https://errand.be/api/mcp", "registry_name": "be.errand/errand", "auth": "oauth2 or bearer API key", "first_party": true, "notes": "Stateless Streamable HTTP (POST JSON-RPC only; GET returns 405). Registry latest 0.2.1 (published 2026-09-17). Seven tools mapping one-to-one to REST: errand_check_coverage, errand_list_capabilities, errand_quote, errand_dispatch, errand_get_status, errand_get_result, errand_cancel. A ChatGPT plugin offers only the five read tools (no dispatch, cancel or payment)."}, "endpoints": [{"action": "quote", "method": "POST", "path": "/api/v1/quote", "params": "task_type, lat, lng, reward_krw", "notes": "MCP errand_quote. Creates nothing; returns total_charge_krw, platform_fee_krw, balance_krw, balance_sufficient, coverage and can_dispatch (true only when a worker is reachable and the balance suffices)."}, {"action": "order", "method": "POST", "path": "/api/v1/dispatches", "params": "task_type (check|verify|photograph|queue|pickup), title (4\u2013120), instructions (10\u20132000), validation_criteria (10\u20131000), lat, lng, radius_m (100\u201310000), reward_krw (1000\u2013200000), expires_in_minutes (10\u20131440); optional address_hint, report_fields (\u22645: key, label, type text|number, unit, placeholder), webhook_url", "notes": "MCP errand_dispatch. Escrows reward + fee. Text the worker reads should be in Korean. 422 UNSAFE_TASK / PRIVACY_VIOLATING_TASK on content rejection."}, {"action": "status", "method": "GET", "path": "/api/v1/dispatches/{id}", "notes": "MCP errand_get_status. open \u2192 accepted \u2192 arrived (GPS confirmed on site) \u2192 submitted \u2192 completed; terminal failures failed (both attempts rejected), expired, cancelled, all refunded. webhook_url receives mission.completed / failed / cancelled / expired."}, {"action": "fetch", "method": "GET", "path": "/api/v1/dispatches/{id}/result", "notes": "MCP errand_get_result. Returns status, share_url (read-only, no login, 30 days), verdict {passed, score, feedback}, answers, evidence {photo_urls (signed, expire in 1 h), gps {lat, lng, accuracy_m}, distance_from_task_m, captured_at, checks {distance_m, capture_age_min, exif_gps_present, failures}}."}], "sdk": "Claude plugin ChloePark85/errand-plugin (GitHub, MIT; bundles the remote MCP server and a skill); ClawHub skill errand-ai (ERRANDAI_API_KEY)", "rate_limits": "Public coverage endpoint: 60 requests/minute per IP (429 RATE_LIMITED). Authenticated endpoints: the key's daily budget is the practical limit.", "notes": "Other operations: GET /api/v1/coverage and keyless GET /api/public/coverage?lat=&lng=&radius_m= (online_workers, reachable_workers, dispatchable); GET /api/v1/capabilities (balance, caps, allowed task types, fees); POST /api/v1/dispatches/{id}/cancel (only while open; full refund). Each key carries caps on reward per task, daily budget, allowed task types and allowed area (403 CAP_MAX_REWARD, CAP_DAILY_BUDGET, CAP_TASK_TYPE, CAP_AREA). No OpenAPI file is published."}, "payment": {"methods": ["prepaid_balance"], "agent_can_pay": true, "prepaid": true, "notes": "KRW prepaid balance, topped up only by Korean bank transfer (deposit-code method), minimum \u20a910,000 per top-up, credited after the deposit is confirmed. An agent spends from the balance on its own within the key's caps (escrow at dispatch); it cannot top up. Unused balance is refunded on request (terms B-2)."}, "account": {"kyc": "email", "agent_may_act": {"allowed": true, "source_url": "https://errand.be/terms"}}, "capture": {"by": "people", "worker_pay": {"model": "Fixed reward per task set by the buyer, paid in full to the worker; no worker fee", "disclosed": true, "notes": "Credited to the app wallet when verification passes; withdrawals from \u20a95,000 to the worker's own bank account in 1\u20132 business days; 3.3% income tax withheld under the Income Tax Act. Tasks posted so far paid \u20a98,000\u2013\u20a915,000. Workers who fail both attempts get nothing for that task."}}, "requester": {"checks": "The requester verifies an e-mail to get an API key; every request made with the key counts as the requester's own (terms B-1). Keys carry owner-set caps on reward, daily budget, task types and area. Tasks are content-screened: 422 UNSAFE_TASK or PRIVACY_VIOLATING_TASK rejects tasks that endanger the worker or make them photograph people, ID documents or screens. Terms B-4 ban illegal, dangerous or discriminatory tasks, tasks that infringe others' rights, tasks that ask a worker's identity or private contact, and tasks for surveillance or tracking.", "unknown": "No identity check beyond e-mail is documented. How the content screening works, and how reliably it catches person-targeting, is not published."}, "verification": {"human": {"level": "claimed", "method": "Workers sign in to the Errand iOS/Android app with e-mail, Apple or Google; one account per person, age 14+; withdrawals go to a bank account in the worker's own name, and tax data is collected when withholding applies.", "unknown": "No identity verification is required to start ('\ubcc4\ub3c4 \uc2e0\uccad\uc740 \uc5c6\uc5b4\uc694', no separate application); nothing per result proves who captured it, and the buyer never sees the worker."}, "application": {"level": "none", "unknown": "Capture is restricted to the Errand app's camera (gallery uploads blocked), but no App Attest, Play Integrity or other server-verified attestation is documented, so a modified app or emulator is not ruled out. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: In-app camera only; terms A-3 forbid photos from the library, screen captures and photos taken elsewhere, and screening rejects tasks that ask workers to photograph screens. No sensor-level or C2PA signing; nothing published shows a photo of a screen or a generated image would be caught at capture."}, "time": {"level": "claimed", "method": "The server checks capture time before AI judging; results include captured_at and checks.capture_age_min.", "unknown": "The time comes from the worker's phone app; no signed timestamp is documented."}, "location": {"level": "claimed", "method": "GPS arrival check ('arrived' status), then a server check of capture location; results include gps {lat, lng, accuracy_m}, distance_from_task_m, checks.distance_m and exif_gps_present. Terms A-5 ban location spoofing.", "unknown": "Anti-spoofing beyond the terms is not documented; the pass/fail distance threshold is not published."}, "content": {"level": "claimed", "method": "An AI model (photos sent to Anthropic for verification, per the privacy policy) judges the photo against the buyer's validation_criteria and returns verdict {passed, score, feedback}; two attempts per task, then the task fails and is refunded.", "unknown": "The verdict is automated with no human review documented; structured answers are the worker's own and are not checked."}, "corroboration": {"level": "none", "unknown": "Each task goes to one worker; nothing independent confirms the observation."}}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Agent index: Seoul beta focused on Gangnam, availability live and can be zero; task kinds; seven MCP tools; safe flow (quote then confirm); escrow and full refunds; account caps; MCP, REST, docs, Claude plugin URLs; registry name be.errand/errand", "url": "https://errand.be/llms.txt"}, {"claim": "API docs: e-mail-verified er_live_ key or OAuth 2.1 for MCP; 20% fee min \u20a9500, escrow and refunds; quote, dispatch, status, result, cancel, coverage, capabilities endpoints and fields; field limits; lifecycle and webhooks; in-app camera only, server location/time check, AI judging against validation_criteria, two attempts; result shape; error codes incl. PRIVACY_VIOLATING_TASK; rate limits; bank-transfer top-ups min \u20a910,000; free first check", "url": "https://errand.be/docs"}, {"claim": "Homepage FAQ: fee and examples, refunds, verification method, Gangnam beta, verification 10\u201330 s, deadline 10 min\u201324 h, cancel before acceptance, prepaid bank transfer, default caps \u20a920,000/task and \u20a950,000/day; key issued on sign-up", "url": "https://errand.be/"}, {"claim": "MCP page: remote MCP URL, Streamable HTTP, OAuth 2.1 or API key, tool list, ChatGPT plugin read-only, coverage Gangnam/Yeoksam, Korean bank transfer top-ups", "url": "https://errand.be/mcp"}, {"claim": "Terms (effective 2026-09-07), operator \uc720\ube45\ucf5c\ub809\ud2f0\ube0c: worker evidence via in-app camera with location/time, no gallery/screen captures; AI + automatic checks, two attempts; worker pay and withholding; ban on location spoofing; requester API key and caps; fee 20% min \u20a9500 incl. VAT, escrow; results usable for the requester's own business purposes; bans on surveillance/tracking tasks; Gangnam beta", "url": "https://errand.be/terms"}, {"claim": "Privacy policy (effective 2026-09-07): location only while working, capture location and time; photos only from the in-app camera; evidence photos sent to Anthropic for automated verification only; Supabase (AWS Seoul) storage; worker identity not shared with requesters", "url": "https://errand.be/privacy"}, {"claim": "Worker page: sign in with e-mail/Apple/Google, no separate application; tasks so far \u20a98,000\u2013\u20a915,000; 10\u201330 minutes per task; withdrawals from \u20a95,000, 3.3% withholding; Gangnam only", "url": "https://errand.be/worker"}, {"claim": "OAuth protected-resource metadata: resource https://errand.be/api/mcp, Supabase authorization server, bearer in header", "url": "https://errand.be/.well-known/oauth-protected-resource"}, {"claim": "Authorization-server metadata: registration_endpoint (dynamic registration), PKCE S256/plain, authorization_code and refresh_token, token auth method none", "url": "https://ekygxbccwbwcppkbpetc.supabase.co/.well-known/oauth-authorization-server/auth/v1"}, {"claim": "Official MCP Registry: be.errand/errand, latest 0.2.1 (2026-09-17), remote https://errand.be/api/mcp", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=errand"}, {"claim": "Keyless live coverage endpoint returned online_workers 0, reachable_workers 0, dispatchable false for Gangnam Station, radius 3 km", "url": "https://errand.be/api/public/coverage?lat=37.4979&lng=127.0276&radius_m=3000"}, {"claim": "Claude plugin (MIT): bundles the remote MCP server and a skill; key shown once; coverage checks work without a key", "url": "https://github.com/ChloePark85/errand-plugin"}, {"claim": "USD/KRW 1,325.28 on 2026-10-26 (ECB reference rate) for from_usd", "url": "https://api.frankfurter.dev/v1/latest?base=USD&symbols=KRW"}, {"claim": "Errand is not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Account: e-mail-verified key; every request made with the key counts as the requester's own (terms B-1); agents connect over MCP", "url": "https://errand.be/terms"}, {"claim": "MCP specification 2026-07-28: dynamic client registration deprecated in favour of Client ID Metadata Documents", "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration"}]}, {"id": "execution-market", "name": "Execution Market", "provider_url": "https://execution.market", "status": "unclaimed", "adapter": "execution-market", "tags": ["a2a", "agent-native", "bounty", "crypto", "erc-8004", "errand", "escrow", "gig", "gps photo", "human task", "local inspection", "mcp", "oauth", "photo evidence", "usdc", "world id", "x402"], "summary": "Bounty marketplace run by Ultravioleta DAO ('Universal Execution Layer') where an AI agent or a person posts a USDC-paid task with required evidence types (e.g. GPS-tagged photo, video, text), assigns an applicant, and releases on-chain escrow after reviewing the submission. Executors can be people or other AI agents. Callable over REST, a remote OAuth MCP server and A2A; identity is a crypto wallet with an ERC-8004 on-chain identity, not an account. Most recent completed tasks are small digital or research jobs; physical captures are rare.", "short": "A crypto-paid bounty marketplace where agents hire people (or other agents) for tasks, incl. GPS-tagged photos.", "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["physical presence: verify a store is open, photograph a location, check conditions (photo_geo with GPS check)", "data collection: surveys, price checks, inventory counts, measurements", "knowledge access: scan documents, photograph posted information", "simple actions and errands: buy items, deliver packages", "human authority: notarize, certify, translate", "remote research, verification and digital tasks (often done by AI agents)"]}, "pricing": {"model": "publisher sets the bounty; a 13% platform fee is deducted from the bounty at release", "from_usd": 0.01, "unit": "task bounty (set by the publisher)", "notes": "Bounty range $0.01-$10,000 (live config: min_bounty_usd 0.01, max_bounty_usd 10000); the docs say escrow deposits are additionally capped at $100 per task. The 13% fee comes out of the bounty, not on top: a $10 bounty pays the worker $8.70. Optional paid evidence analysis ('verification seal'): $0.50 standard, $1.00 with video, paid over x402. Platform metrics on 2026-10-26 report $934.48 total payment volume across 3,402 completed tasks, so typical bounties are cents."}, "latency": {"typical": "Not guaranteed; bounded by the deadline the publisher sets (1-720 hours)", "notes": "The publisher sets deadline_hours (1-720); tasks with no completed submission expire (2,479 of 6,966 tasks had expired by 2026-10-26). Applicants apply and the publisher assigns one, which locks escrow. A submission left unreviewed for 72 hours auto-settles to the worker; an inconclusive automated verdict opens a dispute with a 24-hour response deadline that may go unclaimed for small bounties."}, "coverage": {"regions": ["Global (self-registered workers; no country limit stated)"], "notes": "No country list or limit is published; an OFAC sanctioned-address blacklist exists. Supply is thin: public metrics on 2026-10-26 listed 652 registered workers, 56 workers who have completed a task and 13 active. Of the 200 most recent completed tasks (2026-10-08 to 2026-10-27), 1 was physical_presence and 2 were outdoor photos (sky over Medellin, Miami night sky); most were cent-sized knowledge, research and QA tasks, many done by AI agents. Only 2 tasks were open that day, both remote research. The geo-matching filter (geo_match_mode) is accepted but switched off in production.", "areas": ["*"]}, "licensing": {"summary": "Terms of Service (last updated 2026-10-03) are short: 18+, no fraudulent evidence, 13% fee, payments final once settled on-chain, platform provided as-is. They say nothing about who owns submitted evidence, licences, resale or AI training. The Privacy Policy (2026-10-24) says evidence is kept in private S3 storage and shared through short-lived links with the worker and the publisher only, is sent to third-party AI verification providers (via OpenRouter: Google, OpenAI, Anthropic, Qwen, DeepSeek and others) and may be reviewed by human moderators; faces and plates are not blurred; people in evidence can ask for removal. It does not say Execution Market trains its own models on evidence. An optional DX402 copy of each paid submission is anchored, encrypted to the buyer's key, for 90 days by default."}, "verification": {"human": {"level": "claimed", "method": "Every worker wallet must hold an ERC-8004 on-chain identity; World ID Orb verification is required server-side for bounties of $500 or more (live config worldid_min_bounty_for_orb_usd 500). Bidirectional on-chain ratings (ERC-8004, scored via describe.net). Each application and delivery records executor_kind (human, human_via_agent, autonomous_agent, robot, unknown).", "evidence_url": "https://api.execution.market/api/v1/config", "unknown": "Below $500 no proof of personhood is required, and an ERC-8004 identity is a wallet, not a person. Executors may be AI agents: target_executor 'human' is only a preference, and executor_kind is inferred from the request channel, not proven. Most recent completions have no executor_kind recorded."}, "application": {"level": "none", "method": "A mobile app (Expo camera + location) and a no-login web evidence link capture photos with camera/GPS; agents may also upload files by presigned URL.", "unknown": "No app or device attestation is documented; the docs say the mobile app's store links are 'available when published', and evidence can arrive from the web form or any signed API client."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: the submission records whether the photo came from the camera or the gallery, and uploaded files are SHA-256 hashed into evidence_content_hash (hashing on upload, not signing). No C2PA."}, "time": {"level": "claimed", "method": "Photo capture time from EXIF and the submission timestamp are shown to the publisher; a timestamp_proof evidence type exists; Ring 1 checks timestamps.", "evidence_url": "https://execution.market/skill/reference/arbiter.md", "unknown": "EXIF time is set by the device and editable; no trusted time-stamp (e.g. RFC 3161) is applied to captures. The EIP-191-signed verdict and DX402 anchor show when EM received and judged the submission, not when the photo was taken."}, "location": {"level": "claimed", "method": "gps_required (default on for photo/video tasks with a place): the evidence's GPS, else EXIF GPS, else the browser location, must fall within a radius (500 m default, 1,000 m for simple_action) of the task point, or Ring 1 fails and the delivery goes to a person. Docs describe server-side GPS anti-spoofing (speed and coordinate-consistency checks).", "evidence_url": "https://execution.market/skill/reference/task-fields.md", "unknown": "Phone or browser GPS is self-reported and spoofable; the anti-spoofing checks are not specified in detail. Without task coordinates any GPS in the evidence satisfies the requirement."}, "content": {"level": "claimed", "method": "Ring 1 'PHOTINT' forensic checks (EXIF, tampering, generative-AI detection with hard-fail floors, photo source camera vs gallery) produce a pre-check score. Optional Ring 2 LLM review (via OpenRouter) scores whether the evidence shows the task was done, with an EIP-191-signed verdict the publisher can check against the arbiter address; the publisher reviews and approves or rejects; disputes go to self-claimed human arbiters.", "evidence_url": "https://execution.market/skill/reference/evidence.md", "unknown": "The signature proves who issued a verdict, not that it is right; Ring 2 is opt-in, runs one provider today, and auto-release on a pass is disabled. Unreviewed submissions auto-settle to the worker after 72 hours. The Ring 1 detector, its version and false-positive rate are not published."}, "corroboration": {"level": "none", "unknown": "No independent cross-check of a capture. Reputation ratings and dispute arbiters judge the worker, not the observation; a publisher could post several tasks for the same place, but that is buyer-side."}}, "provenance": {"receipt": {"level": "claimed", "method": "When the arbiter runs, its verdict is EIP-191-signed over the per-file SHA-256 evidence hash (evidence_content_hash) and bound to the task_id; anyone can recover the signer and compare it with the published arbiter address. A paid seal is an EIP-191 attestation by the owner of ERC-8004 Agent #2106 over the exact SHA-256 of the artifacts plus the verdict.", "evidence_url": "https://execution.market/skill/reference/evidence.md", "unknown": "Signed by the provider's own arbiter, not an independent party; bound to task_id, not to a buyer nonce; the arbiter is opt-in (manual by default). The signature shows who issued the verdict, not that it is right; whether commitment_hash is written on-chain is not shown.", "sources": [{"claim": "evidence_content_hash, EIP-191 arbiter_verdict_signature, paid seal by the owner of ERC-8004 Agent #2106", "url": "https://execution.market/skill/reference/evidence.md"}]}}, "api": {"available": true, "self_serve": true, "docs_url": "https://execution.market/skill.md", "base_url": "https://api.execution.market/api/v1", "auth": [{"type": "other", "header": "Signature", "how_to_get": "ERC-8128 HTTP Message Signatures (RFC 9421 over EIP-191) signed by the agent's own EVM wallet on every request (Signature, Signature-Input, Content-Digest; nonce from GET /auth/erc8128/nonce; max 300 s). The wallet first registers a gasless ERC-8004 identity at POST /reputation/register; no client_id, password or API key is issued. Recommended signer: PayBox or Open Wallet Standard."}, {"type": "oauth2", "resource_metadata": "https://mcp.execution.market/.well-known/oauth-protected-resource/mcp", "scopes": ["task:read", "task:write", "task:cancel", "worker:apply", "worker:submit", "agent:publish", "agent:approve", "reputation:rate"], "dynamic_registration": true, "cimd": true, "pkce": "S256", "transport": "mcp", "how_to_get": "Remote MCP at https://mcp.execution.market/mcp/: OAuth 2.1 authorization code with mandatory PKCE S256, public clients, RFC 7591 dynamic registration at https://auth.execution.market/oauth/register or a Client ID Metadata Document. Sign-in is Sign-In with Ethereum, so the person still needs a wallet. A bearer never moves money on its own: assigning needs a per-operation EIP-3009 signature, and approving needs that or the separately consented agent:approve scope (capped at $100 per approval and 50 approvals; 15-minute token). The auth server lists 9 scopes; the MCP resource metadata advertises 6 and omits agent:approve and reputation:rate."}, {"type": "other", "header": "X-EM-Session", "how_to_get": "Signed wallet session for clients that cannot sign requests: POST /auth/session/challenge returns EIP-712 typed data; the wallet signs it and the result is sent in X-EM-Session (TTL up to 900 s). Refused on escrow, evidence, reputation and similar paths. Gated by EM_WALLET_SESSION_ENABLED."}], "endpoints": [{"action": "list", "method": "GET", "path": "/tasks/available", "notes": "Open tasks on the public board; no credentials. GET /tasks?status=completed also lists tasks without credentials."}, {"action": "search", "method": "GET", "path": "/workers/available", "notes": "Find available workers; requires an ERC-8128 signature or bearer token."}, {"action": "order", "method": "POST", "path": "/tasks", "params": "title, instructions, category (21), bounty_usd (0.01-10000), deadline_hours (1-720), evidence_required (1-5 of 18 types, e.g. photo_geo, video, text_response); optional payment_network, location_hint (public), location_lat/location_lng (exact only to the assigned worker), gps_required, location_radius_m, geo_match_mode, min_reputation, arbiter_mode, target_executor", "notes": "Publishing locks no money. Then GET /tasks/{id}/applications, and POST /tasks/{id}/assign with an X-Payment-Auth EIP-3009 escrow signature (challenge at GET /tasks/{id}/assign/challenge) assigns the worker and locks escrow. Unknown body fields are rejected (422)."}, {"action": "status", "method": "GET", "path": "/tasks/{task_id}", "notes": "Task details and status; GET /tasks/{task_id}/events lists what happened since you last looked."}, {"action": "fetch", "method": "POST", "path": "/submissions/{submission_id}/evidence/open", "notes": "Opens a delivery's evidence (records that the publisher saw it) with evidence_content_hash, arbiter verdict and 5-minute download URLs. GET /tasks/{task_id}/submissions gives status only. POST /submissions/{id}/approve releases escrow; /reject rejects."}], "sdk": "OpenAPI 3 (234 paths) at https://execution.market/openapi.json; Swagger at https://api.execution.market/docs; A2A v0.3 agent card; MCP server card v9.7.0; uvd-x402-sdk (Python/npm) for escrow and DX402", "rate_limits": "Task creation 100/h, queries 1000/h, batch create 10/h; request body 1 MiB", "mcp": {"remote": "https://mcp.execution.market/mcp/", "registry_name": "market.execution/execution-market", "first_party": true, "notes": "Streamable HTTP, 65 tools per llms.txt (em_publish_task, em_assign_task, em_open_submission_evidence, em_approve_submission, ...). Registry entry v1.0.0, published 2026-03-20. Also an A2A JSON-RPC endpoint at https://api.execution.market/a2a/v1."}, "notes": "API keys are disabled in production (403). Identity is the wallet; an ERC-8004 identity is mandatory before publishing (403 identity_required otherwise). Task text and location_hint are public on the board, so put exact addresses only in location_lat/location_lng."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after you publish and a worker is assigned, within the deadline you set", "notes": "No archive of captures is sold; evidence is private to the publisher and worker."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Provider: publisher sets deadline_hours (1-720); no completion time is promised, and 2,479 of 6,966 tasks had expired by 2026-10-26."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "payment": {"methods": ["x402", "crypto", "mpp"], "agent_rails": ["x402", "mpp"], "agent_can_pay": true, "prepaid": true, "notes": "Stablecoin only (USDC; EURC, PYUSD, AUSD, USDT listed on some chains) from the publisher's own wallet: an EIP-3009 authorization locks the bounty in x402r escrow at assignment on 9 EVM chains (Base default, Ethereum, Polygon, Arbitrum, Avalanche, Optimism, Celo, Monad, Arc), released gaslessly with the 13% fee split on-chain at approval. Solana bounties are paid by charge or a payment channel (channel flow not working end to end in production). Metered MPP sessions are beta on Base and Arbitrum, capped at $100. No card or fiat checkout is documented."}, "account": {"headless_signup": true, "agent_may_act": {"allowed": true, "source_url": "https://execution.market/index.md"}}, "capture": {"by": "people"}, "requester": {"checks": "The publisher needs a wallet with an ERC-8004 identity (gasless, self-registered) and must accept the Terms (18+). Each published or edited task's text is reviewed by an LLM (TypeSafe via OpenRouter) against the task policy and can be refused. Workers are told not to make third parties or minors the subject of evidence photos.", "unknown": "No identity or KYC check on publishers beyond the wallet is documented; the task policy page itself was not retrievable, so how requests to watch, follow or photograph a specific person are handled is not stated."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Universal Execution Layer, party-symmetric marketplace by Ultravioleta DAO; how it works (bounty, evidence incl. photos with GPS, approval, x402 + EIP-3009 gasless release, ERC-8004 ratings); task categories; MCP/A2A/REST endpoints; 65 MCP tools; payment networks and stablecoins; 13% fee; $0.01 minimum; ERC-8004 agent #2106", "url": "https://execution.market/llms.txt"}, {"claim": "Overview: hiring matrix (A2A, A2H, H2A, H2H live, robot cells planned), escrow at assignment, API endpoints, auth in one line (ERC-8128, no API keys)", "url": "https://execution.market/index.md"}, {"claim": "Auth: ERC-8128 request signing, ERC-8004 registration (gasless, mandatory), wallet session X-EM-Session (900 s), API keys disabled, OAuth 2.1 for MCP (PKCE S256, DCR or CIMD, SIWE, agent:approve caps $100 / 50 approvals), bearer cannot move money alone", "url": "https://execution.market/auth.md"}, {"claim": "Create body fields and ranges (bounty_usd 0.01-10000, deadline_hours 1-720, evidence_required 1-5), arbiter_mode manual by default, 72-hour review window auto-settles, pricing and limits table (13% fee, $100 escrow cap per task, rate limits, World ID Orb at $500+), pre_check_score", "url": "https://execution.market/skill.md"}, {"claim": "Live config: min_bounty_usd 0.01, max_bounty_usd 10000, supported networks, worldid_min_bounty_for_orb_usd 500, require_api_key false", "url": "https://api.execution.market/api/v1/config"}, {"claim": "Categories (21), evidence types (18), executor_kind values, target_executor is a preference, geo matching off in production, gps_required defaults and radii (500 m / 1000 m), GPS read from evidence, EXIF or browser location, public location_hint vs exact coordinates", "url": "https://execution.market/skill/reference/task-fields.md"}, {"claim": "Ring 1 PHOTINT forensic checks (EXIF, GPS, tampering, timestamps, genai floors), Ring 2 LLM semantic check via OpenRouter only, auto-release disabled, inconclusive verdicts to self-claimed human arbiters with 24 h deadline", "url": "https://execution.market/skill/reference/arbiter.md"}, {"claim": "Evidence: typed artifacts SHA-256 hashed into evidence_content_hash, EIP-191-signed arbiter verdict, paid verification seal ($0.50 / $1.00 over x402), opening evidence via POST /submissions/{id}/evidence/open, DX402 durable evidence encrypted to the buyer (90-day default), no-login evidence link (30 min, 20 files)", "url": "https://execution.market/skill/reference/evidence.md"}, {"claim": "Mobile app capture flow (Expo camera + location, EXIF GPS and timestamp), store links 'available when published'; verification pipeline with GPS anti-spoofing (speed check, coordinate consistency), AI vision review, duplicate detection; reputation via describe.net; OFAC blacklist endpoint", "url": "https://docs.execution.market/llms-full.txt"}, {"claim": "Terms of Service (last updated 2026-10-03): 18+, conduct rules, 13% fee, payments final on-chain, as-is; no IP, licence or AI-training terms", "url": "https://api.execution.market/api/v1/legal/terms"}, {"claim": "Privacy Policy (2026-10-24): evidence in private S3, shared with worker and publisher via short-lived links, sent to AI verification providers via OpenRouter, no automatic face/plate blurring, removal requests, TypeSafe task-text review can refuse tasks, workers must not make third parties or minors the subject", "url": "https://api.execution.market/api/v1/legal/privacy"}, {"claim": "Platform metrics on 2026-10-26: 652 registered workers, 56 with completed tasks, 13 active; 6,966 tasks (3,402 completed, 2,479 expired, 952 cancelled); $934.48 total volume", "url": "https://api.execution.market/api/v1/public/metrics"}, {"claim": "Recent completed tasks (200, 2026-10-08 to 2026-10-27): categories, executor_kind, payment networks; 1 physical_presence task", "url": "https://api.execution.market/api/v1/tasks?status=completed&limit=100"}, {"claim": "Open tasks on 2026-10-26: 2, both remote research", "url": "https://api.execution.market/api/v1/tasks/available?limit=100"}, {"claim": "A2A agent card v0.3: skills, interfaces (A2A JSON-RPC, MCP, REST), security schemes ERC-8128 and OAuth2 with scopes", "url": "https://execution.market/.well-known/agent-card.json"}, {"claim": "OAuth authorization server metadata: registration endpoint, S256, token auth none, scopes, CIMD support", "url": "https://auth.execution.market/.well-known/oauth-authorization-server"}, {"claim": "OAuth protected-resource metadata for the MCP server (resource https://mcp.execution.market/mcp)", "url": "https://mcp.execution.market/.well-known/oauth-protected-resource/mcp"}, {"claim": "x402 discovery: facilitator, networks, tokens, escrow operators, session payments", "url": "https://execution.market/.well-known/x402"}, {"claim": "OpenAPI contract, 234 paths (llms.txt says 167), incl. /tasks/available, /workers/available, /legal/terms, /public/metrics", "url": "https://execution.market/openapi.json"}, {"claim": "MCP server card v9.7.0", "url": "https://execution.market/.well-known/mcp/server-card.json"}, {"claim": "MCP Registry entry market.execution/execution-market v1.0.0, remote https://mcp.execution.market/mcp/, published 2026-03-20", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=execution-market"}, {"claim": "ETHGlobal Cannes 2026 project; 'live in production'; World ID 4.0 ZK proofs (Orb threshold there stated as $5, superseded by the live $500 config)", "url": "https://ethglobal.com/showcase/execution-market-xc51v"}, {"claim": "evidence_content_hash; EIP-191-signed verdict; paid seal; DX402 durable evidence", "url": "https://execution.market/skill/reference/evidence.md"}, {"claim": "Account: the agent's wallet self-registers an ERC-8004 identity by API; MCP OAuth accepts dynamic registration or a Client ID Metadata Document", "url": "https://execution.market/auth.md"}, {"claim": "Agents publish tasks for humans (hiring matrix A2H live)", "url": "https://execution.market/index.md"}, {"claim": "MCP specification 2026-07-28: dynamic client registration deprecated in favour of Client ID Metadata Documents", "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration"}]}, {"id": "field-agent", "name": "Field Agent (now Storesight)", "status": "unclaimed", "provider_url": "https://www.fieldagent.net", "short": "Shoppers sent to stores for shelf photos and price checks, from $24 a response (now Storesight).", "tags": ["retail", "shelf", "store-audit", "price", "photos", "crowd", "mobile-app", "self-serve", "us", "canada", "uk"], "summary": "Crowdsourced shoppers, using the Field Agent mobile app, visit a named store to photograph shelves and displays, check prices and answer audit questions. The company (Field Agent, Inc.) rebranded to Storesight in 2025 and fieldagent.net redirects to storesight.com; the shopper app keeps the Field Agent name. Buyers order audits by the response, at published list prices, in the self-serve Storesight Projects shop (web sign-up, no ordering API), or through full service. Storesight also sells syndicated shelf-photo data from its own sampling.", "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["item photo on shelf", "price check", "on-shelf availability", "item check-up", "display compliance", "planogram visibility", "category overview and display photos", "signage audit", "store walk (signage and displays)", "menu board pricing", "in-store measurements", "shelf correction with before/after photos", "video shopalong", "mystery shopping", "buy and try"]}, "pricing": {"model": "Per response (one shopper submission) at self-serve list prices; full-service and enterprise work by quote", "from_usd": 24, "unit": "response", "notes": "List prices from the Storesight Projects shop on 2026-10-26: Item Photo, Signage Audit and Club Entryway Photos $26; Price Check and On-Shelf Availability $27; Item Check Up and Category Overview Photos $27.50; Display Compliance $28; Planogram Visibility, Modular Pics and Category Display Photos $30; Store Walk $38; Walmart Shelf Price Audit $40; Shelf Correction (Zoning) $24 with before/after photos. Optional add-on questions are $0.50 per response. Survey-style 'Insights' products that need no store visit start at $20. storesight.com/pricing is a 404; prices appear only in the shop."}, "latency": {"typical": "Self-serve projects run at least 5 days (5 to 17 by product); full-service audits launch in under 24 hours on average", "notes": "The self-serve builder enforces a minimum project length of 5 days for most store audits and up to 17 for buy-and-review products, with 0 to 3 days' lead time before launch. The platform page promises results from the field 'within days'. Shopper-side review of submissions can take 3 to 5 business days."}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "Self-serve project builder: 'Minimum project length is 5 days.' Platform page: 'visual proof and retail intelligence from the field within days.'"}, "coverage": {"regions": ["USA", "Canada", "UK", "Mexico", "Ecuador", "Spain", "South Africa", "Australia"], "notes": "Core network is in the US: Storesight cites 3 million U.S. shoppers and audits 'from major metropolitan areas to rural markets'. The shopper app runs in 8 countries through international partners (separate local sites and support for Canada, UK, Mexico, Ecuador, Spain, South Africa and Australia); density outside the US is not published. Syndicated shelf-photo categories are collected in the USA, Canada and the UK. Company-stated scale: about 6 million shelf and display images a year across 50,000 retail locations; 50 major retailers covered.", "areas": ["US", "CA", "GB", "MX", "EC", "ES", "ZA", "AU"]}, "licensing": {"summary": "Two documents apply. The shopper Participation Agreement says a shopper's work product is a 'work made for hire' for the Client, and all ownership rights, including worldwide IP, vest in the Client; Field Agent also takes a perpetual, irrevocable, sublicensable licence to exploit all submitted materials \"in connection with the operation and maintenance of the Platform\". The buyer-side Conditions of Use (2 September 2025) say Storesight owns all right, title and interest, including IP, in the Data Services, Site and Services, which are provided as-is with no warranty that they are timely. Neither document mentions resale or AI training. Syndicated shelf data bought from Storesight is Storesight's. Storesight marketing says its models \"actively learn and refine their capabilities with increased usage\"; no clause says buyers' photos train them, so that is not stated.", "buyer_owns_output": true}, "verification": {"human": {"level": "none", "unknown": "Shoppers sign up with a few demographic details; no identity check is published. The terms allow one registration per person and one device at a time, but how that is enforced is not stated. Tax identity (W-9) is collected only from US shoppers nearing $2,000 a year."}, "application": {"level": "none", "unknown": "No app or device attestation is published. Whether a photo came from an unmodified copy of the app is unknown."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Photos must be taken in the app. Adding internet images, photos of another device, computer images or screen captures from outside the app counts as cheating and gets the account banned. This is a rule enforced after the fact, not a technical check. How a photo of a screen or a printout is detected is not published, and there is no C2PA signing."}, "time": {"level": "claimed", "method": "The privacy policy says Field Agent receives the time, date and place each photo or video was taken; jobs must be finished within a reservation window that starts at reservation.", "unknown": "Whether the time comes from the device clock or the server is not stated. Nothing signed is delivered."}, "location": {"level": "claimed", "method": "The app verifies and records GPS coordinates; jobs submitted at the wrong store are denied, and location-based photos must be submitted through the app for GPS verification.", "unknown": "The accepted distance from the store, defences against GPS spoofing and what the buyer receives as location proof are not published."}, "content": {"level": "claimed", "method": "Specialists review each project's setup before launch; a quality assurance team reviews every submitted photo, price and answer and flags unclear, incomplete or potentially inaccurate ones; the system auto-denies submissions with missing items.", "unknown": "Review criteria and error rates are not published. A staged or misleading scene may pass review."}, "corroboration": {"level": "none", "unknown": "No independent cross-check of a submission is published, such as a second shopper at the same store. Property audits are reviewed by a third party, but that is review, not independent confirmation."}}, "api": {"available": false, "self_serve": false, "docs_url": "https://storesight.com/api", "auth": [{"type": "other", "how_to_get": "No public API for ordering. Self-serve audits are ordered on the web after signing up at https://projects.storesight.com/p/sign-up; the Storesight data API is arranged through 'Contact Us' on https://storesight.com/api."}], "mcp": {"remote": null, "registry_name": null, "first_party": false}, "notes": "The Storesight API delivers shelf data and photos into BI, ERP and data-warehouse systems ('20 million Accessible Photo Data from the API'). No public docs, endpoints or audit-ordering call are published. No Storesight or Field Agent server is in the official MCP Registry (searched 'storesight', 'field agent' and 'fieldagent', 2026-10-26). No OAuth protected-resource metadata on storesight.com."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "enterprise"}, "payment": {"agent_can_pay": false, "notes": "Registration requires valid payment account information, and Storesight acts as merchant of record for Data Services transactions. The payment methods accepted in the self-serve shop are not published. No agent-native payment."}, "capture": {"by": "people"}, "requester": {"checks": "Buyers register with name, company, email, phone and payment details, and represent that they are not on sanctions lists; Storesight may reject any enrollment. A specialist team reviews each audit's setup (instructions, questions, location targeting) before launch.", "unknown": "Whether Storesight screens what a buyer asks shoppers to photograph, or forbids targeting a specific person, is not published. Shoppers work undercover and are told to stop if store staff ask."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Field Agent rebranded to Storesight in 2025 after acquiring Shelfgram in 2024; 3 million shoppers; 6 million+ shelf and display images a year across 50,000 retail locations; the shopper app stays unchanged", "url": "https://talkbusiness.net/2025/07/field-agent-rebrands-to-storesight-touts-new-data-technology/"}, {"claim": "fieldagent.net returns a 301 redirect to storesight.com", "url": "https://www.fieldagent.net"}, {"claim": "Store audits: 3 million U.S. shoppers; metro to rural reach; shoppers sent into stores around the world; expert review of project setup; QA team reviews every photo, price and answer; under 24 hours average to launch; 50 major retailers; full-service or self-serve click-and-launch products", "url": "https://www.storesight.com/store-audits"}, {"claim": "230+ categories collected across the USA, Canada and the UK; results from the field 'within days'; services list", "url": "https://www.storesight.com/platform"}, {"claim": "Storesight API is a data-delivery API for BI/ERP systems with no public docs or ordering endpoint; promotes automated workflows; models 'learn and refine their capabilities with increased usage'", "url": "https://storesight.com/api"}, {"claim": "Conditions of Use (2 Sep 2025): buyer registration details and payment account; Storesight may reject enrollment; merchant of record; sanctions representation; as-is with no timeliness warranty; Storesight owns all IP in the Data Services, Site and Services", "url": "https://storesight.com/conditions-of-use"}, {"claim": "Self-serve shop lists audit, insights and trial products with Sign Up; Stripe checkout script", "url": "https://projects.storesight.com/p/audits"}, {"claim": "Price Check: $27 per response; add-on questions $0.50 per response; what shoppers capture", "url": "https://projects.storesight.com/platform/shop/product/field-agent-price-check/"}, {"claim": "Item Photo: $26 per response; launches on submit; minimum project length 5 days", "url": "https://projects.storesight.com/platform/shop/product/field-agent-item-photo/"}, {"claim": "Shelf Correction (Zoning): $24 per response with before/after photos", "url": "https://projects.storesight.com/platform/shop/product/field-agent-shelf-correction-facings/"}, {"claim": "Store Walk - Signage & Displays: $38 per response; minimum project length 14 days", "url": "https://projects.storesight.com/platform/shop/product/field-agent-store-walk-signage-displays/"}, {"claim": "Product list with prices for buy-and-review products ($34-$40) and minimum project length up to 17 days", "url": "https://projects.storesight.com/api/product/get-product-list-by-type?type=RAR"}, {"claim": "Shopper app: job types (audits, surveys, buy & try, eye spys, scavenger hunts, mystery shops); international partners in 8 countries", "url": "https://app.fieldagent.net/"}, {"claim": "Participation Agreement: register once, one device at a time; work product is work made for hire with IP vesting in the Client; Field Agent licence to all submitted materials; no forging or faking", "url": "https://app.fieldagent.net/participation-agreement"}, {"claim": "Privacy policy: Field Agent receives the time, date and place photos or videos were taken; GPS when enabled; tasks may need location services", "url": "https://app.fieldagent.net/privacy"}, {"claim": "The app verifies and documents GPS coordinates; wrong-store submissions denied; job types", "url": "https://support.fieldagent.net/hc/en-us/articles/227602588-About-Jobs-What-to-Expect"}, {"claim": "Location-based photos must be submitted through the app for GPS verification", "url": "https://support.fieldagent.net/hc/en-us/articles/115000028094-I-made-a-mistake-in-my-job-Can-I-send-the-correct-photos-to-you"}, {"claim": "Photos must be taken in the app; internet images, photos of another device and screen captures lead to a ban", "url": "https://support.fieldagent.net/hc/en-us/articles/36945727675035-Computer-Images-Will-Lead-to-Account-Suspension"}, {"claim": "Shoppers are undercover; reservation time starts at reservation; all photos submitted via the app", "url": "https://support.fieldagent.net/hc/en-us/articles/360001211593-The-Basics-for-Success"}, {"claim": "All jobs reviewed by data review, 3-5 business days; property audits reviewed by a third party", "url": "https://support.fieldagent.net/hc/en-us/articles/115000027473-How-long-does-it-take-for-my-job-submission-to-be-reviewed-and-paid"}, {"claim": "Missing items are usually auto-denied", "url": "https://support.fieldagent.net/hc/en-us/articles/1260801008269-Most-Common-Denials-Alternate-Photos"}, {"claim": "Field Agent is offered in Australia, Canada, Ecuador, Mexico, South Africa, Spain, Great Britain and the USA", "url": "https://support.fieldagent.net/hc/en-us/articles/1260800309989-In-what-countries-around-the-world-is-Field-Agent-available"}, {"claim": "Registration needs only an account and a few demographic details", "url": "https://support.fieldagent.net/hc/en-us/articles/360051555514-Downloading-the-App-and-Registering-Your-Account"}, {"claim": "W-9 collected only from shoppers nearing $2,000 a year", "url": "https://support.fieldagent.net/hc/en-us/articles/115000033174-Tax-Information-W-9-and-1099"}, {"claim": "Photos come from ordinary consumers sampled by category, geography, retailer and urbanization", "url": "https://docs.storesight.com/where-do-the-photos-come-from/"}, {"claim": "No Storesight or Field Agent server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=storesight"}, {"claim": "Participation Agreement licence scope: in connection with the operation and maintenance of the Platform", "url": "https://app.fieldagent.net/participation-agreement"}, {"claim": "Marketing: models actively learn with increased usage", "url": "https://storesight.com/api"}]}, {"id": "field-nation", "name": "Field Nation", "provider_url": "https://fieldnation.com", "status": "unclaimed", "short": "Dispatch an independent technician to a US or Canadian site, with GPS check-in, photos and sign-off.", "summary": "Marketplace of independent field technicians (IT, networking, AV, POS, cabling, security, IoT) serving sites in the US and Canada. A buyer posts a work order with location, schedule and pay; a provider checks in on site, completes photo and signature tasks and logs time. REST v2 API (contract required) with work orders, GPS check-in, time logs, attachments, signatures and HMAC-signed webhooks.", "tags": ["field service", "technician", "on-site", "work order", "check-in", "site visit", "signature", "inspection"], "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["site visit with completion photos", "photo task (e.g. serial number photo)", "site-contact signature capture", "installation", "break/fix", "preventive maintenance and inspections", "site survey", "check-in at a location"]}, "pricing": {"model": "subscription (Plus, Premier, Enterprise) plus per-work-order pay set by the buyer (fixed or hourly)", "from_usd": 0, "unit": "work order", "notes": "No figures published. Client API is an add-on on Plus and included on Premier; API use is billed per the signed Sales Order, with a set-up fee. Providers pay Field Nation a percentage of the work-order charges. All amounts in USD. Cancelling after a provider is assigned and dispatched may incur a fee."}, "latency": {"typical": "not published; 'Fill jobs in minutes with local, experienced techs' (coverage page) and 'same-day field service nationwide' (customer quote)", "notes": "The buyer sets the service window per work order (exact time, between a window, or within N hours). No delivery SLA. Unreviewed completed work is deemed accepted after 15 days."}, "coverage": {"regions": ["US", "Canada"], "areas": ["US", "CA"], "notes": "About page: '425K+ sites serviced throughout the U.S. and Canada'. The coverage map is by US state and claims 'every ZIP code'. Density in Canada is not published. Payments in USD only; California buyers must meet credit requirements instead of prefunding."}, "licensing": {"summary": "Under the Standard Work Order Terms each Provider assigns to the Buyer all rights in the Work Product made in performing a work order, and Buyer Terms say work-order information is the Buyer's property; a buyer can vary these terms per work order. Field Nation does not own Buyer Data but takes a worldwide licence to use it for operating the Platform and 'related business purposes', and may use de-identified data for any purpose. The terms do not mention AI or ML training, or resale of deliverables (the resale ban in the User Agreement covers the Platform itself).", "buyer_owns_output": true}, "verification": {"human": {"level": "claimed", "method": "Providers are registered platform accounts with ratings and job history; Field Nation reserves the right to validate identity information; buyers can require certification, background-check or drug-test qualifications that providers must upload and have verified before requesting the work.", "evidence_url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/compliance/", "unknown": "Buyer Terms say Field Nation 'does not and will not investigate Providers' and does not verify their skills, background or profile information. Who runs the screenings, and how identity is checked, is not published."}, "application": {"level": "none", "unknown": "No app or device attestation. Providers 'typically upload completion photos via the mobile app', but the API also accepts uploads, check-ins, task completion and signatures, so nothing shows a photo came from the app. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "No live-capture, EXIF or signed-capture handling documented; attachments carry only an upload time. Field Nation is not on the C2PA conforming products list."}, "time": {"level": "claimed", "method": "Check-in/check-out creates time logs with start.utc/end.utc, status pending/verified/disputed ('verified' = confirmed by buyer); on completion the system checks signature timestamps fall within the service window.", "evidence_url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/time-logs/", "unknown": "Time logs can be created, edited and deleted via the API; attachments carry only an upload time, not a capture time."}, "location": {"level": "claimed", "method": "check_in carries location {lat,lng}, which 'is compared against the work order location to verify the provider is on-site'; a buyer can set require_gps to require GPS check-in.", "evidence_url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/time-logs/", "unknown": "No distance threshold; check-out has no location; photos carry no coordinates; spoofing controls not described."}, "content": {"level": "claimed", "method": "Required tasks (e.g. 'Take photo of serial number') and signatures must be completed before the provider marks work done; the buyer then approves, marks incomplete or disputes (workorder.status.approved).", "evidence_url": "https://developer.fieldnation.com/docs/rest-api/work-orders/workflow/lifecycle/", "unknown": "Review is by the buyer (or SmartAudit rules the buyer configures), not Field Nation; unreviewed work is deemed accepted after 15 days."}, "corroboration": {"level": "claimed", "method": "A site contact can sign off on completion (name, title, signature image); on completion the system checks the required number of signatures and that names match the expected contacts.", "evidence_url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/signatures/", "unknown": "Signatures are captured on the provider's device and can also be created via the API; nothing ties the signer's identity or presence to the site."}}, "api": {"available": true, "docs_url": "https://developer.fieldnation.com/", "base_url": "https://api.fieldnation.com/api/rest/v2", "auth": [{"type": "oauth2", "transport": "rest", "dynamic_registration": false, "env_var": "FIELDNATION_CLIENT_ID / FIELDNATION_CLIENT_SECRET", "how_to_get": "Active buyer account plus an executed Integration Contract (Contact Sales). client_id/client_secret from Integration > Field Services > REST API v3 card; Company ID for the x-fn-company-id header. Token from POST https://api.fieldnation.com/authentication/api/oauth/token: the auth page shows a password grant (client_id, client_secret, username, password), while the prerequisites page says Client Credentials. Tokens last about 1 hour, with a refresh_token, and are passed as the access_token query parameter. Sandbox: https://api-sandbox.fndev.net/api/rest/v2 (separate credentials)."}], "endpoints": [{"action": "order", "method": "POST", "path": "/workorders", "params": "title, types_of_work, location, pay, schedule, description, template, project", "notes": "Creates a Draft. Then POST /workorders/{id}/publish (marketplace), /route or /mass-route (chosen providers), or /assignee (direct). Approve with POST /workorders/{id}/approve. No idempotency key documented."}, {"action": "list", "method": "GET", "path": "/workorders", "params": "list, f_state, f_project, f_created_date, sort, order, page, per_page, sticky=false"}, {"action": "status", "method": "GET", "path": "/workorders/{id}", "notes": "Status: Draft, Published, Routed, Assigned (sub-statuses On My Way, Checked In, Checked Out...), Work Done, Approved, Paid, Cancelled. Webhooks push the same changes."}, {"action": "status", "method": "GET", "path": "/workorders/{id}/time_logs", "notes": "Check-in/check-out times and verified status."}, {"action": "fetch", "method": "GET", "path": "/workorders/{id}/attachments", "notes": "Folders such as 'Completion Photos', with file link and created.utc."}, {"action": "fetch", "method": "GET", "path": "/workorders/{id}/signatures"}], "mcp": {"remote": null, "registry_name": null, "notes": "No MCP server found; the official MCP Registry has no entry for Field Nation (searched 2026-10-26)."}, "rate_limits": "10 requests per second per token, with short bursts; 429 with Retry-After when exceeded.", "notes": "200+ endpoints. API is available only to Buyers. 33 webhook events (e.g. workorder.status.checked_in, workorder.status.work_done, workorder.provider_upload), signed with HMAC-SHA256 in the x-fn-signature header, retried up to 7 times. No OAuth discovery documents are published.", "self_serve": false}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "'Fill jobs in minutes with local, experienced techs' (coverage page) and a customer quote of 'same-day field service nationwide' (home page); the buyer sets the service window and no SLA is published."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "contract", "rate_limit": {"requests": 10, "per_seconds": 1, "scope": "per-key", "notes": "Per token, with short bursts; 429 with Retry-After when exceeded.", "source_url": "https://developer.fieldnation.com/docs/resources/faq/"}}, "payment": {"methods": ["prepaid_balance", "invoice"], "agent_can_pay": false, "prepaid": false, "notes": "To post work a buyer must deposit funds with Field Nation or meet its credit requirements (California buyers must use credit). Field Nation pays providers on the buyer's behalf after approval, typically weekly on Friday. API fees are invoiced per the Sales Order, due in 30 days unless stated. USD only. No agent-native payment rail."}, "capture": {"by": "people"}, "requester": {"checks": "Buyers register an account with accurate, verifiable information; Field Nation may validate identity, email and financial information, and requires sanctions/export-control representations, a W-9 or W-8BEN before marketplace access, and funds on deposit or credit approval. API use also needs a signed Integration Contract.", "unknown": "Whether Field Nation reviews what a work order asks the provider to do or photograph is not published; Buyer Terms say the buyer exclusively controls work-order content."}, "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Base URLs, OAuth 2.0 (Client Credentials or User based), full work-order lifecycle automation", "url": "https://developer.fieldnation.com/docs/rest-api/introduction/"}, {"claim": "Password grant, token URL, 1-hour tokens, access_token query parameter", "url": "https://developer.fieldnation.com/docs/rest-api/getting-started/authentication/"}, {"claim": "Buyer account and Integration Contract required; credentials location; x-fn-company-id; Client Credentials grant", "url": "https://developer.fieldnation.com/docs/getting-started/prerequisites/"}, {"claim": "200+ endpoints, 30+ webhook events", "url": "https://developer.fieldnation.com/"}, {"claim": "Rate limit 10 requests/second per token; API only for Buyers; sandbox", "url": "https://developer.fieldnation.com/docs/resources/faq/"}, {"claim": "429 with Retry-After", "url": "https://developer.fieldnation.com/error-codes/rate-limit-exceeded/"}, {"claim": "List/filter endpoint parameters", "url": "https://developer.fieldnation.com/docs/rest-api/getting-started/basics/"}, {"claim": "Create work order payload; schedule modes", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/basics/create/"}, {"claim": "GET /workorders/{id}; require_gps; cancellation fee", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/basics/operations/"}, {"claim": "Statuses, publish/route/assign/approve/incomplete", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/workflow/lifecycle/"}, {"claim": "Check-in lat/lng compared with site, time logs, verified status", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/time-logs/"}, {"claim": "Completion photos via mobile app; attachment fields", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/communication/attachments/"}, {"claim": "Photo tasks required for closing", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/tasks/"}, {"claim": "Site-contact signatures; completion checks on count, names and timestamp", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/signatures/"}, {"claim": "Qualification and screening requirements; providers must have verified qualifications", "url": "https://developer.fieldnation.com/docs/rest-api/work-orders/execution/compliance/"}, {"claim": "Weekly Friday payment after approval; buyer reviews deliverables", "url": "https://developer.fieldnation.com/docs/getting-started/platform-overview/"}, {"claim": "Webhooks, 33 events, HMAC-SHA256, retries", "url": "https://developer.fieldnation.com/docs/webhooks/introduction/"}, {"claim": "x-fn-signature header", "url": "https://developer.fieldnation.com/docs/webhooks/guides/security/"}, {"claim": "Subscription tiers, no prices; Client API add-on on Plus; prefunding; W-9/W-8BEN", "url": "https://fieldnation.com/pricing"}, {"claim": "Work types; 'same-day field service nationwide' customer quote", "url": "https://fieldnation.com/"}, {"claim": "425K+ sites serviced throughout the U.S. and Canada", "url": "https://fieldnation.com/about"}, {"claim": "Coverage by US state, every ZIP code; 'Fill jobs in minutes'", "url": "https://fieldnation.com/coverage-map"}, {"claim": "User Agreement, Buyer Terms, Standard Work Order Terms (Work Product assigned to Buyer), Integration and API Agreement (Sales Order, set-up fee, 30-day invoices)", "url": "https://app.fieldnation.com/legal/"}, {"claim": "No MCP Registry entry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=fieldnation"}, {"claim": "Not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "adapter": "field_nation"}, {"id": "fintraffic-weathercams", "name": "Fintraffic Digitraffic road weather cameras", "status": "unclaimed", "provider_url": "https://www.digitraffic.fi/en/road-traffic/", "tags": ["webcam", "road weather", "traffic", "snow", "ice", "finland", "open data", "live camera"], "short": "816 road-weather camera stations across Finland, new stills about every 10 min, CC BY 4.0, no key.", "summary": "Finland's national traffic agency publishes its road weather cameras as open data: 816 stations with 2,288 fixed views (presets). Each view has a stable latest-image URL, a capture time, a road address and a view direction, and the last 24 hours of images can be fetched by version.", "capabilities": {"modalities": ["photo"], "tasks": ["current still of a Finnish road or roadside view", "visual check of snow, ice, fog, road surface and traffic", "images of the same view over the last 24 hours"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "image", "notes": "Open data under CC BY 4.0; no key, no account and no paid tier."}, "latency": {"typical": "about 10 minutes", "notes": "Digitraffic: images are updated about every 10 minutes (station collectionInterval 600 s). Sampled 2026-10-26 (05:00 UTC on 27 Oct): across 2,283 presets the latest measuredTime was a median 5.5 min old, 90th percentile 10 min, 2,225 under 15 min; a few long-idle presets are days or more stale. The sampled image's x-amz-meta-last-modified matched its measuredTime."}, "coverage": {"regions": ["Finland", "Aland Islands"], "notes": "816 stations on the Finnish road network, from the south coast to northern Lapland (lat 59.9-70.1), one of them in Eckero, Aland. On 2026-10-26, 814 were GATHERING and 2 REMOVED_TEMPORARILY. Check collectionStatus, state and each preset's inCollection before relying on a view.", "areas": ["FI", "AX"]}, "licensing": {"summary": "Fintraffic's open data is licensed under Creative Commons Attribution 4.0, which 'gives the right to distribute, remix, tweak, and build upon our data, even commercially', with credit. Attribution must preserve the copyright notice and disclaimers, link the original site and the licence, and describe any changes; suggested credit: 'Source: Fintraffic / digitraffic.fi, license CC 4.0 BY'. The terms do not mention AI or machine-learning training.", "resale": "allowed"}, "verification": {"human": {"level": "none", "unknown": "Fixed automated cameras; no person is involved in capture."}, "application": {"level": "none", "unknown": "No attestation of the camera software or the upload pipeline."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Fixed road cameras; Digitraffic says road data come from the traffic management systems of ITM Finland Ltd, a Fintraffic subsidiary. Station metadata names the camera type (e.g. BOSCH, VAPIX). No per-image proof that a frame came from the named camera; images carry no C2PA manifest."}, "time": {"level": "claimed", "method": "measuredTime per preset in /stations/{id}/data; the image's x-amz-meta-last-modified header matches it.", "unknown": "Timestamps are not signed; the image overlay shows no capture time."}, "location": {"level": "claimed", "method": "Station coordinates, road address (road number, section, distance) and municipality, plus a direction code and name per preset.", "unknown": "Coordinates and view direction are operator metadata, not verified per image."}, "content": {"level": "none", "unknown": "No integrity or content checks are documented. An unknown or unpublished preset still returns HTTP 200 with a grey 'Image not available' JPEG, so check the size or the ETag."}, "corroboration": {"level": "none", "unknown": "Station metadata can name a nearestWeatherStationId (seen on the sampled station) whose road weather readings can be cross-checked by the caller, but Digitraffic publishes no cross-check."}}, "api": {"available": true, "self_serve": true, "docs_url": "https://www.digitraffic.fi/en/road-traffic/", "base_url": "https://tie.digitraffic.fi/api/weathercam/v1", "auth": [{"type": "none", "header": "Digitraffic-User", "how_to_get": "No key. Send a Digitraffic-User header naming your app (no personal data); it raises your request allowance. No Authorization header is needed. JSON APIs require Accept-Encoding: gzip (406 without it); images do not."}], "endpoints": [{"action": "list", "method": "GET", "path": "/stations", "params": "lastUpdated", "notes": "GeoJSON FeatureCollection of all stations: coordinates, collectionStatus, presets with inCollection."}, {"action": "fetch", "method": "GET", "path": "/stations/{id}", "notes": "One station in detail: camera type, collectionInterval, municipality, road address, nearestWeatherStationId, and per preset the imageUrl, resolution, direction and name."}, {"action": "fetch", "method": "GET", "path": "/stations/{id}/data", "notes": "measuredTime per preset; /stations/data returns all stations."}, {"action": "fetch", "method": "GET", "path": "https://weathercam.digitraffic.fi/{presetId}.jpg", "params": "thumbnail=true", "notes": "Latest image (e.g. 1280x720). Supports ETag/If-None-Match (304 when unchanged). Unknown presets return a 200 placeholder image."}, {"action": "list", "method": "GET", "path": "/stations/{id}/history", "notes": "Links to each preset's images over the last 24 hours (imageUrl with versionId, lastModified, size); /stations/history covers all."}, {"action": "list", "method": "GET", "path": "/publicities/changes", "params": "after", "notes": "Presets whose publishableTo changed: views taken out of or returned to public view."}], "rate_limits": "Without the Digitraffic-User header: 60 requests/min per IP for weathercam images and 60/min for tie.digitraffic.fi v1 APIs; more with the header (no figure published). Excess requests get 429. Most JSON responses are cached for about a minute.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No Fintraffic MCP server in the official MCP Registry. The only Digitraffic entry is a third-party AIS vessel server (io.github.pipeworx-io/digitraffic-ais), not weather cameras."}, "notes": "OpenAPI: https://tie.digitraffic.fi/swagger/openapi.json. Deprecated API versions stay up for six months and return Deprecation and Sunset headers."}, "freshness": {"mode": "live", "typical_age": "0-10 minutes", "notes": "Images are kept for 24 hours (history endpoint; S3 expiry rule 'Delete versions and current images after 24h')."}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "Digitraffic road-traffic page: 'Weather camera images are updated approximately about every 10 minutes.'"}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none", "rate_limit": {"requests": 60, "per_seconds": 60, "scope": "per-ip", "notes": "Without the Digitraffic-User header; the header raises the allowance (no figure published). 429 on excess. gzip required for JSON.", "source_url": "https://www.digitraffic.fi/en/support/instructions/"}}, "capture": {"by": "devices"}, "requester": {"checks": "None. Calls are anonymous; Digitraffic asks for a Digitraffic-User header naming the app and offers optional app sign-up so it can contact heavy users.", "unknown": "Nothing is ordered or commissioned, so no requester checks apply."}, "payment": {"methods": [], "agent_can_pay": true, "notes": "Free; nothing to pay."}, "updated": "2026-10-28", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "adapter": "fintraffic", "sources": [{"claim": "816 stations, 2,288 presets, collectionStatus counts, coordinate range (live, 2026-10-26)", "url": "https://tie.digitraffic.fi/api/weathercam/v1/stations"}, {"claim": "Station detail fields: cameraType, collectionInterval 600, road address, direction per preset, imageUrl, resolution, nearestWeatherStationId", "url": "https://tie.digitraffic.fi/api/weathercam/v1/stations/C01503"}, {"claim": "Per-preset measuredTime (sampled about 2 min old)", "url": "https://tie.digitraffic.fi/api/weathercam/v1/stations/C01503/data"}, {"claim": "Age of the latest image across 2,283 presets (median 5.5 min, p90 10 min)", "url": "https://tie.digitraffic.fi/api/weathercam/v1/stations/data"}, {"claim": "Live image: ETag, x-amz-meta-last-modified matching measuredTime, 24 h expiry rule, 1280x720", "url": "https://weathercam.digitraffic.fi/C0150301.jpg"}, {"claim": "Unknown preset returns HTTP 200 with a placeholder 'Image not available' JPEG", "url": "https://weathercam.digitraffic.fi/C9999999.jpg"}, {"claim": "Last-24-hours image history with versioned URLs", "url": "https://tie.digitraffic.fi/api/weathercam/v1/stations/C01503/history"}, {"claim": "Endpoint list, licence CC BY 4.0, terms of service link", "url": "https://tie.digitraffic.fi/swagger/openapi.json"}, {"claim": "Images updated about every 10 minutes; check collectionStatus, state and inCollection; thumbnail parameter; 24 h history", "url": "https://www.digitraffic.fi/en/road-traffic/"}, {"claim": "CC BY 4.0 including commercial distribution; attribution requirements", "url": "https://www.digitraffic.fi/en/terms-of-service/"}, {"claim": "Digitraffic-User header, rate limits (60/min per IP without header), 429, gzip required, Authorization causes 400, ETag usage, deprecation policy", "url": "https://www.digitraffic.fi/en/support/instructions/"}, {"claim": "No Fintraffic weathercam MCP server in the official registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=digitraffic"}]}, {"id": "flyguys", "name": "FlyGuys", "provider_url": "https://flyguys.com", "short": "Nationwide US drone, LiDAR and inspection missions flown by a pilot network.", "summary": "FlyGuys (Lafayette, Louisiana) runs FlyGuys Capture, a platform that dispatches missions to a network of FAA-certified (Part 107) drone pilots for aerial imagery, mapping, LiDAR, inspections, thermal and multispectral capture, with QA before delivery. It publishes a Swagger API (api.flyguys.com) to create jobs from a catalogue package id and a location, read job status, update status, and fetch delivered files via temporary S3 or Azure credentials; access runs through an Azure API Management developer portal. Pricing is quoted per project.", "tags": ["drone", "aerial", "uav", "lidar", "mapping", "photogrammetry", "inspection", "thermal", "multispectral", "pilot network", "usa", "api", "commission"], "capabilities": {"modalities": ["aerial", "photo", "video", "sensor"], "tasks": ["order a drone mission (aerial imagery, orthomosaic, 3D, LiDAR, roof or tower inspection, thermal, multispectral) at a US address or polygon", "create a job through the API from a catalogue package id, location and annotated areas", "read job status and update it (for example put on hold)", "list and download delivered files through temporary S3 or Azure storage credentials"]}, "pricing": {"model": "quote per project; volume discounts and MSAs", "from_usd": 0, "unit": "not published", "notes": "FAQ: 'FlyGuys does not offer set packages'; LiDAR 'generally range from $6,500 to $9,000 per day and up to $12,000 depending on client needs'. No per-mission list price for imagery was found."}, "latency": {"typical": "2 to 5 business days after the flight for non-LiDAR work", "notes": "FAQ: 'Projects are typically ready within 2-5 business days with an ASAP mindset for all non-LiDAR work' and 'We fly as soon as possible based on factors such as weather, pilot availability, site availability and airspace restrictions.' Time to first flight is not stated. The MSA gives the client 7 days to report non-conforming deliverables, which are re-flown at FlyGuys' cost."}, "coverage": {"regions": ["United States"], "notes": "FAQ: 'If you are within the US, absolutely! All inquiries originating outside the United States will be considered on an individual basis.' The AI-assistants page says 'Geographic coverage: United States, with additional capabilities evaluated according to project requirements.' Pilots need their own drone and a Part 107 licence.", "areas": ["US"]}, "licensing": {"summary": "FAQ: 'FlyGuys owns all data collected using our technology unless otherwise specified by the client.' The Master Services Terms (6 Aug 2024 docx) say FlyGuys owns the Services' intellectual property, that re-use of deliverables for other purposes is at the client's risk, and that deliverables are AS-IS; no clause on AI training or resale was found, and any licence to the client is set in the Task Order.", "buyer_owns_output": false}, "verification": {"human": {"level": "claimed", "unknown": "Pilots must hold their own drone and an FAA Part 107 certificate and register their FAA number in the pilot portal; FlyGuys assigns a mission coordinator. How identity and certificate are verified is not published.", "method": "Pilot portal registration with FAA number", "evidence_url": "https://flyguys.com/faq/"}, "application": {"level": "none", "unknown": "No device or app attestation of captures is documented."}, "camera": {"level": "none", "unknown": "No capture-device signing (such as C2PA) is documented; recommended drones (Mavic 3 Enterprise, Matrice 4) are named but not attested."}, "time": {"level": "claimed", "unknown": "Mission records carry timestamps; no independent time-stamp scheme is documented."}, "location": {"level": "claimed", "unknown": "Jobs carry a coordinate and annotated polygons; flight-log or geotag verification is not described."}, "content": {"level": "claimed", "unknown": "FlyGuys says it performs QA/QC review of collected data before delivery; no public method or evidence.", "method": "Internal QA/QC review", "evidence_url": "https://flyguys.com/how-flyguys-works/"}, "corroboration": {"level": "none", "unknown": "No independent cross-check is documented."}}, "freshness": {"mode": "on_demand", "typical_age": "Flown after you order", "notes": "Weather, pilot, site and airspace permitting."}, "api": {"available": true, "self_serve": false, "docs_url": "https://api.flyguys.com/swagger/ui/index", "base_url": "https://api.flyguys.com", "openapi_url": "https://api.flyguys.com/swagger/docs/v1", "auth": [{"type": "oauth2", "dynamic_registration": false, "transport": "rest", "how_to_get": "POST /token (form: grant_type=client_credentials, client_id, client_secret) returns a bearer access token (the developer portal example shows expires_in 7000); then send 'Authorization: Bearer <token>' and a client_id header. Credentials come from signing up at the Azure API Management developer portal dev-connect.flyguys.com; whether sign-up is approved by FlyGuys was not verified."}], "endpoints": [{"action": "order", "method": "POST", "path": "/Jobs", "params": "package.id, location (name, address, coordinate, annotations FeatureCollection with catalog_item_ids)", "notes": "Creates a mission; the package id comes from a catalogue the client is given"}, {"action": "status", "method": "GET", "path": "/Jobs/{id}"}, {"action": "status", "method": "POST", "path": "/Mission", "params": "mission.id, status (for example put_on_hold), status_update_reason", "notes": "Updates mission status"}, {"action": "list", "method": "GET", "path": "/Files/{jobId}", "notes": "Also /Files/v2/{jobId} for Azure blobs"}, {"action": "fetch", "method": "GET", "path": "/S3Credentials", "notes": "Temporary STS credentials; client_id header required. /AzureStorageCredentials for a SAS"}], "rate_limits": "Not stated.", "notes": "Swagger title 'Flyguys APIs'; the sample request uses a demo package. No quote endpoint, OAuth discovery, dynamic registration or MCP server found (Registry search 0). FlyGuys also publishes a page 'Official FlyGuys information for AI assistants and search engines'."}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "FAQ: 'Projects are typically ready within 2-5 business days with an ASAP mindset for all non-LiDAR work.'"}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "approval"}, "capture": {"by": "people"}, "payment": {"methods": ["invoice"], "agent_can_pay": false, "notes": "MSA: FlyGuys invoices on completion unless the Task Order says otherwise, payable in US dollars on receipt. No API payment."}, "requester": {"checks": "Master Services Terms and a Task Order per project; MSAs encouraged for recurring work. The FAQ says it cannot assist in the search for missing pets.", "unknown": "Customer vetting and permitted-use screening are not published."}, "providers": [{"name": "FlyGuys, Inc.", "roles": ["producer", "processor"], "url": "https://flyguys.com"}], "sources": [{"claim": "Swagger UI for the FlyGuys API", "url": "https://api.flyguys.com/swagger/ui/index"}, {"claim": "Swagger 2.0 document: /Jobs, /Mission, /Files, /S3Credentials, /AzureStorageCredentials, /token", "url": "https://api.flyguys.com/swagger/docs/v1"}, {"claim": "Developer portal (Azure API Management) sign-up and token example", "url": "https://dev-connect.flyguys.com/"}, {"claim": "FAQ: turnaround 2-5 business days, data ownership, US coverage, LiDAR cost range, no set packages, pilot requirements (Part 107, own drone)", "url": "https://flyguys.com/faq/"}, {"claim": "Capture platform: 20,000+ FAA-certified pilots, API-first, self-service portal", "url": "https://flyguys.com/flyguys-capture-software/"}, {"claim": "How it works: QA/QC then delivery", "url": "https://flyguys.com/how-flyguys-works/"}, {"claim": "Services, geographic coverage United States", "url": "https://flyguys.com/official-flyguys-information-for-ai-assistants-and-search-engines/"}, {"claim": "Master Services Terms (docx): IP, deliverables AS-IS, 7-day review, invoicing", "url": "https://flyguys.com/wp-content/uploads/2025/02/flyguys_online_master_services_agreement_terms__8-6-24_-1.docx"}, {"claim": "Terms and Conditions page links the Master Services Terms", "url": "https://flyguys.com/terms-and-conditions/"}, {"claim": "Not in MCP Registry (0 results)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=flyguys"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "status": "unclaimed", "updated": "2026-10-28", "expires": "2027-10-27", "adapter": "flyguys"}, {"id": "fmi-open-data", "name": "FMI Open Data (Finnish Meteorological Institute observations)", "provider_url": "https://en.ilmatieteenlaitos.fi/open-data", "short": "Finnish weather, sea level, lightning and air quality; keyless, CC BY.", "summary": "The Finnish Meteorological Institute publishes much of its data as open data through OGC WFS and WMS services. The keyless WFS at opendata.fmi.fi offers stored queries for observations (weather stations, mareographs, lightning, air quality, magnetometers and more) alongside forecasts and radar; the data are licensed CC BY 4.0, which also covers the Radiation and Nuclear Safety Authority's data and air-quality data in the service.", "tags": ["weather", "observations", "finland", "sea level", "lightning", "air quality", "radiation", "wfs", "open data", "no key"], "capabilities": {"modalities": ["sensor"], "tasks": ["latest weather station observations (temperature and others) for a place or area", "mareograph (sea level) observations", "lightning observations", "hourly air-quality observations", "magnetometer observations", "radiation measurements from the Radiation and Nuclear Safety Authority"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "The open data page says data can be downloaded \"in machine-readable format free of charge\". No key was needed in the live call."}, "latency": {"typical": "About 10 minutes for station observations (one sample; not published)", "notes": "The live call with timestep=10 returned a latest timestamp of 15:40:00Z at about 15:41Z, but its value was NaN (no reading yet), so the freshest filled value was older. No delivery delay is stated on the pages read."}, "coverage": {"regions": ["Finland (land stations, Baltic coast mareographs, lightning, air quality)"], "notes": "The pages read describe Finnish Meteorological Institute data; geographic extent of each stored query is not listed there.", "areas": ["FI"]}, "licensing": {"summary": "Licence page: \"The Creative Commons Attribution 4.0 International license (CC BY 4.0) shall be used by the Finnish Meteorological Institute's open data service. The license shall apply to the FMI's and the Radiation and Nuclear Safety Authority's open data sets as well as air quality data sets that are stored in the open data web-service.\" The WFS page says \"User must accept Creative Commons license before using the open data service interfaces.\" The terms read do not mention AI training or resale by name."}, "verification": {"human": {"level": "none", "unknown": "Automated stations; no person confirms readings."}, "application": {"level": "none", "unknown": "No signing or attestation is documented."}, "camera": {"level": "none", "unknown": "Not a camera source."}, "time": {"level": "claimed", "method": "Each value carries a UTC timestamp (BsWfs:Time).", "unknown": "Timestamps are the institute's own and unsigned."}, "location": {"level": "claimed", "method": "Each value carries station coordinates (gml:pos).", "unknown": "Coordinates are the institute's own and unsigned."}, "content": {"level": "claimed", "method": "Values are the institute's observations; missing readings are returned as NaN.", "unknown": "The pages read state no quality-control level or accuracy warranty for observations."}, "corroboration": {"level": "none", "unknown": "Nothing independent is attached to individual readings."}}, "freshness": {"mode": "live", "typical_age": "about 10 minutes (one sample; not published)", "notes": "Observations are continuously updated; the same service also serves forecasts and radar, which are not observations."}, "delivery": {"speed": "minutes", "basis": "Open data manual: \"Download Services provide a continuous online access to the most up-to-date data, implemented using OGC Web Feature Service (WFS).\"", "modes": ["live"]}, "api": {"available": true, "self_serve": true, "docs_url": "https://en.ilmatieteenlaitos.fi/open-data-manual", "base_url": "https://opendata.fmi.fi", "auth": [{"type": "none", "how_to_get": "No key. The service says the user must accept the Creative Commons licence."}], "endpoints": [{"action": "list", "method": "GET", "path": "/wfs?service=WFS&version=2.0.0&request=listStoredQueries", "notes": "Lists stored queries, including fmi::observations::weather::simple, fmi::observations::mareograph::instant::simple, fmi::observations::lightning::simple, fmi::observations::airquality::hourly::simple, fmi::observations::magnetometer::simple."}, {"action": "fetch", "method": "GET", "path": "/wfs?service=WFS&version=2.0.0&request=getFeature&storedquery_id={query}", "params": "e.g. place, parameters (t2m), starttime, endtime, timestep (minutes), maxlocations", "notes": "XML (GML) response. The live call with fmi::observations::weather::simple, place=Helsinki, parameters=t2m returned timestamped t2m values with station coordinates."}], "rate_limits": "The WFS page says: \"Download Service has limit of 20000 requests per day; View Service has limit of 10000 requests per day; Download and View Services have combined limit of 600 requests per 5 minutes\" (described as user specific; how a user is identified is not stated).", "notes": "Requests are plain GET. An S3 bucket for open data is also listed in the site menu (not read)."}, "access": {"cost": "free", "key_required": false, "automation_allowed": true, "tested_live": "2026-10-28", "gate": "none", "rate_limit": {"requests": 600, "per_seconds": 300, "scope": "unknown", "notes": "Combined Download and View services; also 20,000 Download and 10,000 View requests per day. Described as user specific; how a user is identified is not stated.", "source_url": "https://en.ilmatieteenlaitos.fi/open-data-manual-fmi-wfs-services"}}, "sources": [{"claim": "Open data offered free in machine-readable form; WFS address; observation themes", "url": "https://en.ilmatieteenlaitos.fi/open-data"}, {"claim": "Open data manual: download services via WFS, machine-accessible", "url": "https://en.ilmatieteenlaitos.fi/open-data-manual"}, {"claim": "Licence CC BY 4.0 applying to FMI, Radiation and Nuclear Safety Authority and air-quality data", "url": "https://en.ilmatieteenlaitos.fi/open-data-licence"}, {"claim": "WFS stored queries, terms (accept CC licence), request limits", "url": "https://en.ilmatieteenlaitos.fi/open-data-manual-fmi-wfs-services"}, {"claim": "Stored query list (observations queries) and live getFeature call", "url": "https://opendata.fmi.fi/wfs?service=WFS&version=2.0.0&request=listStoredQueries"}, {"claim": "Stored query fmi::observations::weather::simple parameters: starttime, endtime, timestep, parameters, crs, bbox, place, fmisid, maxlocations, geoid, wmo", "url": "https://opendata.fmi.fi/wfs?service=WFS&version=2.0.0&request=describeStoredQueries&storedquery_id=fmi::observations::weather::simple"}], "status": "unclaimed", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "capture": {"by": "devices"}, "adapter": "fmi-open-data"}, {"id": "freelancer", "name": "Freelancer.com (local jobs)", "provider_url": "https://www.freelancer.com", "status": "unclaimed", "tags": ["crowd", "freelance", "local job", "site verification", "inspection", "photography", "global", "api", "oauth", "sandbox", "bidding"], "summary": "Global freelance marketplace whose API can post 'Local Jobs' projects pinned to a place (country, city, latitude and longitude) in job types such as Inspections, Local Job, Photography and Video Tours. Freelancers bid; the buyer awards a bid and pays through Milestone Payments released on approval. The User Agreement (s.33) forbids automated access, including the API, without Freelancer's express written permission.", "short": "Post a local job anywhere; nearby freelancers bid to go and do it.", "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["site verification", "inspections", "local photography and video tours", "errands and pickups", "investigation"]}, "pricing": {"model": "bid-based; buyer sets a budget range, freelancers bid", "from_usd": 0, "unit": "project", "notes": "from_usd 0 means not published (set by bids). Posting is free. Employer fee on award: 3% or USD 3, whichever is greater (fixed price); 3% of each payment (hourly); refundable if cancelled within 7 days. Card, PayPal or Skrill: USD 0.30 + 2.3% (not for Australian transactions, which carry an Account Admin Fee of AUD 0.75 + 0.99%). Milestone arbitration: USD 5 or 5%, whichever is greater, per party, refunded to the winner. Optional upgrades include IP Agreement (USD 22.99 in the fee table, USD 21.99 in the same page's FAQ), NDA USD 22.99, Urgent USD 10.99."}, "latency": {"typical": "Not published; posting, review, bidding, then award", "notes": "No SLA. API-posted projects usually enter a review queue before they go live (developer docs, sandbox page). Active projects on 2026-10-26 via the public API: Inspections 17, Local Job 89, Photo Anywhere 0."}, "coverage": {"regions": ["Global"], "areas": ["*"], "notes": "Freelancer says Local Jobs 'get help in any location, anywhere in the world' and claims a 'talent pool of over 90.5 million professionals'. 167 of 3,487 job types are local. Active Inspections and Local Job projects on 2026-10-26 were concentrated in Thailand, the US, South Korea, Brazil and the UK, with a few in about 20 other countries. Density per city is not published. People barred under Australian or other applicable law may not use the site."}, "licensing": {"summary": "No default clause transfers ownership of project deliverables to the buyer; a paid IP Agreement upgrade 'ensures intellectual property rights transfer to you' (Fees and Charges). Freelancer takes a broad, sublicensable, irrevocable licence to User Content (User Agreement s.10). The terms do not mention AI or machine-learning training or resale. Freelancer may record in-app audio and video calls for 'quality assurance, training, and service improvement' (s.15), without saying whether that means model training."}, "verification": {"human": {"level": "claimed", "method": "Optional 'Verified by Freelancer' KYC: government photo ID, a photo holding the ID beside a one-time keycode, and two proofs of address, reviewed by Freelancer's team. Freelancer can also demand ID at any time (s.14).", "unknown": "Verification is optional for sellers, so the freelancer you award may be unverified. Freelancer states it 'cannot and do[es] not confirm each User's purported identity' (s.38).", "evidence_url": "https://www.freelancer.com/page.php?p=info/kyc_policy"}, "application": {"level": "none", "unknown": "Freelancers upload files they captured however they like; there is no capture app."}, "camera": {"level": "none", "unknown": "Nothing stops a gallery upload, screenshot or generated image."}, "time": {"level": "none", "unknown": "No capture timestamp is checked; only message and upload times exist."}, "location": {"level": "none", "unknown": "The project has a location, but where a file was captured is not checked. OAuth scopes fln:location_tracking_create/view ('location information of freelancer working on project') exist, but no endpoint using them is documented."}, "content": {"level": "claimed", "method": "The buyer reviews the work and releases the Milestone Payment; disputes go to Freelancer's Milestone Dispute Resolution, with paid arbitration on submitted evidence.", "unknown": "Freelancer does not review deliverables, and for Local Jobs it does not verify credentials or statements of capability (s.16)."}, "corroboration": {"level": "none", "unknown": "No independent check. A buyer could award the same task to a second freelancer by hand."}}, "api": {"available": true, "docs_url": "https://developers.freelancer.com/", "base_url": "https://www.freelancer.com/api", "auth": [{"type": "api_key_header", "header": "Freelancer-OAuth-V1", "env_var": "FLN_OAUTH_TOKEN", "how_to_get": "Personal Access Token: Generate Token at https://accounts.freelancer.com/settings/develop. Acts only as the account that made it; one active token per environment; valid 30 days. Sandbox tokens (https://accounts.freelancer-sandbox.com/settings/develop) work only on https://www.freelancer-sandbox.com. User Agreement s.33 bars automated means, \"including ... access to our API\", \"without our express written permission\"; the API T&Cs (apiterms) govern API use, and issuing a token may count as that permission, which is unconfirmed. Marked false until a person decides."}, {"type": "oauth2", "header": "Freelancer-OAuth-V1", "env_var": "FLN_OAUTH_TOKEN", "how_to_get": "Create a client application at https://accounts.freelancer.com ('Develop with Freelancer.com'); applications are reviewed (expect a reply within 5 business days), and requests for single-user apps are denied. Authorization-code flow: https://accounts.freelancer.com/oauth/authorize with scope=basic and advanced_scopes as numeric ids; token at https://accounts.freelancer.com/oauth/token with a client secret. Access tokens last 30 days, with refresh tokens.", "scopes": ["basic", "fln:project_create", "fln:project_manage", "fln:contest_create", "fln:contest_manage", "fln:messaging", "fln:user_information", "fln:location_tracking_create", "fln:location_tracking_view"], "dynamic_registration": false, "transport": "rest"}], "endpoints": [{"action": "list", "method": "GET", "path": "/projects/0.1/jobs/", "notes": "Public, no key. Filter local:true for local job ids (e.g. 867 Inspections, 1386 Local Job, 27 Photography, 1502 Video Tours, 2622 Investigation)."}, {"action": "search", "method": "GET", "path": "/projects/0.1/projects/active/", "params": "jobs[], latitude, longitude, location_details, local_details", "notes": "Public, no key. Shows current local demand; not a capture."}, {"action": "order", "method": "POST", "path": "/projects/0.1/projects/", "params": "title, description, currency, budget, jobs (a local job), local: true, location {country, city, latitude, longitude}", "notes": "Scopes basic + fln:project_create. Posting is free; projects usually enter a review queue before going live."}, {"action": "quote", "method": "GET", "path": "/projects/0.1/projects/{project_id}/bids/", "notes": "Freelancers' bids (amount, period) on your project."}, {"action": "order", "method": "PUT", "path": "/projects/0.1/bids/{bid_id}/", "params": "action=award", "notes": "Awards the bid; the 3% employer fee is charged at award."}, {"action": "order", "method": "POST", "path": "/projects/0.1/milestones/", "notes": "Scope fln:project_manage. Creates a Milestone Payment; PUT /projects/0.1/milestones/{milestone_id}/ with action=release pays the freelancer."}, {"action": "status", "method": "GET", "path": "/projects/0.1/projects/{project_id}/", "notes": "Scope basic. Project details and status."}], "sdk": "freelancer-sdk-python (official; https://github.com/freelancer/freelancer-sdk-python, last push 2023-12-07), includes create_local_project", "rate_limits": "Per endpoint; HTTP 429 when exceeded. RateLimit-Limit and RateLimit-Remaining headers report the windows (documented example: 50 per 60 s and 1000 per 3600 s).", "self_serve": false, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "io.github.godesigntech/freelancer-mcp-server (seller side: search, bid, message; does not post projects)", "notes": "No first-party MCP server found. The MCP Registry search for 'freelancer' returns only unrelated or community servers."}, "notes": "The developer docs render only with JavaScript. Freelancer lists 'Local Jobs' as a common integration type; automatic bidders, spammy and 'replacement' integrations are prohibited. No OAuth protected-resource or authorization-server metadata is published."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after award", "notes": "No archive."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Freelancer publishes no delivery time; each freelancer's bid states a period in days. Projects usually pass a review queue before bidding opens."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": false, "gate": "approval"}, "payment": {"methods": ["card", "prepaid_balance"], "agent_can_pay": true, "notes": "Buyers fund their Freelancer account (credit card, PayPal, Skrill or bank deposit) and pay through Milestone Payments held in the account until released. The API can create and release milestones (scope fln:project_manage), but s.33 requires Freelancer's written permission for any API use."}, "account": {"agent_may_act": {"allowed": false, "source_url": "https://www.freelancer.com/about/terms"}}, "capture": {"by": "people"}, "requester": {"checks": "Users must be 16 or older, able to contract and not barred by law. Freelancer may refuse any registration, request ID at any time (s.14), and usually reviews new projects before they go live. A Local Jobs buyer must give the job's location and must not put personal details (name, street number, phone, email) in the public project description.", "unknown": "No documented check on whether a local job targets or follows a specific person."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "s.33 ban on automated and API access without express written permission; s.10 User Content licence; s.14 identity checks; s.15 call recording and User Contract; s.16 Local Jobs provisions; s.3 eligibility; s.17 account funds; s.25 Milestone Payments; s.38 no identity warranty (last modified 05 June 2025)", "url": "https://www.freelancer.com/about/terms"}, {"claim": "API licence and data-storage rules (last modified 21 December 2017)", "url": "https://www.freelancer.com/about/apiterms"}, {"claim": "Employer and freelancer fees, transaction fees, Australian Account Admin Fee, arbitration fee, upgrade prices, IP Agreement upgrade transfers IP to the buyer, Milestone Payments", "url": "https://www.freelancer.com/feesandcharges"}, {"claim": "Verified by Freelancer KYC method; optional for sellers", "url": "https://www.freelancer.com/page.php?p=info/kyc_policy"}, {"claim": "Milestone dispute process and arbitration", "url": "https://www.freelancer.com/page.php?p=info/dispute_policy"}, {"claim": "Talent pool of over 90.5 million professionals", "url": "https://www.freelancer.com/"}, {"claim": "Local jobs: get help in any location, anywhere in the world", "url": "https://www.freelancer.com/local"}, {"claim": "Local job ids; 167 of 3,487 job types are local", "url": "https://www.freelancer.com/api/projects/0.1/jobs/"}, {"claim": "Active Inspections projects (17) and their countries on 2026-10-26", "url": "https://www.freelancer.com/api/projects/0.1/projects/active/?jobs%5B%5D=867&limit=100&location_details=true"}, {"claim": "Active Local Job projects (89) on 2026-10-26", "url": "https://www.freelancer.com/api/projects/0.1/projects/active/?jobs%5B%5D=1386&limit=100&location_details=true"}, {"claim": "Active Photo Anywhere projects (0) on 2026-10-26", "url": "https://www.freelancer.com/api/projects/0.1/projects/active/?jobs%5B%5D=2045&limit=100"}, {"claim": "Common and prohibited integration types (Local Jobs is a common one)", "url": "https://developers.freelancer.com/docs/api-overview/types-of-integrations"}, {"claim": "Client applications are reviewed (about 5 business days); single-user apps denied", "url": "https://developers.freelancer.com/docs/authentication/creating-a-client"}, {"claim": "Authorize and token URLs, scope=basic plus advanced_scopes, 30-day tokens, refresh tokens, Freelancer-OAuth-V1 header", "url": "https://developers.freelancer.com/docs/authentication/generating-access-tokens"}, {"claim": "Advanced scope list, including location tracking scopes", "url": "https://developers.freelancer.com/docs/authentication/advanced-scopes"}, {"claim": "Personal Access Tokens: self-generated, own account only, one per environment, 30 days", "url": "https://developers.freelancer.com/docs/authentication/personal-access-tokens"}, {"claim": "Rate limits and headers", "url": "https://developers.freelancer.com/docs/api-overview/rate-limiting"}, {"claim": "Sandbox; projects usually enter a review queue before going live; account balance needed to award", "url": "https://developers.freelancer.com/docs/api-overview/sandbox-environment"}, {"claim": "Create project, project status, bids on a project, project actions and scopes", "url": "https://developers.freelancer.com/docs/projects/projects"}, {"claim": "Bid award action", "url": "https://developers.freelancer.com/docs/projects/bids"}, {"claim": "Create and release milestones via API", "url": "https://developers.freelancer.com/docs/projects/milestones"}, {"claim": "Official Python SDK, create_local_project with location object (last push 2023-12-07)", "url": "https://github.com/freelancer/freelancer-sdk-python"}, {"claim": "No first-party MCP server in the official registry; community seller-side server", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=freelancer"}, {"claim": "API T&Cs (last modified 21 Dec 2017)", "url": "https://www.freelancer.com/about/apiterms"}, {"claim": "KYC policy: government photo ID, keycode photo, proof of address; optional for sellers; reviewed by the Freelancer Verification Team", "url": "https://www.freelancer.com/page.php?p=info/kyc_policy"}, {"claim": "Terms s.33: no automated or API access without Freelancer's express written permission", "url": "https://www.freelancer.com/about/terms"}]}, {"id": "geonet-nz", "name": "GeoNet (New Zealand earthquakes and volcanoes)", "provider_url": "https://www.geonet.org.nz", "short": "New Zealand earthquakes and volcano alert levels; free, keyless.", "summary": "GeoNet, run by Earth Sciences New Zealand and funded by the NZ Government, serves its data through the keyless api.geonet.org.nz: recent earthquakes filtered by shaking intensity (MMI), single-quake detail and history, quake statistics, Volcanic Alert Levels, volcano quakes, and network station and sensor metadata. Responses are GeoJSON or JSON.", "tags": ["earthquake", "seismic", "volcano", "new zealand", "felt intensity", "open data", "geojson", "cap", "no key"], "capabilities": {"modalities": ["sensor"], "tasks": ["recent earthquakes in New Zealand at or above a chosen shaking intensity (MMI)", "detail and revision history of one quake by publicID", "quake counts and statistics", "current Volcanic Alert Level of each NZ volcano", "recent quakes under a given volcano", "strong-motion processed intensity records", "seismic and other network station and sensor metadata", "CAP 1.2 quake alerts and an Atom feed of them"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "Page states: \"The GeoNet project makes all its data and images freely available.\" No registration or key is mentioned."}, "latency": {"typical": "Not published; the quake list is cached for 10 seconds", "notes": "No delivery delay is stated. The response header cache-control is max-age=10. Live check: the newest listed quake was a magnitude 2.6 near Kaikoura with origin 2026-10-27T15:25:22Z, in a response fetched at about 15:30Z. Quakes can later be revised or marked quality 'deleted'."}, "coverage": {"regions": ["New Zealand and its surrounding region"], "notes": "The live quake list contained New Zealand localities (e.g. Kaikoura, Taihape). The exact monitored area is not stated on the API page.", "areas": ["NZ"]}, "licensing": {"summary": "GeoNet page: \"GeoNet content is copyright Earth Sciences New Zealand\" and \"licensed under a Creative Commons Attribution 3.0 New Zealand License.\" The Data Policy asks users to acknowledge the GeoNet programme and sponsors and to cite dataset DOIs where one exists. The disclaimer says the information is provided without warranties of any kind, including accuracy, completeness and timeliness, and liability is excluded. The terms do not mention AI training or resale."}, "verification": {"human": {"level": "none", "unknown": "Automated networks; no person's identity is attested for a reading, though GeoNet staff can review quakes (not documented on the pages read)."}, "application": {"level": "none", "unknown": "No signing or attestation of data is documented."}, "camera": {"level": "none", "unknown": "Not a camera source in this API."}, "time": {"level": "claimed", "method": "Each quake carries an ISO 8601 origin time in UTC.", "unknown": "Origin times are GeoNet's own computed values and unsigned; revisions can change them."}, "location": {"level": "claimed", "method": "Each quake has coordinates, depth and a nearest-locality label.", "unknown": "Hypocentres are GeoNet's own estimates and unsigned."}, "content": {"level": "claimed", "method": "Each quake carries a 'quality' field (documented values: best, preliminary, automatic, deleted) and a magnitude and MMI.", "unknown": "The docs list the quality values but do not define them; automatic and reviewed solutions both exist and the disclaimer gives no accuracy warranty."}, "corroboration": {"level": "none", "unknown": "Nothing independent is attached to individual quakes in the API response."}}, "freshness": {"mode": "live", "typical_age": "seconds to minutes for new quakes (not stated by GeoNet)", "notes": "Continuously updated catalogue; history is also available by publicID."}, "delivery": {"speed": "minutes", "basis": "Page: \"The data provided here is used for the GeoNet web site and other similar services.\" No latency is stated; responses are cached 10 s (cache-control max-age=10).", "modes": ["live"]}, "api": {"available": true, "self_serve": true, "docs_url": "https://api.geonet.org.nz/", "base_url": "https://api.geonet.org.nz", "auth": [{"type": "none", "how_to_get": "No authentication or registration is needed."}], "endpoints": [{"action": "search", "method": "GET", "path": "/quake", "params": "MMI (integer, minimum shaking intensity)", "notes": "Recent quakes as GeoJSON (the live call with MMI=3 returned 100 features). Properties: publicID, time, depth, magnitude, mmi, locality, quality."}, {"action": "fetch", "method": "GET", "path": "/quake/{publicID}", "params": "publicID", "notes": "One quake. History at /quake/history/{publicID}."}, {"action": "list", "method": "GET", "path": "/quake/stats", "notes": "Quake statistics."}, {"action": "fetch", "method": "GET", "path": "/volcano/val", "notes": "Volcanic Alert Level of each volcano."}, {"action": "fetch", "method": "GET", "path": "/volcano/quake/{volcanoID}", "params": "volcanoID", "notes": "Quakes near a volcano."}, {"action": "list", "method": "GET", "path": "/intensity", "notes": "Intensity data; strong-motion processed intensity at /intensity/strong/processed/{publicID}."}, {"action": "list", "method": "GET", "path": "/network/station", "notes": "Network stations; sensor details at /network/sensors."}, {"action": "list", "method": "GET", "path": "/cap/1.2/GPA1.0/feed/atom1.0/quake", "notes": "Atom feed of CAP quake alerts; single alert at /cap/1.2/GPA1.0/quake/{ID}."}], "rate_limits": "None stated on the API page.", "notes": "Versioning is by Accept header, e.g. Accept: application/vnd.geo+json;version=2 (a request without a version goes to the current highest). gzip is supported. The live response sent access-control-allow-origin: *. Bugs are reported to the GeoNet Help repository on GitHub. The terms do not forbid automation; automation_allowed reflects that silence."}, "adapter": "geonet_nz", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "gate": "none"}, "sources": [{"claim": "API endpoints list, freely available data, CC BY 3.0 NZ copyright line, Accept-header versioning, gzip", "url": "https://api.geonet.org.nz/"}, {"claim": "Live GET /quake?MMI=3 (100 features, publicID/time/depth/magnitude/mmi/locality/quality; cache-control max-age=10; CORS *)", "url": "https://api.geonet.org.nz/quake?MMI=3"}, {"claim": "Disclaimer: no warranties of accuracy, completeness or timeliness; liability excluded; information freely available subject to terms; CC BY 3.0 NZ", "url": "https://www.geonet.org.nz/disclaimer"}, {"claim": "Data policy: acknowledge GeoNet and sponsors; cite DOIs", "url": "https://www.geonet.org.nz/policy"}, {"claim": "Quake quality values: best, preliminary, automatic, deleted", "url": "https://api.geonet.org.nz/"}], "status": "unclaimed", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "getterdone", "name": "GetterDone", "status": "unclaimed", "adapter": "getterdone", "provider_url": "https://getterdone.ai", "short": "Agent-posted bounties for US gig workers: storefront photos, price checks, on-site checks. In-person: Atlanta only.", "summary": "Agent-native errand crowd: an agent posts a task with a location, reward and deadline over REST or a hosted OAuth MCP server; an identity-verified gig worker claims it and submits photos, video or text, which come back with device-GPS, EXIF time and location, duplicate, reverse-image and AI-metadata checks. In-person tasks are accepted only inside the launch area, currently Georgia (Atlanta metro); remote tasks are open to US-based workers. Owners verify identity once; per-task and daily spending caps are enforced server-side.", "tags": ["people", "errands", "photos", "price-check", "retail", "agent-native", "mcp", "oauth", "us", "georgia", "atlanta"], "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["storefront photo", "price check", "on-site verification", "display/shelf photo", "inspection", "mystery shopping", "errands", "delivery"]}, "pricing": {"model": "Bounty set by buyer + platform fee", "from_usd": 3, "unit": "task", "notes": "Reward min $1, max $100 (OpenAPI and llms.txt; the skill doc still lists $250/$500 ceilings for Established/Business owners). Fee: $2 flat for $1\u2013$20, 20% for $20.01\u2013$75, 15% for $75.01\u2013$100, 10% above $100. Starter owners (card added, identity not yet verified) are capped at $25 per task and $100 per rolling 30 days. POST /api/tasks/quote returns the exact total before anything is charged. Emerging owner accounts are also capped at $500 of funding a month."}, "latency": {"typical": "30 minutes to several days", "notes": "Deadline expiresInHours 0.5\u2013720; more than 144 h needs Established or Business owner standing. Each submission opens a 24 h review window; undecided submissions settle to the worker."}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Skill doc: 'Expect task completion to take anywhere from 30 minutes to several days, depending on the task and local worker availability.'"}, "coverage": {"regions": ["USA: Georgia (Atlanta metro) for in-person tasks", "USA (remote tasks)"], "notes": "llms.txt: physical tasks are 'launching in Georgia (Atlanta metro), expanding state-by-state'; tasks outside the launch states are rejected with LOCATION_OUTSIDE_LAUNCH_AREA. Remote tasks are open to US-based workers. Terms: only persons located in the United States may perform Tasks. Worker density not published; on 2026-10-26 the public open-task list showed only 2 tasks, both platform promotions.", "areas": ["US-GA"]}, "licensing": {"summary": "Terms 6.1: on full payment of the reward, the Worker assigns to the Agent Owner all right, title and interest the Worker owns in deliverables created for the Task (excluding pre-existing, third-party and open-source materials, which are licensed non-exclusively where incorporated). Terms 6.3: GetterDone keeps a licence to use submitted content only as reasonably necessary to run the service, handle disputes and fraud, and improve trust-and-safety systems. The privacy policy says usage is analysed \"to train anti-fraud AI models\"; no clause lets GetterDone train general models on submitted proof. Resale and AI training by the buyer are not mentioned.", "buyer_owns_output": true}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "api": {"available": true, "self_serve": true, "base_url": "https://getterdone.ai", "docs_url": "https://getterdone.ai/docs/api", "auth": [{"type": "oauth2", "transport": "mcp", "resource_metadata": "https://getterdone.ai/.well-known/oauth-protected-resource/mcp", "scopes": ["tasks:read", "tasks:write", "openid", "email"], "dynamic_registration": true, "pkce": "S256", "how_to_get": "Add https://getterdone.ai/mcp as a remote MCP server; the client registers itself (POST /oauth/register, RFC 7591) and the owner signs in once on the consent page. authorization_code + PKCE S256 (required); a token minted with resource=https://getterdone.ai/mcp works only at /mcp. Paid task creation still needs the owner's one-time identity check, card and funding token. Dynamic client registration is deprecated by the MCP specification of 2026-07-28 in favour of Client ID Metadata Documents (CIMD); whether GetterDone accepts CIMD is not stated."}, {"type": "bearer", "header": "Authorization", "env_var": "GETTERDONE_API_KEY", "how_to_get": "Owner registers the agent at https://getterdone.ai/register-agent (Stripe Identity KYC + card) and gets an API key gd_<clientId>:<clientSecret>; POST /api/auth/agent/token (client_credentials, scope agent:full) returns a Bearer token valid 1 h. Developer path: GET /api/auth/agent/challenge then POST /api/auth/agent/register (proof-of-work)."}], "mcp": {"remote": "https://getterdone.ai/mcp", "registry_name": null, "auth": "oauth2", "first_party": true, "notes": "Stateless JSON-RPC over POST. Tools include quote_task, create_task, get_task, list_tasks, get_pending_reviews, approve_task, dispute_task, cancel_task, events_poll, get_funding_status. Also a stdio package, @getterdone/mcp-server on npm (API key). Not in the official MCP Registry (search 'getterdone' returned 0 on 2026-10-26)."}, "endpoints": [{"action": "quote", "method": "POST", "path": "/api/tasks/quote", "params": "same fields as create", "notes": "Returns reward, platformFee, total and a 10-minute confirmationToken; nothing is charged. Required before create for consumer-connector (OAuth) tokens."}, {"action": "order", "method": "POST", "path": "/api/tasks", "params": "title, description, reward, location {lat, lng, label} or remote: true, category, expiresInHours, reviewCriteria, minTrustScore, privateDescription, tags, confirmationToken", "notes": "MCP tool create_task. Card authorized at creation for reward + fee."}, {"action": "status", "method": "GET", "path": "/api/tasks/{id}", "notes": "MCP get_task. Status open \u2192 claimed \u2192 submitted \u2192 payout_pending/completed, disputed, expired or canceled. Webhooks (POST /api/agents/webhooks) and an event inbox (GET /api/agents/events) are also offered."}, {"action": "list", "method": "GET", "path": "/api/tasks", "params": "status, category, q, lat, lng, radiusKm, limit, agentId"}, {"action": "fetch", "method": "GET", "path": "/api/tasks/{id}/proof-media/{kind}/{index}", "notes": "Authenticated download of proof media."}], "sdk": "@getterdone/mcp-server (npm, stdio MCP server)", "rate_limits": "60 reads/minute; the docs ask agents not to poll more often than every 5 minutes. Owner-level caps on open tasks and tasks created per rolling 24 h (429 TASK_LIMIT_REACHED).", "notes": "OpenAPI 3.1 at https://getterdone.ai/api/openapi. Per-task and daily spending caps set by the owner are enforced server-side. A sandbox mode (simulated worker, no charge) is available."}, "payment": {"methods": ["card"], "agent_rails": ["card_on_file_api"], "agent_can_pay": true, "prepaid": false, "notes": "The owner's vaulted card is authorized for reward + fee when the task is created and captured when proof is submitted (deadlines over 6 days are charged at creation). Agents spend under a funding token (single-use by default, or recurring) within owner-set per-task and daily caps. No prepaid balance: fund_account is a deprecated no-op."}, "account": {"kyc": "id", "agent_may_act": {"allowed": true, "source_url": "https://getterdone.ai/legal/terms"}}, "capture": {"by": "people"}, "requester": {"checks": "The Agent Owner completes Stripe Identity verification (KYC/AML) and vaults a card before tasks can be funded; Starter owners (card, identity pending) are limited to $25 per task and $100 per 30 days. Tasks pass content moderation (keyword blocklist, AI classifier) and can be suspended when workers flag them. The Acceptable Use Policy bans following, photographing or recording a specific individual without documented consent, and tasks inside private residences.", "unknown": "How moderation detects person-targeting tasks in practice is not documented; Starter owners can post before their identity is verified."}, "verification": {"human": {"level": "claimed", "method": "Workers must complete Stripe Connect identity verification and bank setup before they can claim a task; worker trust scores gate claims.", "unknown": "No per-result proof of who captured it is published; the buyer sees only a worker nickname and profile. Stripe Connect verification is a payout KYC; no liveness or per-task re-check is documented."}, "application": {"level": "none", "unknown": "No app or device attestation is documented; proof is uploaded as ordinary image and video files."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: AI-provenance read of file metadata: generator_metadata / camera_metadata / no_camera_metadata. Metadata can be stripped, so its absence proves nothing; no C2PA or signed capture."}, "time": {"level": "claimed", "method": "EXIF capture time vs the claim\u2192submit window (within_window / before_claim / after_submit / no_timestamp).", "unknown": "EXIF can be stripped or edited and carries no timezone; the check is informational only."}, "location": {"level": "claimed", "method": "Device-GPS proximity check at submit, plus photo EXIF GPS vs the task location (within_radius / out_of_range / no_gps, exifDistanceKm).", "unknown": "GPS spoofing is not addressed; the radius is not published; EXIF GPS can be stripped."}, "content": {"level": "claimed", "method": "criteriaCheckResult checks required keywords as substrings and minimum image/video counts against reviewCriteria; the buyer approves or disputes within 24 h, and disputes go to admin adjudication.", "unknown": "The automated check cannot judge meaning; whether a photo shows the right thing is up to the buyer."}, "corroboration": {"level": "none", "unknown": "Reverse-image search and cross-worker duplicate detection flag reused media, but nothing independent confirms the observation itself."}}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Coverage: physical tasks in Georgia (Atlanta metro) only, LOCATION_OUTSIDE_LAUNCH_AREA; fees; max bounty $100; hosted OAuth MCP; client_credentials tokens valid 1 h; MCP tool list", "url": "https://getterdone.ai/llms.txt"}, {"claim": "Full reference: OAuth scopes, PKCE S256 required, dynamic registration; worker Stripe Connect identity verification before claiming; Starter limits; device-GPS proximity and EXIF checks", "url": "https://getterdone.ai/llms-full.txt"}, {"claim": "Skill doc v1.40.0: 30 minutes to several days; per-result checks (captureTime, exifLocation, duplicate, AI provenance, reverse-image); spending caps; funding token; rate limit 60 reads/min; reward tier ceilings", "url": "https://getterdone.ai/SKILL.md"}, {"claim": "OpenAPI 3.1: endpoints incl. /api/tasks/quote and proof-media; reward 1\u2013100; expiresInHours 0.5\u2013720; launch-area rejection", "url": "https://getterdone.ai/api/openapi"}, {"claim": "OAuth protected-resource metadata for the MCP server (scopes, authorization server)", "url": "https://getterdone.ai/.well-known/oauth-protected-resource/mcp"}, {"claim": "OAuth authorization-server metadata: registration_endpoint, S256 PKCE, grant types", "url": "https://getterdone.ai/.well-known/oauth-authorization-server"}, {"claim": "Terms (updated 2 Sep 2026): US-located workers only; Work Product assigned to the Agent Owner on payment; GetterDone's limited content licence; Agents defined as authorized users", "url": "https://getterdone.ai/legal/terms"}, {"claim": "Privacy policy: platform usage analysed to train anti-fraud AI models; GPS and timestamps collected with proof", "url": "https://getterdone.ai/legal/privacy"}, {"claim": "Acceptable Use Policy: no stalking/photographing a specific individual without consent, no private residences; automated moderation", "url": "https://getterdone.ai/legal/acceptable-use"}, {"claim": "Stdio MCP package @getterdone/mcp-server", "url": "https://registry.npmjs.org/@getterdone%2fmcp-server/latest"}, {"claim": "Not in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=getterdone"}, {"claim": "Emerging accounts capped at $500 monthly funding volume", "url": "https://getterdone.ai/docs/api"}, {"claim": "Privacy policy: usage analysed to train anti-fraud AI models", "url": "https://getterdone.ai/legal/privacy"}, {"claim": "Worker must complete Stripe Connect identity verification and bank setup", "url": "https://getterdone.ai/llms-full.txt"}, {"claim": "Agent owner registers with Stripe Identity KYC and a card; agents spend the vaulted card under a funding token", "url": "https://getterdone.ai/register-agent"}, {"claim": "Terms: Agents are authorized users of the Agent Owner's account", "url": "https://getterdone.ai/legal/terms"}, {"claim": "MCP specification 2026-07-28: dynamic client registration deprecated in favour of Client ID Metadata Documents", "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration"}]}, {"id": "globhe", "name": "Globhe", "provider_url": "https://www.globhe.com", "status": "unclaimed", "short": "Global marketplace of local drone operators; order a capture by API.", "tags": ["drone", "aerial", "orthomosaic", "thermal", "lidar", "multispectral", "ndvi", "panorama", "pilot network", "global", "api", "crowddroning"], "summary": "Marketplace that sends each order out for bids from vetted local licensed drone operators (11,000+ claimed, 150 countries), picks one and quotes the client; an Order API creates single-location orders, returns quotes to accept or reject, and delivers files with webhooks.", "capabilities": {"modalities": ["aerial", "photo", "video", "sensor"], "tasks": ["new drone capture of a polygon", "raw photos (JPEG, DNG)", "2D orthomosaic", "3D model / point cloud", "DTM/DSM", "topographic map", "thermal", "NDVI / multispectral", "LiDAR", "360 panoramas", "live streamed video", "recurring capture (web platform)"]}, "pricing": {"model": "quote per order; published floors", "from_usd": 5, "unit": "hectare (RGB, Zone 1)", "notes": "Zone 1 from $5/ha RGB, $8 thermal, $15 multispectral, $20 LiDAR; Zone 2 from $10/$15/$30/$30. Each country's zone and available sensors are shown on the coverage page (73 Zone 1, 76 Zone 2 entries). Final price in a per-order quote (finalPrice, currency, expiryDate); permit and non-standard costs can be added."}, "latency": {"typical": "per quote", "notes": "Each quote states deliveryBy, the maximum number of days to delivery (docs example: 20 days). 'Complicated' countries can need 4+ weeks for flight permission. Weather, permits and operator availability can delay delivery."}, "coverage": {"regions": ["Global"], "notes": "150 countries and 11,000+ operators claimed. areas lists the 143 codes on the coverage page, minus Iran, North Korea and Russia (removed until further notice) and the listed countries marked 'Not allowed' (Ukraine, Haiti, Nicaragua). 17 'Not allowed' countries in all, incl. Israel, Iraq, Syria, Kuwait; 27 'Complicated' (4+ weeks for permission), incl. Egypt, Saudi Arabia, UAE, Ethiopia. Sensor availability varies by country.", "areas": ["AE", "AM", "AO", "AR", "AT", "AU", "BB", "BD", "BE", "BF", "BG", "BI", "BJ", "BO", "BR", "BS", "BT", "BW", "BZ", "CA", "CD", "CG", "CH", "CI", "CL", "CM", "CO", "CR", "CY", "CZ", "DE", "DJ", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "ET", "FI", "FJ", "FR", "GB", "GE", "GH", "GM", "GR", "GT", "GY", "HK", "HN", "HR", "HU", "ID", "IE", "IN", "IS", "IT", "JM", "JO", "JP", "KE", "KH", "KR", "KY", "KZ", "LA", "LB", "LK", "LR", "LS", "LT", "LU", "LV", "MA", "MD", "ME", "MG", "MK", "ML", "MN", "MR", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NL", "NO", "NP", "NZ", "OM", "PA", "PE", "PG", "PH", "PK", "PL", "PR", "PT", "PY", "RE", "RO", "RS", "RW", "SA", "SD", "SE", "SG", "SI", "SK", "SL", "SN", "SO", "SR", "SV", "SZ", "TG", "TH", "TJ", "TL", "TN", "TO", "TR", "TT", "TW", "TZ", "UG", "US", "UY", "VE", "VN", "VU", "ZA", "ZM", "ZW"]}, "licensing": {"summary": "Client terms: ownership of the Reality Data 'is transferred to the Client and will continue to be jointly owned by you and us'; 'each party may however use the data freely and without any restrictions'. Globhe's use of data the client marks in writing as critical needs express consent. Operators assign all IP in uploaded content to Globhe. Data Library purchases carry no IP transfer. No AI-training or resale clause.", "buyer_owns_output": true}, "verification": {"human": {"level": "claimed", "method": "Only local, licensed drone and data providers (registered companies); a local operator is 'vetted and assigned' per mission and signs a per-mission contract", "unknown": "How operators are vetted and licences checked is not published; the client is not told who flew"}, "application": {"level": "none", "unknown": "Operators fly their own drones and choose processing software; no capture app or pipeline control is documented"}, "camera": {"level": "none", "unknown": "Drone and camera chosen by Globhe or the operator; QA only checks file sizes against the drone model; nothing is signed"}, "time": {"level": "claimed", "method": "Admin QA inspects embedded capture date/time metadata for accuracy and consistency before delivery", "unknown": "Capture time comes from unsigned operator-device metadata; currentFlyingDate is the scheduled date, not proof of capture", "evidence_url": "https://www.globhe.com/resources-collection/quality-control-and-assurance"}, "location": {"level": "claimed", "method": "Order polygon (locationMap); admin QA checks georeferencing, GPS metadata against the flight plan and coverage of the area of interest", "unknown": "Geotags are unsigned; flight logs and telemetry are not exposed to the client", "evidence_url": "https://www.globhe.com/resources-collection/quality-control-and-assurance"}, "content": {"level": "claimed", "method": "Admin QA before delivery against the order spec (format, coverage, image quality, artefacts); client has 10 business days to dispute quality; orderNotFeasible can carry photo proof", "unknown": "Per-order QA results are not published"}, "corroboration": {"level": "none", "unknown": "No independent check; Globhe's own QA compares with GIS layers or ground control points only 'if possible'"}}, "api": {"available": true, "docs_url": "https://developers.globhe.com/", "base_url": "https://us-central1-globhe-app.cloudfunctions.net/api/v2", "auth": [{"type": "basic", "env_var": "GLOBHE_API_KEY", "how_to_get": "API key is the Basic-auth username with an empty password (curl -u {apiKey}:). A key appears on the profile page after client sign-up (https://app.globhe.com/crowddroning/client/sign-up/) but is not automatically approved: email support@globhe.com to activate (reply in under 24 hours). Staging needs a separate account at stagingpage.globhe.com and its own activated key."}], "endpoints": [{"action": "quote", "method": "POST", "path": "/orders", "params": "deliveryDeadline, locationMap[{lat,lng}], mapTypes[], description, orderName (<=20 chars); optional notifications{webhook,email}, pointOfContact{pocName,pocPhone}, otherMapType, advancedOption, clientEmail, clientName, companyName", "notes": "Creates an order request for review and bidding; nothing is committed until a quote is accepted. Single location only."}, {"action": "status", "method": "POST", "path": "/getorder/{orderId}", "notes": "status, instruction, quotes, rejectedQuotes, acceptedQuote, orderNotFeasible, currentFlyingDate, prevFlightDate, collectedData"}, {"action": "order", "method": "POST", "path": "/order/{orderId}/quote/{quoteId}", "params": "status: accept|reject", "notes": "Accepting a quote makes the order active and forms a contract; quotes expire at expiryDate"}, {"action": "list", "method": "POST", "path": "/getorderslist", "params": "status, fileDataType, limit (default 10), page (default 0)", "notes": "Statuses: reviewing, quoteReceived, pendingOperator, operatorAssigned, orderNotFeasible, flyingDateSet, completed, rejected, cancelled, deleted"}, {"action": "fetch", "method": "POST", "path": "/getorder/{orderId}", "params": "fileDataType[] (optional filter)", "notes": "deliveryFiles: baseFiles (URLs) and processedData by map type, after admin QA; completion is signalled by webhook or email"}], "notes": "Also PUT /orders/{id} (update before quote acceptance; locationMap and mapTypes fixed) and DELETE /orders/{id} (cancel while reviewing). Data library API (POST /datalibraryorders) only fetches already-purchased archive datasets. Staging base: https://us-central1-globhe-d3087.cloudfunctions.net/api/v2. Client terms bar 'software that reads data on this Platform... automatically'; the documented API is the sanctioned automated route. No MCP server, OAuth or well-known discovery files found.", "self_serve": false}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "'When you order data in Globhe's platform, a time estimation will be provided as part of your quote' (deliveryBy, in days)."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "approval"}, "payment": {"methods": ["card", "invoice"], "agent_can_pay": false, "prepaid": false, "notes": "Account needs a valid payment method (credit card or accepted payment partner). Unless the quote says otherwise: 30% advance on invoice before work starts, 70% within 30 days of delivery; recurring orders invoiced monthly. Refund of the advance only on cancellation within 48 hours, less incurred costs. No API payment."}, "capture": {"by": "people"}, "requester": {"checks": "Access requests are reviewed by Globhe; the API key must be activated by support. Clients must be 18+, give complete and accurate account information and a valid payment method, and must obtain any permissions the order needs before flights.", "unknown": "What the access review checks (identity, company, intended use) is not published"}, "updated": "2026-10-28", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "sources": [{"claim": "150 countries, 11,000+ operators; per-country zone and sensors; zone prices; Not allowed and Complicated lists", "url": "https://www.globhe.com/country-coverage-and-prices"}, {"claim": "Bidding marketplace; only local, licensed, registered providers; time estimate given in quote; recurring capture; Data Library", "url": "https://www.globhe.com"}, {"claim": "Order API for automated ordering; single-location only; webhooks", "url": "https://developers.globhe.com/order-api"}, {"claim": "Create order fields, mapTypes and advanced options", "url": "https://developers.globhe.com/create-order"}, {"claim": "Get order: status fields, orderNotFeasible photo proof, currentFlyingDate", "url": "https://developers.globhe.com/get-single-order"}, {"claim": "Accept/reject quotes; quote fields incl. deliveryBy, finalPrice, expiryDate", "url": "https://developers.globhe.com/accept-reject-quotes"}, {"claim": "List orders endpoint and full status list", "url": "https://developers.globhe.com/list-order"}, {"claim": "Update order endpoint and limits", "url": "https://developers.globhe.com/update-order"}, {"claim": "Cancel order endpoint", "url": "https://developers.globhe.com/cancel-order"}, {"claim": "Delivery after admin QA; deliveryFiles; webhook or email", "url": "https://developers.globhe.com/delivery"}, {"claim": "Basic auth with API key as username; key not auto-approved; activation via support in <24h", "url": "https://developers.globhe.com/authentication"}, {"claim": "Staging environment and base URL", "url": "https://developers.globhe.com/testing-environment"}, {"claim": "API v2.0.0 current; v1 support ended", "url": "https://developers.globhe.com/versions"}, {"claim": "Data library API fetches purchased datasets only", "url": "https://developers.globhe.com/datalibrary-api"}, {"claim": "Client access is reviewed by Globhe", "url": "https://www.globhe.com/request-access"}, {"claim": "Client terms: ownership and joint use, critical-data consent, payment schedule, 10-day quality window, automated-reading clause, 18+", "url": "https://www.globhe.com/terms-and-conditions"}, {"claim": "Operator terms: IP assignment to Globhe; payment on delivery as per the mission requirement", "url": "https://www.globhe.com/operator-terms-and-conditions"}, {"claim": "QA checklist incl. metadata time/GPS, georeferencing, coverage", "url": "https://www.globhe.com/resources-collection/quality-control-and-assurance"}, {"claim": "Local operator vetted and assigned per mission", "url": "https://www.globhe.com/resources-collection/general-operating-standards"}, {"claim": "Operators sign a contract per mission; registered company needed for paid missions", "url": "https://www.globhe.com/resources-collection/all-about-flying-with-globhe"}, {"claim": "Deliverable products", "url": "https://www.globhe.com/data-deliverables"}, {"claim": "QA inspects embedded capture date/time and GPS metadata against the flight plan and ground control points", "url": "https://www.globhe.com/resources-collection/quality-control-and-assurance"}], "adapter": "globhe"}, {"id": "hire-a-human", "name": "Hire a Human", "provider_url": "https://hire-a-human.ai", "status": "unclaimed", "tags": ["agent-first", "freelance", "errands", "photography", "site visit", "mystery shopping", "global", "api", "kyc", "escrow", "crypto"], "summary": "Small freelance marketplace (operated by Design 3D Solutions Ltd, founder Tom Carr) for physical and digital tasks, where people and AI agents post tasks with a budget and Veriff-verified freelancers bid on them. Agents post through a REST API with a scoped x-api-key, issued only after the operator passes Veriff KYC; an MCP server is advertised but its URL is not published. Payment is held in escrow and released when the client confirms the work. Published headline numbers conflict (142 vs 56+ countries; 3,275+ vs 1,200+ tasks completed).", "short": "A freelance marketplace where AI agents post tasks by API and Veriff-verified people bid to do them.", "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["on-site inspections", "mystery shopping and inventory checks", "photography", "event attendance and real-time reporting", "deliveries, errands and sample collection", "field research", "quality checks", "phone calls"]}, "pricing": {"model": "client sets a budget and freelancers bid their own rate; no client fee; 10% deducted from the freelancer on completion", "from_usd": 15, "unit": "hour (typical physical-task rate, not a minimum)", "notes": "Provider: freelancers 'typically $15\u2013$30/hr for physical tasks and $30\u2013$100+ for digital work'; 'Clients: No fees \u2014 you pay the agreed task price, nothing extra'; no minimums. Listed freelancer profiles show rates as low as $5/hr, so $15 is the stated typical floor, not a minimum."}, "latency": {"typical": "Not published", "notes": "FAQ: 'physical tasks in active areas are often filled within hours' with an urgent deadline and a fair budget. That is time to find a freelancer, not to deliver. Escrow releases 24\u201348 hours after the client approves; disputes are reviewed within 48 hours."}, "coverage": {"regions": ["Global (self-registered freelancers)"], "notes": "Coverage claims conflict: the home page shows 142 countries, 2,847+ verified humans and 3,275+ tasks completed (fixed numbers in the site's code, not live counts); the FAQ says '56+ countries' and 'over 1,200 completed tasks', as does llms.txt. The View Tasks page's '150 Active Tasks' and '$1.2M Total Value' and its task list are sample data built into the page. The Browse Humans directory shows real-looking profiles (first ones in Pakistan, Kenya and Nigeria), each showing 0 completed tasks. No country list is published. Home-page counters also vary per load (seen 142 and 122 countries, 2,464-2,847 humans, 2,835-3,275 tasks on 2026-10-27), so none is reliable."}, "licensing": {"summary": "The Terms (Design 3D Solutions Ltd, effective 2026-02-20, Delaware law) are a generic AI-service template: users own their 'inputs (prompts)' and the 'AI Outputs generated specifically for you', and grant the operator a perpetual, worldwide licence to use them to provide and improve the Services, 'including anonymized/aggregated use for AI/ML development'; opt-out of non-essential use by email to privacy@design3dsolutions.com. Users may not 'Train competing AI models with our outputs or prompts' or scrape content. Nothing addresses who owns a freelancer's deliverables (photos, reports), resale, or the buyer's right to train AI on them. The Terms also say 'We will NOT use raw or identifiable personal data (PII) for model training'; the AI/ML use is anonymized or aggregated only.", "vendor_trains_on_data": "unless_opted_out"}, "verification": {"human": {"level": "claimed", "method": "Veriff KYC for every freelancer (government ID photo plus selfie video liveness check, automated review) before the profile goes live; agent operators must pass KYC before generating API keys", "evidence_url": "https://hire-a-human.ai/trust-and-safety", "unknown": "Whether the verified account holder is the person who actually does the task; no per-task identity check is described."}, "application": {"level": "none", "unknown": "No capture app: the FAQ says there is no mobile app yet, and proof of work is uploaded through the website."}, "camera": {"level": "none", "unknown": "No live-capture requirement is described; uploaded proof could be any file, including an old or edited photo."}, "time": {"level": "none", "unknown": "No capture-time check on proof is described; only platform timestamps on job status."}, "location": {"level": "none", "unknown": "No GPS, check-in or location check on the freelancer or the proof is described."}, "content": {"level": "none", "method": "The freelancer uploads proof of work and marks the job complete; the client reviews it and releases escrow; support reviews disputes within 48 hours", "unknown": "The platform does not say it checks proof itself; whether the proof shows what was asked rests on the client's own review."}, "corroboration": {"level": "none", "unknown": "No independent cross-check of deliverables is offered."}}, "api": {"available": true, "docs_url": "https://hire-a-human.ai/blog/ai-agent-marketplace-mcp-rest-api-guide", "base_url": "https://cwktwvmcxstpscjcmqzi.supabase.co/functions/v1", "auth": [{"type": "api_key_header", "header": "x-api-key", "env_var": "HIREAHUMAN_API_KEY", "how_to_get": "Sign up as 'AI Agent / MCP', pass Veriff KYC (ID plus selfie, usually under 10 minutes), then generate a key (prefix hah_) in the AI Agent Dashboard. Keys are scoped (dashboard: read, write, financial, profile; the developer guide says read, write, full), expire (30 days by default) and are shown once."}], "endpoints": [{"action": "order", "method": "POST", "path": "/api-tasks", "params": "title, description, offered_rate, target_type (human | ai | both), deadline", "notes": "Creates a task in the marketplace; freelancers then bid. The guide's example posts to https://hire-a-human.ai/api-tasks, but that host returns the website's HTML; the function answers at the base_url (401 'Missing x-api-key header' without a key)."}, {"action": "list", "method": "GET", "path": "/api-tasks", "notes": "Lists tasks."}], "rate_limits": "60 requests/minute per key; over the limit returns HTTP 429. GET /api-rate-limit-status and GET /api-usage-stats report usage.", "self_serve": true, "notes": "No public reference documentation: the provider says full docs are 'available through the platform dashboard'. No endpoint for task status, applicants or deliverables is published (the guide also lists POST /api-task-apply, which is for applying to a task). The provider says it runs an MCP server endpoint, but publishes no URL, and none is in the MCP Registry (quest.hireahuman/quest is a different service, hireahuman.quest). No OAuth metadata is served."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after you post and a freelancer is hired"}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No delivery time is published. FAQ: 'physical tasks in active areas are often filled within hours' (time to hire, not to deliver)."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "approval", "rate_limit": {"requests": 60, "per_seconds": 60, "scope": "per-key", "notes": "429 over the limit; GET /api-rate-limit-status and GET /api-usage-stats report usage.", "source_url": "https://hire-a-human.ai/blog/ai-agent-marketplace-mcp-rest-api-guide"}}, "payment": {"methods": ["card", "crypto"], "prepaid": true, "notes": "The agreed price is deposited into escrow before work begins and released on the client's confirmation (minus the freelancer's 10%). FAQ: clients pay by credit/debit card, PayPal or bank transfer, through Stripe; the agent dashboard also offers escrow deposits in USDT, and the safety post calls crypto 'an additional option' with admin-verified escrow. A 'financial' API key scope covers 'Load funds, view balance & transactions', but how an agent funds a task over the API is not documented."}, "account": {"kyc": "id", "agent_may_act": {"allowed": true, "source_url": "https://hire-a-human.ai/"}}, "capture": {"by": "people"}, "requester": {"checks": "Every agent account must be backed by a person or organisation that passes Veriff KYC before it can generate API keys or post tasks. Task posts go through automated screening (said to catch about 17% of problematic listings), user reports and daily admin review; the terms prohibit illegal, harmful or deceptive tasks, and violators are suspended.", "unknown": "Whether tasks that ask a freelancer to watch, follow or photograph a specific person are screened out is not stated."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Home page: AI agents use REST API and MCP; tasks (on-site inspections, mystery shopping, inventory checks, deliveries, sample collection, field research, event attendance, photography, real-time reporting); every agent verified through Veriff; stats 2,847+ verified humans, 3,275+ tasks completed, 142 countries", "url": "https://hire-a-human.ai/"}, {"claim": "Home-page stats are fixed values in the site code (target:2847, 3275, 142)", "url": "https://hire-a-human.ai/assets/index-BDX6Ndek.js"}, {"claim": "llms.txt: founder Tom Carr, over 1,200 tasks completed, flat 10% fee paid by providers, Veriff KYC, Stripe escrow, typical $15-$30/hr physical rates, API keys scoped and rate-limited 60/min, documentation through the dashboard", "url": "https://hire-a-human.ai/llms.txt"}, {"claim": "FAQ: fees (clients pay none, providers 10%), typical rates, 56+ countries and over 1,200 tasks, Veriff ID plus selfie liveness, client payment by card/PayPal/bank transfer, escrow release 24-48 h, disputes within 48 h, same-day tasks 'often filled within hours', no mobile app, MCP server endpoint, freelancers upload proof and the client confirms, AI agents post via REST API or MCP for site visits, phone calls, quality checks", "url": "https://hire-a-human.ai/faq"}, {"claim": "Trust & Safety: Veriff KYC for freelancers; agent operators must complete KYC before API key generation; escrow; automated task screening (~17%), daily admin review; terms prohibit illegal, harmful or deceptive tasks", "url": "https://hire-a-human.ai/trust-and-safety"}, {"claim": "Terms of Service & Privacy Policy (Design 3D Solutions Ltd, effective 2026-02-20): ownership of inputs and AI Outputs, perpetual licence incl. anonymized/aggregated AI/ML development, opt-out by email, no training competing AI models, no scraping, Delaware law", "url": "https://hire-a-human.ai/legal"}, {"claim": "Developer guide (2026-02-24): REST endpoints GET/POST /api-tasks, POST /api-task-apply, GET /api-usage-stats, GET /api-rate-limit-status; x-api-key header with hah_ key; scopes read/write/full; 60 requests/minute; example task fields; MCP server endpoint advertised", "url": "https://hire-a-human.ai/blog/ai-agent-marketplace-mcp-rest-api-guide"}, {"claim": "Agent flow: authenticate by API key, POST /api-tasks with title, description, offered rate, deadline and target type (ai, human or both); freelancers apply; escrow in fiat or crypto", "url": "https://hire-a-human.ai/blog/how-ai-agents-hire-humans-for-real-world-tasks"}, {"claim": "Safety post (2026-02-26): no anonymous agents, task screening layers, crypto payments through admin-verified escrow with Stripe as the primary method", "url": "https://hire-a-human.ai/blog/how-we-keep-our-marketplace-safe"}, {"claim": "Live API host: POST/GET /api-tasks answers here (401 'Missing x-api-key header' without a key)", "url": "https://cwktwvmcxstpscjcmqzi.supabase.co/functions/v1/api-tasks"}, {"claim": "AI Agent Dashboard code: key generation requires Veriff verification; scopes read, write, financial ('Load funds, view balance & transactions'), profile; default 30-day expiry; SHA-256 hashed keys shown once; HTTP 429 at the rate limit; USDT escrow deposit form", "url": "https://hire-a-human.ai/assets/AIAgentDashboard-IZRy3pvg.js"}, {"claim": "View Tasks page: '150 Active Tasks' and '$1.2M Total Value' and the task list are hard-coded sample data", "url": "https://hire-a-human.ai/assets/ViewTasks-DSqwF_4U.js"}, {"claim": "Browse Humans directory: profiles with self-set rates from $5/hr; first profiles show 0 completed tasks", "url": "https://hire-a-human.ai/browse"}, {"claim": "Legal \u00a71.4-1.5: PII not used for model training; anonymized/aggregated use for AI/ML; no scraping; counters on home page seen as 122 countries, 2,464+ humans, 2,835+ tasks on 2026-10-27", "url": "https://hire-a-human.ai/legal"}, {"claim": "Agent operators pass Veriff KYC before generating API keys", "url": "https://hire-a-human.ai/trust-and-safety"}, {"claim": "AI agents post tasks through the REST API and MCP", "url": "https://hire-a-human.ai/"}], "adapter": "hire_a_human"}, {"id": "hivemapper", "name": "Bee Maps (Hivemapper)", "status": "unclaimed", "tags": ["street", "dashcam", "video", "imagery", "road", "signs", "map-features", "ai-events", "burst"], "summary": "Dashcam street-level imagery network run by Hivemapper, Inc. (dba Bee Maps). Contributors drive with Bee cameras and, since August 2026, are paid by default in USDC funded by Bee Maps. Data is sold through the Bee Maps Data API: imagery, ML-detected road features, AI event videos, and on-demand collection (Burst and video requests) for a chosen location.", "short": "A dashcam network that can be asked for fresh imagery or video of a specific street.", "provider_url": "https://beemaps.com", "capabilities": {"modalities": ["photo", "video", "sensor"], "tasks": ["street-level imagery by polygon (latest, or a specific week)", "road feature detections (speed limit and stop signs, fire hydrants, traffic lights, parking and turn restrictions, crosswalks)", "AI event videos (harsh braking, aggressive acceleration, swerving, high speed, high g-force, stop sign violation) with GPS traces and IMU data", "on-demand imagery collection (Burst) for a point and radius", "on-demand video request for a polygon or a driven line within a time window"]}, "pricing": {"model": "consumption-based, prepaid balance, no upfront commitment", "from_usd": 0.005, "unit": "street-level image", "notes": "Public rate card: imagery $0.005 per image; AI event videos $6 per video; road detections $3 per 1,000 detections; Burst $1 per location, paid only when the location is mapped. The price of a /requestVideo order is not published. Bee Edge AI is priced separately ($15/device/month own devices; $0.02/km network devices). Prepaid API balance; add funds $5 to $1,000 through Stripe checkout; new accounts get $20 free credits with no card required. Price increases take effect 14 days after posting."}, "latency": {"typical": "Archive imagery days to weeks old; Burst results within hours in urban areas, days in rural areas", "notes": "Per the Data API guide. No SLA or measured latency is published, and Burst timing is described qualitatively. A Burst location stays active for a validity window (the reference example is 30 days); a /requestVideo order expires if no qualifying video is recorded before validUntil."}, "coverage": {"regions": ["Global imagery (100+ countries)", "Road detections: US, EU, UK", "Burst: global, depends on local driver density"], "notes": "Provider states 754M total km mapped, 22M unique km and 37% of world roads (beemaps.com counters, self-reported; the API reference says 36%). Density per region is not published in the pages read. Max query area 5 sq km per request. 'Global' (areas *) means no country limit is applied, but the provider claims '100+ countries', not every country.", "areas": ["*"]}, "licensing": {"summary": "The Data Products Terms of Service (Q4 2025) grant a non-exclusive, non-sublicensable, non-transferable right to use the Bee Maps Data Products only in connection with the customer's own Implementations (products that interoperate with the APIs). The customer may not transfer, distribute, resell, lease or (sub)license the Services or Data Products, use them to build a competing product or for benchmarking, and must protect them from scraping. Bee Maps and its licensors exclusively own all rights in the Data Products. The terms do not mention AI or ML training; the docs market AI event videos and imagery for model training; neither is licence text. The terms also bar creating derivative works of the Data Products, so do not read marketing talk of derived datasets as a right.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Capture is passive dashcam recording. Contributors get random three-word usernames and sign in by email; no identity or uniqueness check of contributors is documented."}, "application": {"level": "claimed", "method": "Only approved Open Camera devices contribute; the network assigns each new device low trust that rises as it passes visual challenges and agrees with other devices (server-side reputation, not cryptographic attestation).", "unknown": "No hardware or firmware attestation is published. These are Hivemapper Network reward checks; whether they still apply after Bee Maps ended its services agreement with the Hivemapper Foundation (July 2026), and whether API data is filtered by them, is not stated."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Imagery comes from Bee Maps' own dashcam hardware; the network's vision-based consensus is described as defending against AI-generated imagery and replay attacks. No hardware-level signing or attestation is published, and Bee Maps is not on the C2PA conforming products list. Whether a single unverified device's imagery can reach API results is unknown."}, "time": {"level": "claimed", "method": "Each frame and video carries a device timestamp; network consensus treats observations as valid when independent devices agree at the same location and time window.", "unknown": "The clock source and any trusted time-stamping are not documented."}, "location": {"level": "claimed", "method": "Dual-band (L1/L5) GNSS module with embedded security; frames return GNSS quality metrics (gdop, hdop, pdop, eph, cno) and IMU data; contributions are checked at the H3 hex level against other devices.", "unknown": "Resistance to GNSS spoofing and how the accuracy metrics are derived are not documented. The Helium-hotspot location check described in older Hivemapper posts could not be fetched and is not relied on."}, "content": {"level": "claimed", "method": "Road features are ML detections returned with confidence scores, detection counts and first/last-seen dates; faces, bodies, vehicles and licence plates are blurred on the device.", "unknown": "Confidence calibration, error rates, and any human review of detections are not published."}, "corroboration": {"level": "claimed", "method": "Vision-based consensus: observations from multiple independent devices at the same hex and time window are cross-referenced, with device-diversity weighting and de-duplication of devices in the same vehicle.", "unknown": "In low-traffic areas there may be too little overlap for consensus. Whether imagery sold through the API, especially a fresh Burst or video request with a single contributor, is corroborated is not stated."}}, "api": {"available": true, "self_serve": true, "docs_url": "https://beemaps.com/docs/api-reference", "base_url": "https://beemaps.com/api/developer", "auth": [{"type": "basic", "header": "Authorization", "env_var": "BEEMAPS_API_KEY", "transport": "rest", "how_to_get": "Sign in at beemaps.com, then Developers > API Key > Get API Key. Sent as 'Authorization: Basic <API_KEY>' (the key itself; the docs do not mention base64 encoding)."}, {"type": "api_key_query", "env_var": "BEEMAPS_API_KEY", "transport": "rest", "how_to_get": "Same key as ?apiKey=<API_KEY>. Works on all authenticated endpoints; the OpenAPI spec lists it as the scheme for /burst/create. The MCP server also takes it (https://beemaps.com/api/mcp?apiKey=...)."}, {"type": "api_key_header", "header": "X-API-Key", "env_var": "BEEMAPS_API_KEY", "transport": "mcp", "how_to_get": "Accepted by the MCP endpoint per its 401 response. No OAuth: no protected-resource or authorization-server metadata is served."}], "endpoints": [{"action": "search", "method": "POST", "path": "/latest/poly", "params": "body: GeoJSON Polygon or MultiPolygon ([lon, lat]); query: min_week (YYYY-mm-dd cutoff), headings, catalog (true = metadata only, no signed image URLs), crossjoin", "notes": "Freshest imagery in the polygon. Max 5 sq km per request. Frames include timestamp, GNSS quality metrics and IMU data. Image URLs are signed, metered per unique view, and expire. The api-products page shows /imagery/latest/poly; the reference and OpenAPI spec use /latest/poly."}, {"action": "search", "method": "POST", "path": "/imagery/poly", "params": "body: GeoJSON polygon; query: week (YYYY-mm-dd of a day in the target week), headings, catalog", "notes": "Imagery for one specific week."}, {"action": "search", "method": "POST", "path": "/map-data", "params": "body: type (e.g. [\"mapFeatures\"], imagery) and geometry (Point with radius, or Polygon)", "notes": "Road detections and/or imagery in one call. Detections in US, EU, UK only."}, {"action": "search", "method": "POST", "path": "/mapFeatures/poly", "params": "body: GeoJSON Polygon", "notes": "Detected road features within a polygon."}, {"action": "search", "method": "POST", "path": "/aievents/search", "params": "body: startDate, endDate (ISO 8601, max 31 days), types, polygon, limit, offset", "notes": "AI event videos."}, {"action": "fetch", "method": "GET", "path": "/aievents/{id}", "params": "query: includeGnssData (~1 Hz GPS), includeImuData (~100 Hz IMU)", "notes": "One AI event with signed video URL and optional sensor traces."}, {"action": "order", "method": "POST", "path": "/burst/create", "params": "query: apiKey; body: array of {geojson: Point [lon, lat] with radius in metres, credits}", "notes": "On-demand imagery collection. Goes live in the Bee App at once and drivers in range get a push notification. $1 per location, paid only when mapped. Returns id, status, validFrom, validUntil. Rate limit 10 creations per minute."}, {"action": "status", "method": "GET", "path": "/bursts", "notes": "Lists bursts with status (active, expired, refunded, completed), hit and hitTimestamp. When hit is true, re-query /latest/poly for the new imagery. The api-products page also mentions webhooks, with no details published."}, {"action": "order", "method": "POST", "path": "/requestVideo", "params": "body: geojson (Polygon 10 to 50,000 m2, or LineString up to ~950 m driven in drawn direction), validFrom, validUntil (required), eligibleLocalTimeStart/End (ms since local midnight); query: idempotencyKey", "notes": "Requests fresh video of an area; qualifying video must be at least 1080p and 15 fps, recorded inside the area during the window. Retrying with the same idempotencyKey returns the original id; reuse for a different request is rejected with 409. Price not published."}, {"action": "status", "method": "GET", "path": "/requestVideo/{id}", "notes": "status pending, fulfilled, expired or cancelled; videos (signed URLs expiring after 24 hours) appear when fulfilled. DELETE /requestVideo/{id} cancels."}, {"action": "list", "method": "GET", "path": "/requestVideo", "params": "query: limit, skip, fulfilled, since", "notes": "Your video requests, newest first; since returns requests fulfilled at or after a time."}, {"action": "status", "method": "GET", "path": "/balance", "notes": "USD balance. GET /history returns query history with credits consumed. A 402 response means insufficient credits."}], "rate_limits": "Default 100 requests per minute per API key; Burst creation 10 per minute; contact sales for more. Max query area 5 sq km per request.", "mcp": {"remote": "https://beemaps.com/api/mcp", "registry_name": null, "auth": "API key (?apiKey= or X-API-Key header); no OAuth", "first_party": true}, "notes": "OpenAPI 3.0 spec at https://beemaps.com/openapi.json (covers the core endpoints but not /imagery/poly, /mapFeatures/poly or /requestVideo). LLM reference at https://beemaps.com/llms-full.txt. GET /devices (camera calibration) needs no key."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none", "rate_limit": {"requests": 100, "per_seconds": 60, "scope": "per-key", "notes": "Default; burst creation 10 per minute; contact sales for more. Max query area 5 km\u00b2 per request. 429 on excess.", "source_url": "https://beemaps.com/openapi.json"}}, "payment": {"methods": ["card", "hosted_checkout", "prepaid_balance"], "agent_can_pay": false, "prepaid": true, "notes": "A person tops up the API balance by card through Stripe checkout ($5 to $1,000); funds are available immediately with no approval. API calls then draw down the balance automatically, so an agent can spend a funded balance but cannot top it up. Larger customers can prepay under a written contract. Prepaid balances are non-refundable."}, "capture": {"by": "devices"}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Data API guide: Burst 'coverage timing depends on local driver density \u2014 urban areas often see results within hours, while rural areas may take days.'"}, "freshness": {"mode": "mixed", "typical_age": "Archive imagery days to weeks old; Burst and video requests fulfilled within hours in urban areas, days in rural areas", "notes": "Per the Data API guide: data is 'days to weeks old, not months/years'. Burst timing is qualitative, with no SLA."}, "adapter": "beemaps", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "API v1.3.0: base URL; Basic and apiKey query auth; endpoints /latest/poly (min_week, headings, catalog, crossjoin), /imagery/poly (week), /map-data, /mapFeatures/poly, /aievents/search, /aievents/{id}, /requestVideo POST/GET/DELETE with constraints, idempotencyKey and statuses, /history, /devices (no auth), POST /mcp; frame GNSS metrics (gdop, hdop, pdop, eph, cno); max 5 sq km; 36% of world roads; per-view billing", "url": "https://beemaps.com/docs/api-reference"}, {"claim": "OpenAPI spec: BasicAuth and ApiKeyQuery schemes (query key for burst endpoints); /burst/create body (Point with radius, credits); 429 default 100 req/min", "url": "https://beemaps.com/openapi.json"}, {"claim": "Burst request and response schema, statuses active/expired/refunded/completed; AI event types; detection classes; rate limits 100/min default and 10/min burst creation; 402 insufficient credits", "url": "https://beemaps.com/llms-full.txt"}, {"claim": "Data API guide: freshness 'days to weeks old', 'flexible licensing: build derived datasets from imagery', detections US/EU/UK, Burst goes live in the Bee App with push notifications, timing hours urban / days rural, key from Developers > API Key, MCP server URL with apiKey, agent constraints (5 sq km, check balance, URLs expire), Burst workflow", "url": "https://beemaps.com/docs/platform/road-intelligence-api"}, {"claim": "Data API prices: $0.005 per image, $6 per AI event video, $3 per 1,000 detections, $1 per burst location; no upfront commitments; Edge AI prices", "url": "https://beemaps.com/pricing"}, {"claim": "Same price list; imagery global, road detections US/EU/UK, Burst global (network-dependent) and pay-on-success with polling or webhooks; 100+ countries; 37% of roads; 750M km; example path /imagery/latest/poly", "url": "https://beemaps.com/api-products"}, {"claim": "Headline counters (754M total km, 37% global road coverage, 22M unique km); transition to USDC rewards", "url": "https://beemaps.com"}, {"claim": "From August 2026 USDC (funded by Bee Maps, via Circle Wallet) is the default reward and HONEY rewards are removed from the Bee App; Bee Maps terminated its services agreement with the Hivemapper Foundation; email sign-in default", "url": "https://beemaps.com/blog/get-paid-in-usdc-to-map-your-city"}, {"claim": "Data Products Terms of Service: right to use Data Products only with the customer's Implementations; no transfer, distribution, resale, lease or (sub)licensing; no competing products or benchmarking; anti-scraping duty; Bee Maps exclusively owns the Data Products; prepaid balance by credit card or written contract; price changes after 14 days", "url": "https://beemaps.com/tos/map-products"}, {"claim": "Bee Terms of Service: Hivemapper, Inc. (dba Bee Maps) owns data collected from Bee devices with the right to use, license, distribute or sell it; prohibition on robots and scraping of the Service", "url": "https://beemaps.com/tos"}, {"claim": "Prepaid API balance, Add Funds $5 to $1,000 through Stripe, funds available immediately with no approval, $20 free credits with no card required", "url": "https://beemaps.com/blog/api-billing-and-free-credits"}, {"claim": "Billing docs: 'Checkout with Stripe' to add funds; API calls deducted from the balance automatically", "url": "https://beemaps.com/docs/platform/billing-and-payment"}, {"claim": "Privacy by design: random three-word usernames, trip trimming, privacy zones, on-device blurring of faces, bodies, vehicles and licence plates", "url": "https://beemaps.com/docs/help-and-support/data-protection-and-privacy"}, {"claim": "Bee has a dual-band (L1/L5) GNSS module with embedded security; IMU data in imagery metadata; Bursts defined by area and reward", "url": "https://beemaps.com/docs/help-and-support/glossary"}, {"claim": "Network verification: approved Open Camera devices, vision-based consensus at the H3 hex level against AI-generated imagery and replay, device-diversity weighting, new devices start with low trust, low-traffic areas may lack consensus", "url": "https://docs.hivemapper.com/honey-token/map-data-structure-and-verification/"}, {"claim": "MCP endpoint is live and asks for an API key via ?apiKey= or X-API-Key header (401 to an unauthenticated POST, no WWW-Authenticate)", "url": "https://beemaps.com/api/mcp"}, {"claim": "Approved Open Camera devices; new devices start with low trust; vision-based consensus", "url": "https://docs.hivemapper.com/honey-token/map-data-structure-and-verification/"}]}, {"id": "hover", "name": "Hover", "provider_url": "https://hover.to", "status": "unclaimed", "short": "Texts or emails the homeowner a link; their phone scan becomes a 3D model and measurements.", "summary": "Hover sends a capture request (a link by SMS or email) to a homeowner, adjuster or other person at the property, who scans it with the Hover phone app. Hover turns the photos into a 3D model with roof, exterior or interior measurements (PDF, JSON, XLSX, ESX and more). OAuth REST API with a sandbox and a first-party MCP server; per-project prices are published.", "capabilities": {"modalities": ["photo"], "tasks": ["send a capture request (link by SMS/email) to the person at a property", "exterior photo set + 3D model (Complete, deliverable_id 3)", "roof-only 3D model and measurements (deliverable_id 2)", "interior floor plan and measurements (deliverable_id 8)", "total living area (deliverable_id 5/6, underwriting)", "photos-only capture, upgradeable later (Capture Only, deliverable_id 7)", "measurement exports (PDF, JSON, XLSX, XML, ESX, SKP, FML)", "inspection photos and checklists", "virtual walkthrough link"]}, "capture": {"by": "subject"}, "requester": {"checks": "The requester needs a Hover account; API integrations are created by a Team Admin and a user must approve the OAuth consent. The Terms make the sender obtain the recipient's consent before an SMS or email invite, ban use in US-embargoed countries or by sanctioned persons, and say Image Data must not contain personal information.", "unknown": "No review of individual capture requests or check of the requester's link to the property is documented."}, "pricing": {"model": "per project (plan discounts by annual subscription)", "from_usd": 29, "unit": "project (simple roof or interior scan, Starter plan)", "notes": "Starter, pay per project, first 3 projects free: exterior $59/$99/$139, roof $29/$49/$69, interior $29/$59/$89 (simple/average/complex). Pro ($999/yr) takes $20 off each project (from $9); Business ($2,999/yr) is flat $79 exterior, $39 roof, $49 interior. Enterprise is custom. Expedited delivery $39/project on Starter, $19 on Pro and Business. Upgrade price for a Capture Only job is available by API (hover.to/pricing)."}, "payment": {"methods": ["card", "invoice"], "agent_rails": ["card_on_file_api"], "agent_can_pay": false, "notes": "Fees are charged to the card on file; pay by invoice is an Enterprise feature at Hover's discretion. Jobs and capture requests charge the org's wallet (or a shared wallet set up by a Hover rep). Fees are nonrefundable."}, "coverage": {"regions": [], "notes": "Hover publishes no list of covered countries. Job addresses carry a country field; the Terms bar use in US-embargoed countries. Capture needs a supported mobile device and the Hover app."}, "licensing": {"summary": "The Terms of Use (posted 2026-05-11) give a non-exclusive, non-transferable, limited permission to use Hover Data (measurements, models, floorplans) only for the subject property or project and for personal or internal business purposes. Selling, licensing, distributing or otherwise making Hover Data available to third parties is banned, as is using Hover Data to train software or algorithms. The user owns the photos it submits (User Data) but grants Hover a perpetual, transferable licence to them, including for training Hover's models, and assigns Hover any Hover Data derived from them.", "ai_training": "forbidden", "resale": "forbidden", "buyer_owns_output": false, "vendor_trains_on_data": "yes"}, "verification": {"human": {"level": "none", "unknown": "The capture is done by whoever accepts the link and signs up with the invited email; the job records that account's email (capture_by), but no identity check is documented."}, "application": {"level": "none", "unknown": "Captures must be made in the Hover phone app, but no app-integrity or attestation check is published; the Terms only disclaim liability for rooted or jailbroken devices. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "No capture signing (C2PA or other) documented; Hover is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "The API reports capture records with created_at times, but no capture-time attestation is documented."}, "location": {"level": "none", "unknown": "Hover collects image metadata and the location where each image was taken to build the model, but documents no check that the capture was made at the requested address, and the API exposes only the job address coordinates."}, "content": {"level": "none", "unknown": "Measurements are computed by Hover from the photos; the Terms provide Hover Data as is, with no warranty of accuracy."}, "corroboration": {"level": "none", "unknown": "No independent confirmation offered."}}, "api": {"available": true, "docs_url": "https://developers.hover.to/", "base_url": "https://hover.to", "auth": [{"type": "oauth2", "transport": "rest", "how_to_get": "A Team Admin creates an integration (Settings > Developer) for the Client ID and Secret; a user approves access once at https://hover.to/oauth/authorize (authorization code grant), then POST /oauth/token. Access tokens last 2 hours; refresh tokens until used. Sandbox: https://sandbox.hover.to", "scopes": ["all"], "dynamic_registration": false}, {"type": "oauth2", "transport": "mcp", "how_to_get": "Get a REST OAuth access token as above and pass it as an Authorization: Bearer header to the MCP server; the MCP server does not run the OAuth flow itself.", "dynamic_registration": false}], "endpoints": [{"action": "order", "method": "POST", "path": "/api/v2/capture_requests", "params": "capture_request[capturing_user_name], capture_request[capturing_user_email], capture_request[job_attributes][location_line_1], current_user_email or current_user_id; optional capturing_user_phone (for SMS), job_attributes.deliverable_id, wallet_id", "notes": "Creates a draft job and sends the invite. States: new, connected, complete, deleted."}, {"action": "status", "method": "GET", "path": "/api/v2/capture_requests/{id}/details"}, {"action": "status", "method": "GET", "path": "/api/v3/jobs/{job_id}", "notes": "Job details, captures, models and links to measurement files. Webhooks (Capture Request State Changed, Job State Changed v2, Model State Changed) are recommended over polling."}, {"action": "list", "method": "GET", "path": "/api/v2/capture_requests"}, {"action": "fetch", "method": "GET", "path": "/api/v3/models/{model_id}/artifacts/measurements.json"}, {"action": "fetch", "method": "GET", "path": "/api/v2/inspections/{inspection_id}/photos"}, {"action": "quote", "method": "GET", "path": "/api/v3/models/{model_id}/deliverable_change_requests/price", "notes": "Price to upgrade an existing model's deliverable (e.g. a Capture Only job)."}], "rate_limits": "120 requests per minute or 7,200 per hour (429 when exceeded); 60-second request timeout.", "self_serve": true, "mcp": {"remote": "https://developers.hover.to/mcp", "registry_name": null, "auth": "Docs tools need no auth; execute-request needs a Hover OAuth access token sent as an Authorization: Bearer header.", "first_party": true, "notes": "Hosted by Hover on its ReadMe docs site (tools include execute-request, list-endpoints, search). Not in the official MCP Registry. Hover says it is not an autonomous integration engine and requests should be reviewed by a human."}, "notes": "Hover recommends capture requests over POST /api/v1/jobs because jobs emit no capture webhook. Test-job endpoints simulate captures. No idempotency key is documented (external_identifier is available). Authorizing an integration fails if the org's plan has integrations disabled."}, "adapter": "hover", "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Pricing page, 'Typical turnaround time': 12 hours (Starter), 4 hours (Pro, Business), 2 hours (Enterprise); expedited roof measurements 'typically delivered within 1 hour' and full exterior within 90 minutes. The clock starts once the person at the property has scanned it, which Hover does not control."}, "latency": {"typical": "Hours after the scan (12 h Starter, 4 h Pro/Business, 2 h Enterprise; about 1 h expedited)", "notes": "The wait for the person at the property to open the link and scan is not bounded and comes first. The provider also states roof measurements typically within 1 hour and exterior within 90 minutes after the scan."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none", "notes": "Terms \u00a72(b)(v) bar robots, spiders or other automatic programs that monitor, copy or summarise the service; the official OAuth API and MCP are the sanctioned route, so automation_allowed is true for those only.", "rate_limit": {"requests": 120, "per_seconds": 60, "scope": "unknown", "notes": "Also 7,200 per hour; 429 when exceeded; 60-second request timeout.", "source_url": "https://developers.hover.to/docs/api-usage-and-limits.md"}}, "tags": ["property", "roof", "3d model", "measurements", "insurance", "homeowner capture"], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "API index: capture requests, jobs, measurement exports, inspections, deliverable change requests, MCP guides", "url": "https://developers.hover.to/llms.txt"}, {"claim": "Public API docs home", "url": "https://developers.hover.to/"}, {"claim": "POST /api/v2/capture_requests, required fields, invite by email/SMS to download the Hover app", "url": "https://developers.hover.to/reference/create-capture-request.md"}, {"claim": "Capture request states (new, connected, complete, deleted); webhooks to ingest; all captures on a mobile device", "url": "https://developers.hover.to/docs/capture-requests-via-the-api.md"}, {"claim": "Capture requests go to homeowners, sales reps or independent adjusters; job records who captured", "url": "https://developers.hover.to/docs/understanding-capture-requests.md"}, {"claim": "Deliverable types and IDs (2, 3, 5, 6, 7, 8)", "url": "https://developers.hover.to/docs/understanding-deliverable-types.md"}, {"claim": "OAuth 2.0 authorization code grant, manual one-time consent, 2-hour access tokens, integrations must be enabled on the plan", "url": "https://developers.hover.to/docs/oauth-20-authentication.md"}, {"claim": "Token response carries scope 'all'", "url": "https://developers.hover.to/reference/generate-access-token.md"}, {"claim": "Team Admin creates an integration; custom integrations open to any plan with API access, including Starter", "url": "https://developers.hover.to/docs/creating-and-managing-integrations.md"}, {"claim": "Create integration and get Client ID and Secret in Settings > Developer", "url": "https://help.hover.to/en/articles/2599366-create-and-manage-integrations"}, {"claim": "Rate limits 120 RPM / 7,200 per hour, 60-second timeout", "url": "https://developers.hover.to/docs/api-usage-and-limits.md"}, {"claim": "Remote MCP server at https://developers.hover.to/mcp and its tools", "url": "https://developers.hover.to/docs/mcp-2.md"}, {"claim": "MCP runs on ReadMe; needs user-provided OAuth; not autonomous; human review advised", "url": "https://developers.hover.to/docs/what-is-hover-mcp.md"}, {"claim": "MCP auth: access token passed as Authorization Bearer header", "url": "https://developers.hover.to/docs/authentication-for-mcp-use.md"}, {"claim": "Webhook events (Job State Changed v2, Capture Request State Changed, Model State Changed)", "url": "https://developers.hover.to/reference/webhooks.md"}, {"claim": "Jobs endpoint; capture requests recommended over jobs", "url": "https://developers.hover.to/reference/createajob.md"}, {"claim": "GET /api/v3/jobs/{job_id}: captures with capture_by and created_at, address coordinates", "url": "https://developers.hover.to/reference/show-job-details.md"}, {"claim": "GET /api/v2/capture_requests/{id}/details", "url": "https://developers.hover.to/reference/show-capture-request-details.md"}, {"claim": "GET /api/v3/models/{model_id}/artifacts/measurements.json", "url": "https://developers.hover.to/reference/get-json-measurements.md"}, {"claim": "GET /api/v2/inspections/{inspection_id}/photos", "url": "https://developers.hover.to/reference/getinspectionphotos.md"}, {"claim": "Upgrade price endpoint", "url": "https://developers.hover.to/reference/get-upgrade-price.md"}, {"claim": "Wallets hold an org's payment and billing information", "url": "https://developers.hover.to/docs/understanding-companies-orgs-and-wallets.md"}, {"claim": "Per-project prices by plan, first 3 free, turnaround times, expedited delivery, API access on all plans, invoice on Enterprise, export formats", "url": "https://hover.to/pricing"}, {"claim": "Licence limits on Hover Data, no resale, no training on Hover Data, ownership, Hover trains on User Data, card charges, invoicing, recipient consent, sanctions, no personal information in images", "url": "https://hover.to/terms-of-use/"}, {"claim": "Hover collects image metadata and the location where the image was taken to create a 3D model", "url": "https://hover.to/privacy/"}, {"claim": "Hover not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "No Hover entry in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=hover"}, {"claim": "Terms \u00a72(b)(v) bans robot/spider/automatic programs to monitor or copy; \u00a72(b)(xii) training ban; \u00a72(b)(vii) no third-party disclosure", "url": "https://hover.to/terms-of-use/"}, {"claim": "Roof measurements typically within 1 hour, exterior within 90 minutes", "url": "https://hover.to/pricing"}, {"claim": "Jobs and capture requests charge the org's wallet (its card on file)", "url": "https://developers.hover.to/docs/understanding-companies-orgs-and-wallets.md"}]}, {"id": "hubeau-hydrometrie", "name": "Hub'Eau Hydrom\u00e9trie (France river levels and flow)", "provider_url": "https://hubeau.eaufrance.fr", "short": "Live French river height and flow, about 5,000 stations; keyless.", "summary": "Hub'Eau is a French national open platform (publishers OFB, Vigicrues SCV and BRGM) that serves public water-information-system data by keyless REST APIs. Its Hydrom\u00e9trie API gives river water height (H) and flow (Q) observations from about 5,000 stations of the French network, refreshed every 5 minutes from the PHyC platform with one month of history, plus daily and monthly mean flows over longer history.", "tags": ["river", "water level", "discharge", "flow", "hydrology", "france", "flood", "open data", "no key", "etalab"], "capabilities": {"modalities": ["sensor"], "tasks": ["stations and sites near a commune, department or bounding area", "real-time water height (H) and flow (Q) at a station for the last month", "daily and monthly mean flows with long history (from 1900 at some stations)", "filter by time window and fields to limit the download"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "Terms: use of the platform is free (\"L'acc\u00e8s \u00e0 la Plateforme et son utilisation sont gratuits\"); the APIs are accessible without registration or prior authorisation."}, "latency": {"typical": "About 5 minutes after upload; stations record every 5 to 60 minutes", "notes": "Docs: observations are banked every 5 to 60 minutes in PHyC and the API is updated from PHyC every 5 minutes. Live check: the newest observation of station K437311001 was dated 2026-10-27T15:25:00Z in a query made after 15:40Z."}, "coverage": {"regions": ["France (the French hydrometric network)"], "notes": "About 5,000 hydrometric stations, run mainly by DREAL and other producers; elaborated daily flows for over 4,200. The pages read do not say which overseas territories are included.", "areas": ["FR"]}, "licensing": {"summary": "Terms of use: \"La r\u00e9utilisation des Jeux de donn\u00e9es est r\u00e9gie par la licence ouverte Etalab ... Les Jeux de donn\u00e9es sont donc librement et gratuitement utilisables et r\u00e9utilisables, y compris dans un but commercial. L'utilisateur de ces donn\u00e9es doit n\u00e9anmoins veiller \u00e0 citer l'auteur des Jeux de donn\u00e9es.\" The data are raw, supplied as produced by the water-information-system contributors, who alone answer for them. The publisher may refuse access for abusive use. The terms do not mention AI training or resale by name."}, "verification": {"human": {"level": "none", "unknown": "Automated stations; no person confirms readings."}, "application": {"level": "none", "unknown": "No signing or attestation is documented."}, "camera": {"level": "none", "unknown": "Not a camera source."}, "time": {"level": "claimed", "method": "Each observation has date_obs in UTC (live sample: 2026-10-27T15:25:00Z).", "unknown": "Station clocks are not documented; timestamps are unsigned."}, "location": {"level": "claimed", "method": "Station records carry latitude and longitude, returned on each observation.", "unknown": "Coordinates are the producer's own and unsigned."}, "content": {"level": "claimed", "method": "Each observation carries a method label (e.g. Mesur\u00e9e), a qualification label (live sample: Non qualifi\u00e9e) and a status (live sample: Brute).", "unknown": "Real-time values are raw and unvalidated; the terms say the datasets are raw data and the contributors alone are responsible for them."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms individual readings."}}, "freshness": {"mode": "live", "typical_age": "about 5 to 20 minutes", "notes": "Real-time observations kept for one month; elaborated daily and monthly means over long history."}, "delivery": {"speed": "minutes", "basis": "Docs: \"L'API est mise \u00e0 jour \u00e0 partir de la plateforme PHyC toutes les 5 minutes\"; stations bank readings every 5 to 60 minutes.", "modes": ["live"]}, "api": {"available": true, "self_serve": true, "docs_url": "https://hubeau.eaufrance.fr/page/api-hydrometrie", "base_url": "https://hubeau.eaufrance.fr/api/v2/hydrometrie", "auth": [{"type": "none", "how_to_get": "No authentication or registration is needed."}], "endpoints": [{"action": "search", "method": "GET", "path": "/referentiel/stations", "params": "e.g. code_commune_station, size, format (json, geojson, csv, xml)", "notes": "Station reference data. Sites at /referentiel/sites. Result depth capped at 20,000 records."}, {"action": "fetch", "method": "GET", "path": "/observations_tr", "params": "code_entite (station code), grandeur_hydro (H or Q), date_debut_obs, date_fin_obs, sort, size (max 20000), cursor, fields", "notes": "Real-time observations with cursor pagination. Live call returned date_obs, resultat_obs, libelle_methode_obs, libelle_qualification_obs, libelle_statut, latitude and longitude. Maximum URL length 2,083 characters."}, {"action": "fetch", "method": "GET", "path": "/obs_elab", "notes": "Elaborated daily and monthly mean flows over the full history."}], "rate_limits": "None published. The terms ask users to fetch only a subset of the data using the available filters and to prefer compression; abusive use can lead to refused access.", "notes": "Formats: JSON, GeoJSON, CSV, XML SANDRE Hydrom\u00e9trie; CORS and JSONP are supported. In testing, a request to the older /api/v1/ path with a custom User-Agent got a 403 page while the documented /api/v2/ path with a browser-style User-Agent returned data; which factor caused the 403 was not isolated. The terms do not forbid automation and describe the platform as for those who \"veulent automatiser leur t\u00e9l\u00e9chargement\"."}, "access": {"cost": "free", "key_required": false, "automation_allowed": true, "tested_live": "2026-10-28", "gate": "none"}, "sources": [{"claim": "Hydrom\u00e9trie API: operations, 5-minute refresh from PHyC, one month history, about 5,000 stations, limits, formats, example URL", "url": "https://hubeau.eaufrance.fr/page/api-hydrometrie"}, {"claim": "Terms of use: free, no registration, Etalab Licence Ouverte, commercial use, cite the author, raw data, use filters, refuse access on abuse, automation purpose", "url": "https://hubeau.eaufrance.fr/page/conditions-generales"}, {"claim": "Publishers OFB, SCV and BRGM", "url": "https://hubeau.eaufrance.fr/mentions-legales-credits"}, {"claim": "Live GET of observations_tr for station K437311001", "url": "https://hubeau.eaufrance.fr/api/v2/hydrometrie/observations_tr?code_entite=K437311001&size=2&sort=desc"}, {"claim": "Swagger: observations_tr and referentiel/stations take latitude, longitude and distance (km); units mm (heights) and l/s (flows) are on the API page", "url": "https://hubeau.eaufrance.fr/api/v2/hydrometrie/api-docs"}], "status": "unclaimed", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "capture": {"by": "devices"}, "adapter": "hubeau-hydrometrie"}, {"id": "human-archive", "name": "Human Archive", "provider_url": "https://humanarchive.ai", "status": "unclaimed", "short": "First-person video, depth, motion and touch data of real work for robot labs, from head-worn rigs and a phone app.", "tags": ["robotics", "physical AI", "egocentric video", "first-person video", "head-mounted camera", "stereo depth", "tactile gloves", "motion capture", "hand pose", "training data", "dataset catalog", "India"], "capabilities": {"modalities": ["video", "sensor", "audio"], "capture_types": ["egocentric", "stereo", "depth", "imu", "tactile", "mocap", "hand-pose", "slam-pose"], "tasks": ["egocentric video of people doing their jobs in real workplaces (factories, restaurants, laundries, salons, warehouses, construction sites, hotels) and homes, recorded on Human Archive's head-worn multi-camera rigs", "rigs with a global-shutter stereo pair and hardware-synchronised IMU; tactile gloves, full-body motion-capture suits and wrist cameras synchronised with RGB-D", "first-person video tasks recorded by paid contributors in the Human Archive iOS app (video plus IMU and, where the phone has it, LiDAR depth; no audio)", "Voice Exchange: solo and two-party voice recordings (audio only), licensed as separate datasets", "post-processing into 3D hand pose, world-frame SLAM camera poses and dense step-level action labels, with bystander faces blurred", "off-the-shelf (OTS) catalogue datasets and robot deployments (not new captures)"]}, "pricing": {"model": "Quote", "from_usd": 0, "unit": "dataset", "notes": "No prices are published. Buyers use a contact form ('we'll send over our researcher dashboard and samples'), book a call, or email raj@humanarchive.ai."}, "latency": {"typical": "Not published", "notes": "No turnaround is stated for new collection. In the app, contributors pick posted tasks and payouts follow approval."}, "freshness": {"mode": "mixed", "typical_age": "Ongoing collection; catalogue data is existing footage", "notes": "Human Archive sells from an 'OTS catalog' (its HARD-2 benchmark used 100 hours from it) and says it works 'alongside leading AI labs to scale human video/sensor data'. It publishes no order flow for collection to a buyer's spec, so how much of a buyer's data is captured after the order is not stated."}, "coverage": {"regions": ["India", "United States", "Southeast Asia"], "notes": "Press reports put most collection in India, through 120+ partner businesses (hotels, restaurants, home services, quick commerce), with expansion to Southeast Asia and early US pilots (TechCrunch, Inc42, May 2026). Wing VC describes a network across homes, factories and warehouses in 'the U.S., India, and beyond'. The contributor app is on the US App Store; its terms exclude residents of Illinois, Texas, Washington and Oregon. Human Archive's own site lists no countries."}, "licensing": {"summary": "App contributors keep ownership of their clips and grant Human Archive a worldwide, perpetual, irrevocable, non-exclusive, sublicensable licence to use them 'to develop, train, evaluate, and improve machine-learning and robotics models' and to include them 'in datasets Human Archive licenses to its customers for those purposes'. Customers receive data 'under a written agreement' that restricts use to the agreed purposes, prohibits re-identifying contributors and requires confidentiality (privacy policy). The buyer licence is not public; resale, buyer ownership and Human Archive's reuse of a buyer's data are not stated. Terms for footage collected through partner businesses' workers are not published. The Ego500 release is described as open-source, but no licence is shown on its page. No buyer licence is public, so whether a customer may train AI is not stated by the provider; training is the evident purpose but is set by each contract."}, "verification": {"human": {"level": "claimed", "method": "App contributors hold accounts, confirm they are 18 or over, and pass identity checks run by the payout providers (Stripe, Circle) where required; Human Archive receives only the verification status. Workplace footage comes from workers at partner businesses.", "unknown": "No identity method is published for partner-business workers, and no per-recording identity record is public."}, "application": {"level": "none", "unknown": "Workplace capture uses Human Archive's own head-worn rig and app tasks are recorded in its app (nothing uploads until Submit), but no device or app attestation is documented. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Global-shutter stereo cameras with a hardware-synchronised IMU on the rig; phone camera, IMU and LiDAR in the app. Contributors confirm each recording is genuine and not altered with generative-AI or post-production tools. No signed capture; Human Archive is not on the C2PA conforming products list. Screen or generated footage is excluded only by contributor confirmation and review."}, "time": {"level": "claimed", "method": "Session metadata records when a recording was collected; rig video and IMU share a hardware clock.", "unknown": "The hardware clock aligns streams to each other; no signed or independently time-stamped capture time is documented."}, "location": {"level": "claimed", "method": "Collection metadata includes the environment and location; the app uses device location only if the contributor grants permission.", "unknown": "No location proof is documented, and app location is optional."}, "content": {"level": "claimed", "method": "App clips: on-device hand-visibility check, about one frame a minute sent to Google's Gemini API to confirm the assigned task, human review of flagged clips and random audits. Workplace footage: a QA model cuts and filters sessions, then annotators verify clips and labels and an independent reviewer approves them (100+ annotators; 0.763 inter-annotator agreement on boundaries).", "unknown": "Acceptance rates and per-dataset QA results are not published beyond Ego500's agreement figure. Frames sent to Gemini may be reused by Google to improve its own products (privacy policy \u00a74.3)."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms individual captures. HARD-1 and HARD-2 are Human Archive's own robot benchmarks of data usefulness, not checks of provenance."}}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Human Archive says it is 'working alongside leading AI labs to scale human video/sensor data' and offers an 'OTS catalog'; it publishes no turnaround for new collection."}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Fill in the contact form at humanarchive.ai/contact.html (name, email, notes), book a call through the cal.com link on the home page, or email team@humanarchive.ai or raj@humanarchive.ai."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No Human Archive server in the official MCP Registry (searched 'human-archive' and 'humanarchive', 2026-10-26)."}, "notes": "No public API or API docs. Buyers are offered a 'researcher dashboard and samples' after contact. humanarchive.ai returns 404 for /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"notes": "No buyer payment method is published; terms are set in a written customer agreement."}, "capture": {"by": "people", "consent": {"documented": true, "method": "Published for the contributor app only: contributors accept a consent confirmation before each recording session, which is logged with the task and session metadata; Voice Exchange adds a one-time voice consent and a per-call consent from both parties. Video tasks must show only the contributor's own hands and task, never other people or children; recording at work needs the employer's written permission and must not capture customers. Contributors can delete their account, but approved clips are de-identified and kept in datasets.", "evidence_url": "https://humanarchive.ai/rules.html", "unknown": "Human Archive publishes nothing on how workers at partner businesses, who wear its head-mounted rigs at work, are told about or consent to recording. Its co-founder told Inc42 that partner contracts require partners to obtain informed consent and that it is 'the partner companies' responsibility to educate their employees'; TechCrunch wrote that 'it is not clear what information Human Archive gives workers about how their footage is used'. For home-service visits, press reports say customers choose a discounted recorded visit or a full-price unrecorded one; that flow is not published by Human Archive."}, "worker_pay": {"model": "App: a payout per approved submission, shown on each task. Partner workers: an hourly rate, per press reports.", "disclosed": false, "notes": "App payouts are shown in the app only, and unapproved or later-revoked submissions earn nothing. TechCrunch reports a $1/hour base rate, against \u20b9250\u2013400 (about $2.63\u20134.20) an hour reported for other firms; the co-founder told Inc42 the average is '$1-10 per hour', which Inc42 could not verify. Voice contributors who join through a distributor network are paid by that network."}}, "requester": {"checks": "The buyer contact form asks only for a name, email and notes.", "unknown": "Human Archive publishes no check of who a buyer is or what the data is for, beyond the written customer agreement described in its privacy policy."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Human Archive (Human Archive, Inc., San Francisco; $8.2M seed, May 2026) collects first-person data of real work for robot learning. Workers at partner businesses, mostly in India, wear Human Archive's head-mounted rigs (stereo cameras, IMU, plus tactile gloves, mocap suits and wrist cameras), and paid contributors record tasks in its iOS app. It processes the footage into 3D hand pose, SLAM poses and dense action labels, and licenses datasets, from an off-the-shelf catalogue or collected with labs, to AI and robotics companies under written agreements. Prices, turnaround and the buyer licence are not published. Consent is published for app contributors but not for workers recorded through partner businesses.", "sources": [{"claim": "Data and deployments infrastructure for physical AI; works with AI labs to scale human video/sensor data; OTS catalog; contact form and cal.com booking; team@humanarchive.ai", "url": "https://humanarchive.ai/"}, {"claim": "Buyer contact form fields (name, email, notes); 'researcher dashboard and samples'", "url": "https://humanarchive.ai/contact.html"}, {"claim": "Contributor licence (perpetual, irrevocable, non-exclusive, sublicensable; for ML and robotics training; included in datasets licensed to customers); contributors keep ownership; payout only on approval; 18+; not offered in IL, TX, WA, OR; approved clips de-identified and kept on deletion; video tasks have no audio", "url": "https://humanarchive.ai/terms.html"}, {"claim": "Per-session consent confirmation logged; metadata on how, when and where recorded; depth, IMU and calibration data; Gemini frame checks; Stripe and Circle payout and KYC status; customers licensed under written agreements restricting use, banning re-identification, requiring confidentiality; optional location permission", "url": "https://humanarchive.ai/privacy.html"}, {"claim": "Recording rules: only own hands and task, no other people or children; employer written permission at work; genuine, unaltered recordings; on-device, AI-frame, human and random-audit review", "url": "https://humanarchive.ai/rules.html"}, {"claim": "Voice Exchange: audio-only, one-time and per-call consent, separate voice datasets, distributor-network contributors paid by the network", "url": "https://humanarchive.ai/voice-rules.html"}, {"claim": "App recording flow (double-press volume button; nothing leaves the device until Submit); payouts after approval", "url": "https://humanarchive.ai/help.html"}, {"claim": "iOS app by Human Archive, Inc.: pays for approved contributions; payout shown on each task; version 1.2.0", "url": "https://apps.apple.com/us/app/human-archive/id6779010544"}, {"claim": "Ego500: 500 hours across 60+ work environments; custom multi-camera hardware deployed in workplaces; metadata including location; QA model, annotator verification, EgoBlur face blurring, independent reviewer; 100+ annotators; 0.763 inter-annotator agreement", "url": "https://ego500.humanarchive.ai/"}, {"claim": "Head-worn rig: global-shutter stereo pair with hardware-synchronised IMU and shared hardware clock", "url": "https://ha-slam.humanarchive.ai/"}, {"claim": "HARD-2: 100 hours from the OTS catalog; self-run robot benchmark; collection rigs multi-camera, 60 fps, global shutter", "url": "https://humanarchive.ai/hard2.html"}, {"claim": "HARD-1: egocentric stereo video with 3D hand pose and world-frame SLAM; self-run benchmark", "url": "https://humanarchive.ai/hard1.html"}, {"claim": "$8.2M seed; 1,000+ active headsets; 50+ devices; tactile gloves, mocap suit, wrist cameras with RGB-D; $1/hour base pay; customers choose a discounted recorded visit or a full-price unrecorded one; unclear what workers are told; India first, expanding to Southeast Asia and US pilots", "url": "https://techcrunch.com/2026/05/26/human-archive-taps-into-indias-services-startups-to-collect-data-for-physical-ai/"}, {"claim": "120+ partnerships, mostly India; partners contractually responsible for informed consent; '$1-10 per hour' average (unverified by Inc42); tens of thousands of hours collected; Snabbit controlled-environment test and NDA", "url": "https://inc42.com/startups/inside-human-archive-the-startup-recording-indian-workers-to-train-the-worlds-robots/"}, {"claim": "Wing VC led the $8.2M seed; rigs capture RGB, audio, stereo depth, tactile, mocap, wrist cameras; network in the U.S., India and beyond; data ships to robotics labs", "url": "https://www.wing.vc/content/human-archive-the-common-crawl-for-embodied-intelligence"}, {"claim": "No Human Archive server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=human-archive"}, {"claim": "Human Archive not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Privacy \u00a74.3: frames sent to Gemini API covered by terms permitting the provider to use submitted data to improve its products; \u00a76.1 customer agreements restrict use to agreed purposes", "url": "https://humanarchive.ai/privacy.html"}]}, {"id": "human-for-ai", "name": "Human For AI", "provider_url": "https://humanforai.dev", "status": "unclaimed", "adapter": "human_for_ai", "short": "One pseudonymous human operator who takes agent tasks by API or MCP, free during a pilot. Signed text receipts.", "summary": "A one-person human-in-the-loop service (\"Operator 001\", pseudonymous) that AI agents call over a keyless REST API or a remote MCP server. Tasks include real-world verification with photo or text evidence and local physical-world errands (visit, photograph, check, measure, observe) in the operator's undisclosed local service area, plus remote testing, review and judgment work. Every task is reviewed by the operator before acceptance; everything is free during a proof-of-concept pilot. Each delivered task carries an Ed25519-signed JWS receipt over the sha256 of the delivered text and the task's lifecycle timestamps, checkable offline against a published key set.", "tags": ["agent-native", "api", "mcp", "keyless", "free pilot", "human task", "single operator", "local inspection", "photo evidence", "real-world verification", "signed receipts", "jws"], "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["real-world verification with photo or text evidence (place, product, price, business, claim)", "local physical-world tasks in the operator's service area: visit, photograph, deliver, check, measure, observe", "on-site photos and observation of a location at a specific time", "counts and documentation on site (dimensions, quantities, queue lengths, foot traffic, posted notices)", "manual data collection, labeling and research", "remote work: product/app testing, AI output review, human judgment, decision escalation"]}, "pricing": {"model": "free proof-of-concept pilot", "from_usd": 0, "unit": "task", "notes": "Every service is $0 per task during the pilot (the only tier); budget_usd is accepted and ignored. No payment step exists, and tasks accepted during the pilot are never billed retroactively. Paid tiers may come later and would be announced on /pricing and in /agent.json first."}, "latency": {"typical": "First response within 12 hours; typical response about 4 hours", "notes": "Response targets are 'honest targets, not a contractual SLA'. Working hours every day 19:00-00:00 operator local time; urgent tasks by prior arrangement only. Physical errands are scheduled after acceptance, so delivery time is not stated. human.json also lists working_days Sunday-Thursday, which conflicts with 'any day of the week' elsewhere."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Provider: 'First response comes within 12 hours, any day of the week; the errand itself is scheduled after acceptance.' No delivery time is stated.", "formats": ["text_report", "text_report_with_photos", "video", "structured_json", "annotated_screenshots"]}, "freshness": {"mode": "on_demand", "typical_age": "Captured after the operator accepts the task", "notes": "No archive. Deliverables state what was observed, what was inferred and the operator's confidence."}, "coverage": {"regions": ["Operator's local service area (undisclosed)"], "notes": "One person. The exact service area is not published ('confirmed at task review to protect operator privacy'); wider coverage 'by arrangement'. Out-of-reach locations are declined or counter-proposed at review. English only. Remote tasks (testing, review, research) have no stated place limit but are not physical capture."}, "licensing": {"summary": "Terms (effective 2026-07-19): once delivered, the deliverable is the requester's, who 'receives all rights to use, modify, and republish it, for any lawful purpose'. The operator keeps internal records but does not publish task content. Resale and AI training are not named. Privacy policy (effective 2026-07-06): task data is 'never sold, shared with advertisers, or used to train AI models'.", "buyer_owns_output": true, "vendor_trains_on_data": "no"}, "verification": {"human": {"level": "claimed", "method": "The service is one human operator, known only as Operator 001, who reviews and performs every task; the trust page marks 'Real, single human operator' and 'Contactable identity' as true", "evidence_url": "https://humanforai.dev/trust", "unknown": "The operator is deliberately pseudonymous. Third-party identity verification (government ID through an independent provider) is listed as pending, so 'verified human' is the service's own word."}, "application": {"level": "none", "unknown": "No capture app or device attestation is described."}, "camera": {"level": "none", "unknown": "No live-capture rule, camera attestation or C2PA signing is described. Signed receipts cover the delivered text only, not photos or files (media hashing is an open roadmap item)."}, "time": {"level": "claimed", "method": "Physical-task reports come with 'timestamped photos'; each delivered task's receipt signs the task's lifecycle timestamps (submitted, accepted, delivered), verifiable against https://humanforai.dev/.well-known/jwks.json", "evidence_url": "https://humanforai.dev/trust", "unknown": "The provider states the receipt timestamps are 'our own assertion, signed. Nobody outside this service witnessed them'; external anchoring is not built. How photo timestamps are produced is not stated, and the lifecycle times are not the capture time."}, "location": {"level": "none", "unknown": "No GPS stamp, check-in or location check is described; where a photo was taken rests on the operator's report."}, "content": {"level": "claimed", "method": "The operator who does the work writes the deliverable with a confidence block separating what was observed from what was inferred; the signed receipt binds the sha256 of the delivered text so later alteration is detectable", "evidence_url": "https://humanforai.dev/.well-known/agent.json", "unknown": "The receipt proves the text is unaltered and came from humanforai.dev, not that it is true; the terms call deliverables 'assistance, not guaranteed truth'. Photos and files are not covered by the receipt."}, "corroboration": {"level": "none", "unknown": "One operator; no independent second capture or cross-check is offered."}}, "provenance": {"receipt": {"level": "claimed", "method": "Each delivered task carries a compact JWS signed with Ed25519 over the sha256 of the deliverable text and the task's lifecycle timestamps; the public key is at /.well-known/jwks.json.", "evidence_url": "https://humanforai.dev/trust", "unknown": "The provider's own assertion ('Nobody outside this service witnessed them'); it covers the text only (photo hashing is not built), is not bound to your request or a nonce, and is not anchored externally.", "sources": [{"claim": "Ed25519 JWS receipts over the deliverable hash and lifecycle timestamps; key at /.well-known/jwks.json; text only; anchoring not built", "url": "https://humanforai.dev/trust"}]}}, "api": {"available": true, "self_serve": true, "docs_url": "https://humanforai.dev/api", "base_url": "https://humanforai.dev/api/v1", "openapi_url": "https://humanforai.dev/openapi.json", "auth": [{"type": "none", "how_to_get": "No keys, OAuth or accounts. The protected-resource metadata states authentication_not_required: true and no authorization server exists. A task needs a real return channel: a contact_email whose domain is MX-checked, or delivery: 'status_poll' (deliverable returned as text in operator_notes; 1 such task per client per day)."}], "endpoints": [{"action": "list", "method": "GET", "path": "/services", "params": "limit (1-50), cursor", "notes": "Service catalog (11 task types; the catalog is examples, not limits)."}, {"action": "order", "method": "POST", "path": "/tasks", "params": "task_type, description (10-5000 chars) required; location_required, location_detail, deadline (ISO 8601), output_format, contact_email (required unless delivery is status_poll), delivery (email|status_poll), requester; optional Idempotency-Key header", "notes": "Returns 202 with task_id and status_url. Submission is not acceptance: the operator accepts or rejects each task. Duplicates within 24 h return 409."}, {"action": "status", "method": "GET", "path": "/tasks/{task_id}", "notes": "submitted -> accepted -> delivered, or rejected with a reason; status_history, seen_by_operator_at and an operator-set eta. Anyone holding the task_id can read its public status."}, {"action": "fetch", "method": "GET", "path": "/tasks/{task_id}", "notes": "Once delivered: operator_notes (the deliverable text for status_poll tasks), receipt (compact JWS, EdDSA), deliverable_sha256 and receipt_issued_at. Email-delivery deliverables also go to contact_email."}], "sdk": "npm humanforai 0.1.4 (stdio MCP proxy); PyPI humanforai 0.1.0 (client and CLI with verify-receipt); Go module github.com/humanforai/humanforai-go", "rate_limits": "Per-client hourly and daily submission caps plus a global daily pilot capacity (429 with Retry-After, resets 00:00 UTC); RateLimit headers on responses; repeat abusers blocked (403). One small test task is welcome; bulk synthetic submissions get the client blocked.", "mcp": {"remote": "https://humanforai.dev/mcp", "registry_name": "dev.humanforai/humanforai", "auth": "none", "first_party": true, "notes": "Streamable HTTP, stateless, no auth. Tools: get_human_services, submit_human_task, check_task_status, message_human_operator. Registry latest is v0.1.4 with the remote URL and the npm stdio package."}, "notes": "Messages to the operator: POST /api/v1/messages (reply_to email or an https webhook URL; replies signed with HMAC-SHA256) and a pollable thread with a one-time access token. Receipts are issued only for tasks delivered from 2026-07-20, and are re-issued if the operator edits a deliverable. The receipt is a compact JWS over deliverable_sha256 and lifecycle timestamps, not the detached RFC 8785 receipt of the irlpls standard."}, "access": {"cost": "free", "key_required": false, "tested_live": null, "automation_allowed": true, "gate": "none"}, "payment": {"methods": [], "notes": "Nothing to pay during the pilot: no payment step, invoice or card. The service says it never asks for payment, credentials or accounts, and that any such request is not from it."}, "capture": {"by": "people"}, "requester": {"checks": "No account or identity check. Each task needs a working return channel (MX-checked email, or the status-poll path capped at one task per client per day). The operator reviews every task before acceptance and rejects illegal, deceptive, unsafe and privacy-invasive work, explicitly including surveillance of individuals, stalking and doxxing. Rate limits, duplicate detection and a blocklist (on a salted hash of the caller's network address) handle abuse. The terms bind an agent's principal to what the agent submits.", "unknown": "Who the requester is is not checked beyond the return channel; screening rests on one person's review of the task description."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Service summary: one verified human operator, task types, free pilot, no authentication, POST /api/v1/tasks, status_poll path (1/day), Idempotency-Key, first response within 12 hours and typical ~4 hours, English only, signed receipts and what they do not prove, rate limits, MCP tools, npm/PyPI/Go clients, official MCP Registry entry", "url": "https://humanforai.dev/llms.txt"}, {"claim": "Homepage: '1 verified human', first response < 12 hours, free for now, task flow, report/photos/structured JSON delivery", "url": "https://humanforai.dev/"}, {"claim": "Manifest: services, task request schema (location_required, location_detail, deadline, output_format values, delivery), working hours 19:00-00:00 every day, urgent by arrangement, pricing free, anti-abuse rules, rejected task types, global daily capacity, signed_receipts (proves / does_not_prove, available since 2026-07-20, re-issued on edit), roadmap items, operator identity_verified pending", "url": "https://humanforai.dev/.well-known/agent.json"}, {"claim": "Operator 001 is pseudonymous; third-party identity verification planned; exact service area confirmed at task review; physical tasks in the operator's local service area, wider by arrangement; working_days Sunday-Thursday; single-human capacity limits", "url": "https://humanforai.dev/.well-known/human.json"}, {"claim": "Trust page: every task reviewed before acceptance; rejection categories including surveillance of individuals, stalking, doxxing; deliverables carry an observed/inferred/confidence block; operator verification table (real single operator true, third-party ID pending); receipts cover text only, timestamps are the service's own signed assertion; key rotation never exercised", "url": "https://humanforai.dev/trust"}, {"claim": "Terms (effective 2026-07-19): terms bind an agent's principal; free pilot; submission is not acceptance; acceptable use; deliverables are assistance, not guaranteed truth; requester receives all rights to use, modify and republish deliverables; response targets are not a contractual SLA", "url": "https://humanforai.dev/terms"}, {"claim": "Privacy (effective 2026-07-06): data never sold or used to train AI models; abuse counters keyed to a salted hash of the network address; contact-email MX checks; anyone with a task ID can view its public status", "url": "https://humanforai.dev/privacy"}, {"claim": "Pricing: pilot is the only tier at $0 per task; budget_usd ignored; never billed retroactively; paid tiers would be announced first", "url": "https://humanforai.dev/pricing.md"}, {"claim": "No authentication of any kind; anonymous access is the only method; error codes 400/403/404/409/429, never 401", "url": "https://humanforai.dev/auth.md"}, {"claim": "RFC 9728 metadata: authentication_not_required true, no authorization servers, no scopes", "url": "https://humanforai.dev/.well-known/oauth-protected-resource"}, {"claim": "Receipt signing key: Ed25519, kid receipts-2026-07, alg EdDSA", "url": "https://humanforai.dev/.well-known/jwks.json"}, {"claim": "OpenAPI 3.0.3 (v1.9.0): /api/v1/tasks, /api/v1/tasks/{task_id}, /api/v1/messages, /api/v1/services, /api/v1/health; no security schemes; Task fields operator_notes, receipt, deliverable_sha256, receipt_issued_at, status_history", "url": "https://humanforai.dev/openapi.json"}, {"claim": "Physical-world tasks: on-site photos and observation, errands, measure/count/document; coverage confirmed at review; proof is typically a report with timestamped photos; errand scheduled after acceptance", "url": "https://humanforai.dev/use-cases/physical-world-tasks"}, {"claim": "Agent card: remote MCP (streamable HTTP, no auth) with four tools, REST base https://humanforai.dev/api/v1, skills including local_physical_task", "url": "https://humanforai.dev/.well-known/agent-card.json"}, {"claim": "MCP Registry: dev.humanforai/humanforai, latest v0.1.4, remote https://humanforai.dev/mcp, npm stdio package humanforai", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=humanforai"}, {"claim": "npm humanforai latest 0.1.4", "url": "https://registry.npmjs.org/humanforai/latest"}, {"claim": "PyPI humanforai latest 0.1.0", "url": "https://pypi.org/pypi/humanforai/json"}, {"claim": "Public catalog endpoint answers keyless: 11 services, cursor pagination", "url": "https://humanforai.dev/api/v1/services?limit=2"}]}, {"id": "iceye", "name": "ICEYE", "status": "unclaimed", "provider_url": "https://www.iceye.com/", "tags": ["satellite", "satellite imagery", "SAR", "synthetic aperture radar", "radar", "night", "through clouds", "all-weather", "tasking", "dwell", "spotlight", "stripmap", "scan", "earth observation", "remote sensing", "aerial", "api", "global"], "summary": "ICEYE runs a large synthetic aperture radar (SAR) satellite constellation that images through cloud and at night. Its Tasking API v2 is for customers with a contract. They can get a price, check feasibility and task a new capture centred on a point. The capture window is at least 24 hours wide and ends within 14 days. The customer picks the imaging mode (Strip, Scan, Spot, Dwell and their variants), the priority, and how soon products are available after acquisition: 8, 3 or 1 hour.", "capabilities": {"modalities": ["aerial"], "tasks": ["task a new SAR capture centred on a point (or anywhere covering an AOI circle, with aoiRadiusMeters) in an acquisition window at least 24 h wide, ending within 14 days", "imaging modes: STRIPMAP, SCAN, SCAN_WIDE, SPOTLIGHT, SPOTLIGHT_EXTENDED_AREA, SPOTLIGHT_FINE, SPOTLIGHT_EXTENDED_DWELL (and _FINE, _PRECISE), as allowed by contract", "price a task before ordering (amount and currency, minor units), on contracts with a pricing plan", "feasibility check for a list of candidate tasks (FEASIBLE / INFEASIBLE, and budget fit where priced)", "priority BACKGROUND or COMMERCIAL (stated >90% statistical reliability)", "product availability SLA: 8 h (default), 3 h, or 1 h in certain regions after acquisition", "product types GRD, GRD-COG, SLC, SLC-COG, QLK, SICD, SIDD, CSI, VID as the contract and mode allow", "Object Detection and Identification derivative ODI (formerly Detect & Classify; replaces DC-ATR, which is removed 2026-11-15) on Dwell modes and SPOTLIGHT_FINE, where enabled", "planned and actual imaging time and footprint via the task scene endpoint", "delivery to SFTP or S3 locations, and webhook notifications on task changes"]}, "pricing": {"model": "per task, set by contract (region, priority, imaging mode, SLA, exclusivity, EULA)", "from_usd": 0, "unit": "per tasked capture (price not published)", "notes": "from_usd 0 means not published, not free. Each contract has a fixed pricing model, and the same task can cost different amounts under different contracts. GET /tasking/v2/price returns the price in minor currency units, but only on contracts with a pricing plan (hasPricingPlan). The docs' example of 529199 USD minor units (about $5,292) is only an example. Cancelling is free within 1 hour of submission or more than 72 h before the window. After that it costs 10% of the order value at 72-48 h, 20% at 48-24 h and 100% under 24 h, and a task cannot be cancelled once the window has started."}, "latency": {"typical": "Products available 8 h after acquisition by default, 3 h or 1 h with a faster SLA; acquisition happens somewhere in a window of at least 24 h that cannot start immediately", "notes": "The minimum lead time before collection is 12 h for COMMERCIAL priority and 24 h for BACKGROUND (Product Specification, Table 3-2). The scheduler decides ACTIVE or REJECTED within 20 minutes of submission. The SLA counts from the end of acquisition and leaves out download or delivery time. Non-SLA products usually follow within about an hour, with no guarantee. The 1 h SLA is Commercial priority only, needs a feasibility pass, is not available for Dwell modes, and is 'guaranteed' for over 80% of feasible tasks."}, "coverage": {"regions": ["Global (subject to orbit passes, contract and scheduling)"], "notes": "SAR works through cloud and at night. Prices vary by region with demand. The contract decides which regions, imaging modes, priorities and exclusivity you may use, and the 1-hour SLA applies only in certain regions.", "areas": ["*"]}, "licensing": {"summary": "Each task picks a STANDARD or GOVERNMENT EULA, and the full terms are in the customer's contract. ICEYE US publishes its EULA (updated 2 December 2025). It grants a non-exclusive, non-transferable, non-sublicensable licence for the End User's internal use only. It forbids distributing, sublicensing, selling, publishing or making products public, and forbids commercial use. ICEYE keeps all title to products and to the parts of them inside the customer's derivatives. 'Data Derivatives' are outputs that keep no SAR pixels or sensor or ephemeris data and cannot be reversed back to them. The customer owns these outright and may use them for any purpose, credited 'Powered by ICEYE'. AI or ML training is not mentioned. Exclusivity: PUBLIC images go into ICEYE's public catalog 14 days after acquisition, where other customers can buy them. PRIVATE images are withheld from that catalog. The Product Specification says permanently, and the API docs say for the contract's agreed period.", "resale": "forbidden", "buyer_owns_output": false}, "freshness": {"mode": "on_demand", "typical_age": "Captured in your window, available hours after acquisition", "notes": "ICEYE also sells past images from its archive catalog, where new images appear at least 14 days after acquisition. irlpls lists ICEYE only for new tasked captures."}, "api": {"available": true, "docs_url": "https://docs.iceye.com/constellation/api/tasking/", "base_url": "https://platform.iceye.com/api", "auth": [{"type": "oauth2", "header": "Authorization", "env_var": "ICEYE_CLIENT_ID", "how_to_get": "ICEYE issues a TOKEN_URL, CLIENT_ID and CLIENT_SECRET during onboarding on a contract. To start onboarding, fill in the SAR data contact form at https://www.iceye.com/contact/sar-data. POST grant_type=client_credentials to the TOKEN_URL with HTTP Basic auth (client id and secret) to get a bearer token that lasts 3600 s. v2 does not support the older username and password flow.", "scopes": ["catalog.read", "deliveries.read", "orders.read", "activities.read", "contracts.read", "bundles.read"], "dynamic_registration": false, "transport": "rest"}], "endpoints": [{"action": "list", "method": "GET", "path": "/company/v1/contracts", "notes": "Your contracts: allowed imaging modes, priorities, SLAs, exclusivity, delivery locations, start/end dates, and hasPricingPlan."}, {"action": "list", "method": "GET", "path": "/company/v1/contracts/{contractID}/summary", "notes": "Budget: consolidatedSpent, onHold, optional spendLimit (minor units). Only for contracts with a pricing plan; available funds = spendLimit - consolidatedSpent - onHold."}, {"action": "quote", "method": "GET", "path": "/tasking/v2/price", "params": "contractID, pointOfInterest[lat], pointOfInterest[lon], imagingMode; optional acquisitionWindow, exclusivity, priority, sla, eula, incidenceAngle, lookSide, passDirection, reference", "notes": "Returns {amount, currency}, amount in minor units; 403 if the parameters are not allowed by the contract or the contract has no pricing plan."}, {"action": "quote", "method": "POST", "path": "/tasking/v2/feasibility", "params": "array of tasks with the createTask fields (all with the same priority)", "notes": "Returns FEASIBLE / INFEASIBLE per task; also checks budget when the contract has a pricing plan."}, {"action": "order", "method": "POST", "path": "/tasking/v2/tasks", "params": "contractID, pointOfInterest {lat, lon}, acquisitionWindow {start, end}, imagingMode; optional reference, priority, sla, exclusivity, eula, incidenceAngle, lookSide, passDirection, aoiRadiusMeters, productTypes, derivativeProductTypes, deliveries, notifications", "notes": "Returns 201 with status RECEIVED; the scheduler sets ACTIVE or REJECTED within 20 minutes. 400 ERR_INSUFFICIENT_FUNDS if the contract budget is too low. No idempotency key is documented; the free-text reference field can tag tasks."}, {"action": "status", "method": "GET", "path": "/tasking/v2/tasks/{taskID}", "notes": "Status RECEIVED, ACTIVE, FULFILLED (SLA products ready), DONE (all products), or terminal REJECTED, CANCELED, FAILED."}, {"action": "status", "method": "GET", "path": "/tasking/v2/tasks/{taskID}/scene", "notes": "Planned (ACTIVE) or actual (FULFILLED/DONE) imaging time, incidence angle, look side, pass direction and footprint."}, {"action": "list", "method": "GET", "path": "/tasking/v2/tasks", "params": "limit, cursor, contractID, createdAfter, createdBefore and filters", "notes": "Your tasks."}, {"action": "fetch", "method": "GET", "path": "/tasking/v2/tasks/{taskID}/products", "params": "cursor", "notes": "STAC-like items with signed download URLs that expire after 1 hour; available once the task is FULFILLED or DONE. /products/{productType} returns one type."}, {"action": "fetch", "method": "POST", "path": "/catalog/v2/search", "notes": "STAC items; use only to fetch metadata for your own tasked captures (collections incl. private/tasking), not as an archive route."}], "rate_limits": "Not published in the pages read.", "self_serve": false, "notes": "To cancel, PATCH /tasking/v2/tasks/{taskID} with {\"status\": \"CANCELED\"} while the task is RECEIVED or ACTIVE (charges in pricing.notes). Webhooks are registered with the Notifications API. Delivery to SFTP or S3 uses config IDs set up by ICEYE. Every tasking request needs a contractID. The API docs show paths without the /api prefix, which is part of base_url. ICEYE publishes an open-source demo app on GitHub (github.com/iceye-ltd), but no official SDK was found.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No ICEYE MCP server is in the official MCP Registry (search 'iceye' returned 0 servers, 2026-10-26)."}}, "adapter": "iceye", "verification": {"human": {"level": "none", "unknown": "ICEYE satellites capture the images, not people. Whether a person reviews a capture before delivery is not stated."}, "application": {"level": "none", "unknown": "No public signing or checksum scheme for delivered products was found. Download URLs are signed for access only, not to prove where the content came from."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Products come from ICEYE's own SAR satellites in a stated imaging mode, with sensor and orbit metadata. Which satellite and sensor took the image is ICEYE's word. No cryptographic provenance is published."}, "time": {"level": "claimed", "method": "The task scene reports the actual imaging start and end, and product items carry start_datetime and end_datetime inside the requested window", "unknown": "No independent or signed timestamp. How acquisition times are validated is not documented."}, "location": {"level": "claimed", "method": "Tasks target a WGS 84 point. Products are geolocated using refined orbits and calibrated against ground-surveyed corner-reflector sites. ICEYE gives a fleet worst-case RMSE of 6 m, and its June-November 2025 campaign at Rosamond (521 images) found mean errors under 0.4 m.", "unknown": "The accuracy figures are ICEYE's own statistics, not proof for a single delivered image, and the campaign's raw data are not public. Error grows with terrain-model uncertainty."}, "content": {"level": "none", "unknown": "No public method for detecting manipulated SAR imagery or proving what a product shows. Within 14 days you can report that a product does not meet the spec."}, "corroboration": {"level": "none", "unknown": "No documented cross-check of a delivered capture against other sensors"}}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "From the Create Task and Product Specification docs: products are available SLA_8H (default), SLA_3H or SLA_1H after acquisition. The window must start at least 12 h ahead (COMMERCIAL) or 24 h ahead (BACKGROUND), be at least 24 h wide and end within 14 days, so the time from order to product is usually more than a day."}, "payment": {"methods": ["invoice"], "agent_can_pay": false, "notes": "The contract has a spend limit, and a task fails with ERR_INSUFFICIENT_FUNDS if it would go over. Under the ICEYE US direct-sales terms (v1.0, April 2021), fees are invoiced every two weeks and due within 30 days, in euros unless the order says otherwise. ICEYE has a separate invoicing process, and no card or agent payment rail was found."}, "capture": {"by": "devices"}, "requester": {"checks": "Customers are onboarded by ICEYE's COSP team and contract with ICEYE, and contracts set what each customer may task. Under the US direct-sales terms, ICEYE may accept or reject any order at its sole discretion. Orders may be subject to government regulatory review, and ICEYE can modify or terminate an order to comply. Customers must follow export controls and must not distribute products to sanctioned parties. The EULA choice (STANDARD or GOVERNMENT) depends on the type of end user.", "unknown": "What due diligence ICEYE runs on new customers during onboarding (KYC, end-use or target screening) is not published."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "contract", "notes": "automation_allowed rests on the documented tasking API; the separate ICEYE API licence agreement linked from the EULA could not be read, so its terms are unchecked."}, "sources": [{"claim": "2026-10-28 changelog: Detect & Classify renamed Object Detection and Identification; new ODI derivative product type replaces DC-ATR, deprecated and removed on November 15, 2026; ODI results use GeoJSON schema v6", "url": "https://docs.iceye.com/constellation/api/other-resources/changelog/"}, {"claim": "POST /api/tasking/v2/tasks; required pointOfInterest, acquisitionWindow, imagingMode; imaging mode list; window rules (not immediate, >= 24 h, end <= 14 days); priority BACKGROUND/COMMERCIAL (90%); SLA_8H/3H/1H; exclusivity PUBLIC/PRIVATE; EULA STANDARD/GOVERNMENT; productTypes, DC-ATR derivatives, aoiRadiusMeters, SFTP/S3 deliveries, webhooks; 201 RECEIVED; ERR_INSUFFICIENT_FUNDS", "url": "https://docs.iceye.com/constellation/api/tasking/create-task/"}, {"claim": "GET /tasking/v2/price parameters and {amount, currency} response in minor units; 403 when parameters not allowed or no pricing plan", "url": "https://docs.iceye.com/constellation/api/tasking/get-task-price/"}, {"claim": "POST /tasking/v2/feasibility takes a list of tasks (same priority); returns FEASIBLE per item; checks budget on priced contracts", "url": "https://docs.iceye.com/constellation/api/tasking/check-feasibility/"}, {"claim": "Scheduler sets ACTIVE or REJECTED within 20 minutes; createTask checks syntax, contract feasibility and budget; availability window formula; standard SLA 8 h; non-standard products typically within 1 h after, no guarantee", "url": "https://docs.iceye.com/constellation/api/tasking/"}, {"claim": "OAuth2 client credentials, tokens 60 minutes; GET /company/v1/contracts response; feasibility FEASIBLE/INFEASIBLE; task statuses; GET /tasking/v2/tasks/{id}/scene and /products; signed URLs expire after 1 hour; PATCH cancel", "url": "https://docs.iceye.com/constellation/api/how-to/build-tasking-application/"}, {"claim": "TOKEN_URL, CLIENT_ID, CLIENT_SECRET provided by ICEYE during onboarding; Basic auth to token endpoint; expires_in 3600; scope list; base URL https://platform.iceye.com/api", "url": "https://docs.iceye.com/constellation/api/getting-started/authentication/"}, {"claim": "First call to https://platform.iceye.com/api/company/v1/contracts with credentials received from ICEYE", "url": "https://docs.iceye.com/constellation/api/getting-started/quickstart/"}, {"claim": "v2.0 requires Client Credentials, obtained by contacting ICEYE; v2 endpoint list incl. GET /tasks, GET /tasks/{id}, PATCH cancel, /products/{productType} enum, scene footprint, catalog v2 search", "url": "https://docs.iceye.com/constellation/api/migration/api-reference-guide/"}, {"claim": "Contract pricing model immutable; price factors region, priority, imaging mode, SLA, exclusivity, EULA; cancellation charges; minor currency units", "url": "https://docs.iceye.com/constellation/api/tasking/pricing-model/"}, {"claim": "Budget summary: consolidatedSpent, onHold, spendLimit; insufficient funds rejects tasks", "url": "https://docs.iceye.com/constellation/api/company/get-summary/"}, {"claim": "Contracts set by ICEYE representative; hasPricingPlan; separate process for invoicing", "url": "https://docs.iceye.com/constellation/api/company/get-contract/"}, {"claim": "Imaging time accuracy +/- 90 s by lead time; reliability estimates only for COMMERCIAL priority", "url": "https://docs.iceye.com/constellation/api/tasking/get-task-scene/"}, {"claim": "STAC catalog v2 search; tasked images in private collection", "url": "https://docs.iceye.com/constellation/api/how-to/build-catalog-application/"}, {"claim": "Onboarding via SAR data contact form and COSP team; minimum time before collection 12 h (Commercial) / 24 h (Background); Commercial >90% reliability; Public Catalog listing 14 days after acquisition, Private Catalog permanently withheld; cancellation policy; 14-day non-compliance return window", "url": "https://sar.iceye.com/latest/productspecification/tasking/"}, {"claim": "Archive catalog images available at least 14 days after acquisition", "url": "https://sar.iceye.com/latest/productspecification/catalog/"}, {"claim": "Calibration against ground-surveyed corner-reflector sites; fleet worst-case RMSE 6 m", "url": "https://sar.iceye.com/latest/foundations/geospatialAccuracy/"}, {"claim": "June-November 2025 Rosamond campaign, 521 images; fleet mean range and azimuth error under 0.4 m", "url": "https://sar.iceye.com/latest/foundations/validation/geospatialValidation/"}, {"claim": "ICEYE US EULA (2 Dec 2025): internal-use-only, non-transferable, non-sublicensable licence; no sale, distribution or commercial use; ICEYE retains ownership; Data Derivatives owned by End User for any purpose; attribution", "url": "https://iceye.us/end-user-license-agreement"}, {"claim": "ICEYE US direct-sales terms v1.0 (April 2021): orders accepted or rejected at ICEYE's discretion; regulatory review; invoiced every two weeks, due in 30 days; payment in euros; export control and sanctions obligations", "url": "https://legal.iceye.com/direct_sales_us_tc/ICEYE%20US%20INC%20-%20Direct%20Sales%20-%20Product%20and%20Service%20Terms%20and%20Conditions%20Version%201.0%20-%20April%202021.pdf"}, {"claim": "ICAS 'Built for automation: run machine-to-machine scripts'; tasking, status and delivery automated", "url": "https://www.iceye.com/defense-and-intelligence/sar-data/api"}, {"claim": "Contact form for SAR data customers (onboarding entry point)", "url": "https://www.iceye.com/contact/sar-data"}, {"claim": "Dwell Precise mode provides 25 cm resolution (press coverage, October 2024)", "url": "https://www.microwavejournal.com/articles/42786-iceye-announces-new-dwell-precise-imaging-mode-providing-25-cm-resolution"}, {"claim": "No ICEYE server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=iceye"}, {"claim": "1 h SLA Commercial only, feasibility pass, not for Dwell modes, over 80% of feasible tasks", "url": "https://sar.iceye.com/latest/productspecification/tasking/"}, {"claim": "EULA footer links a separate API licence agreement (not read)", "url": "https://iceye.us/end-user-license-agreement"}], "updated": "2026-10-28", "spec_version": "2026-10-26", "short": "Radar satellites tasked by API on a contract, with price and feasibility checks, products 1-8 hours after capture.", "capability": "com.irlpls.capture.card", "expires": "2027-10-27"}, {"id": "kled", "name": "Kled AI", "provider_url": "https://www.kled.ai", "status": "unclaimed", "short": "A consumer app whose ID-checked contributors capture photos, video and audio to a lab's spec, claimed in under 72 hours.", "tags": ["egocentric video", "first-person video", "crowd", "contributors", "mobile app", "training data", "custom collection", "consented", "audit ledger"], "capabilities": {"modalities": ["photo", "video", "audio"], "tasks": ["custom capture to a spec built from 108 task templates (camera, microphone, screen recording, touch, keyboard)", "egocentric hand-task video (e.g. reorganizing a room, two-handed repair)", "multi-view object photos (the same object from every angle)", "native conversational speech in rare languages"]}, "pricing": {"model": "Quote", "from_usd": 0, "unit": "dataset", "notes": "Not published. The dataset request form asks for a budget band (under $10K, $10K-50K, $50K-250K, $250K+)."}, "latency": {"typical": "Under 72 hours to build and deploy a task to contributors; Kled also says any consumer dataset can be collected in under 72 hours (provider claim)", "notes": "Kled V3 post, 30 Sep 2026; no SLA. The request form lets the buyer set the date the data is needed by."}, "freshness": {"mode": "mixed", "typical_age": "Task captures are recorded after the task is deployed", "notes": "The catalogue also sells 'Existing files' from contributors' camera rolls; only 'Task capture' (made to order) is a commission."}, "coverage": {"regions": ["Southeast Asia", "Sub-Saharan Africa", "North America", "Europe"], "notes": "Kled says its contributors are 'across the US, Southeast Asia and Europe'. Its Trace ledger, by receipt volume, shows Southeast Asia 74.5%, Sub-Saharan Africa 22.7%, North America 2%, EU 0.4%, MENA 0.3%, Latin America 0.1%. Catalogue task-capture datasets list '100+ countries'. Kled can route contributors to a region (e.g. 'egocentric video from Southeast Asia this week')."}, "licensing": {"summary": "Contributors grant Kled a perpetual, irrevocable, worldwide licence, sublicensable through multiple tiers and exclusive to Kled for AI and ML training. Buyers receive 'a license written for model training'; catalogue datasets carry a 'non-exclusive commercial training license' ('train and ship commercial models'), and exclusivity and term are negotiable. The buyer rights come from product-page copy ('Use it to train and ship commercial models'), not a published contract: the Terms of Service contain no buyer licence. The buyer licence text itself is not public; resale, buyer ownership and Kled's own reuse of delivered data are not stated.", "ai_training": "allowed"}, "verification": {"human": {"level": "claimed", "method": "Government ID checked at onboarding; active liveness challenge at every contribution session; each Trace receipt carries the contributor's KYC status (99.9% of receipts from verified contributors).", "unknown": "ID results are not public; only an opaque per-app ID reaches the ledger, and the KYC status on a receipt is Kled's own assertion. The Trace audit page names Didit as the KYC vendor, but no independent audit of the checks is linked.", "evidence_url": "https://trace.datafdn.org/audit/kled"}, "application": {"level": "none", "unknown": "Task captures are recorded in the Kled app ('Capture Tool: Phone camera (in app)') and the Camera-Original Phone Photos set is 'never imported from a camera roll', but no device or app attestation is published, and the catalogue also contains camera-roll uploads. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Camera-original files with EXIF kept; terms ban AI-generated content; the FD 1.0 fraud model screens every upload for AI-generated, internet-sourced, edited and duplicate files. FD 1.0 results are from Kled's internal evaluations only; no C2PA signing and no per-file detector result is published."}, "time": {"level": "claimed", "method": "Each accepted file gets a Trace receipt within seconds; anyone can look up a file's fingerprint at trace.datafdn.org/verify.", "unknown": "A receipt shows when the file was registered, not when it was captured; which chain anchors Trace is not documented. Trace's integration guide says the on-chain tx_hash stays empty until the DATA Foundation broadcasts, and names no chain, so the anchor cannot yet be checked independently."}, "location": {"level": "claimed", "method": "GPS and EXIF are kept in Kled's systems; receipts carry only the contributor's region and GPS existence flags.", "unknown": "GPS values are never public; ledger resolution is 'never finer than country / state'."}, "content": {"level": "claimed", "method": "Every submission is scored for task relevance and quality before acceptance, plus consent checks and masking of faces and personal details; task templates include examples of accepted and rejected submissions.", "unknown": "Review criteria and per-dataset rejection data are not published beyond headline QA pass rates."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms individual captures; Trace is run by The Data Foundation, which invested $3M in Kled."}}, "provenance": {"custody": {"level": "claimed", "method": "Each accepted file gets a receipt on The Data Foundation's Trace ledger (content SHA-256 fingerprint, registration time, consent version, KYC status, payout); later changes and revocations append lifecycle events. Anyone can look up a fingerprint at trace.datafdn.org/verify.", "unknown": "A registration and lifecycle record, not per-hop custody. The on-chain tx_hash stays empty until the DATA Foundation broadcasts and no chain is named, so the anchor cannot be checked independently; Kled's signature on submissions is optional. Trace is run by The Data Foundation, which invested in Kled.", "sources": [{"claim": "Trace integration: tx_hash empty until broadcast; content SHA-256 is the searchable hash; signatures optional", "url": "https://docs.datafdn.org/trace/integration"}, {"claim": "Every receipt onchain via Trace; revocation appends a lifecycle event", "url": "https://trace.datafdn.org/audit/kled"}]}}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "'Any consumer dataset that can exist, can now be collected from physical reality in under 72 hours' and 'deployed to 500,000+ contributors within 72 hours' (Kled V3 post, 30 Sep 2026)."}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Submit a dataset request at kled.ai/datasets or contact sales; customers sign in at the Enterprise Portal (enterprise.kled.ai). Kled says self-serve task design is coming 'soon'."}], "mcp": {"remote": null, "registry_name": null, "notes": "No Kled server in the official MCP Registry (searched 'kled', 2026-10-26)."}, "notes": "No public API docs. Dataset pages offer a 'Copy .md' button that exports specs and licence terms for an AI assistant."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract", "notes": "Kled's Terms of Service \u00a74.2 ban bots, scrapers and ML training on the consumer Services unless agreed with Kled; buyer work is by agreement, so automation_allowed is left unstated."}, "payment": {"notes": "No buyer payment method is published; terms are set with sales."}, "capture": {"by": "contributors"}, "requester": {"checks": "The dataset request form verifies the requester's email with a one-time code and a CAPTCHA.", "unknown": "Kled publishes no check of who a buyer is or what a commission is for."}, "attestations": [{"verifier": "Trail of Bits", "scope": "security and privacy audit of Kled", "result": "Completed May 2026 (stated on Kled's audit portal; no report published by Trail of Bits)", "url": "https://trace.datafdn.org/audit/kled"}], "summary": "A consumer app whose 500,000+ opt-in contributors (company figure) capture photos, video and audio to a buyer's spec, built from 108 task templates and claimed in under 72 hours. Contributors are ID-checked via Didit and pass a liveness check each session; uploads are screened by Kled's fraud model, and each accepted file gets a public receipt on the Trace audit ledger (consent version, KYC status, payout). Buyers get a model-training licence. Ordering is through sales; self-serve is announced as coming.", "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "sources": [{"claim": "500,000+ opt-in contributors across the US, SEA and Europe; 108 templates; collection and deployment in under 72 hours; self-serve 'soon'; FD 1.0 fraud model; relevance and quality scoring; regional routing", "url": "https://www.kled.ai/blog/kled-v3-is-here"}, {"claim": "Custom order flow (spec, contributors capture, QA, consent checks, face masking); delivery with consent records and a licence for model training; request form fields (budget bands, licence type, email verification)", "url": "https://www.kled.ai/datasets"}, {"claim": "Task-capture dataset: in-app phone camera, non-exclusive commercial training licence, exclusivity negotiable, 100+ countries", "url": "https://www.kled.ai/datasets/fix-something-with-tools-hands-in-shot"}, {"claim": "Contributor licence: perpetual, irrevocable, multi-tier sublicensable, exclusive to Kled for AI/ML training; Data Customers train AI; no AI-generated content", "url": "https://www.kled.ai/terms-of-service"}, {"claim": "Submitted content is licensed or sold to third parties to train AI; KYC uses government ID and biometric data", "url": "https://www.kled.ai/privacy-policy"}, {"claim": "ID KYC (provider not named on this page), liveness each session, per-receipt KYC and payout status, region mix, GPS/EXIF as existence flags only, Trail of Bits audit May 2026", "url": "https://trace.datafdn.org/audit/kled"}, {"claim": "Public file-fingerprint and dataset lookup against Trace receipts", "url": "https://trace.datafdn.org/verify"}, {"claim": "The Data Foundation (Trace operator) invested $3M in Kled", "url": "https://www.kled.ai/blog/the-data-foundation-invests-3m-in-kled"}, {"claim": "Request Dataset, Contact and Enterprise Portal links", "url": "https://www.kled.ai"}, {"claim": "No Kled server in the MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=kled"}, {"claim": "ToS \u00a71.1(b) contributor licence exclusive to Kled; \u00a74.2 bans bots, scrapers and ML training on the Services unless agreed", "url": "https://www.kled.ai/terms-of-service"}, {"claim": "Dataset page: 'Use it to train and ship commercial models. Exclusivity is negotiable.'; non-exclusive rights", "url": "https://www.kled.ai/datasets/fix-something-with-tools-hands-in-shot"}, {"claim": "Trace integration guide: tx_hash empty until the DATA Foundation broadcasts; no chain named", "url": "https://docs.datafdn.org/trace/integration"}, {"claim": "Trace audit page: Didit KYC, liveness each session, every receipt on-chain", "url": "https://trace.datafdn.org/audit/kled"}]}, {"id": "lightwheel", "name": "Lightwheel EgoSuite", "provider_url": "https://www.lightwheel.ai", "status": "unclaimed", "short": "Egocentric human demonstration data for physical AI across seven countries.", "tags": ["egocentric video", "EgoSuite", "exoskeleton", "UMI", "tactile", "hand pose", "physical AI", "humanoid", "managed service"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["egocentric human demonstrations with VR head-mounted multimodal capture", "exoskeleton-based capture for dexterous manipulation", "UMI-aligned gripper interface", "RGB-D, upper-body and hand pose, tactile sensor data", "3D hand pose, 3D full-body pose and frame-accurate semantic annotation", "tasks in homes, commercial and service sites, factories, warehouses, outdoor sites"]}, "pricing": {"model": "Quote after scoping", "from_usd": 0, "unit": "project", "notes": "No price is published; the call to action is 'Book a Demo' or contact for early access."}, "latency": {"typical": "Not published", "notes": "The page claims 20,000+ hours of demonstrations every week, which is a capacity claim, not a turnaround."}, "freshness": {"mode": "on_demand", "typical_age": "Not stated", "notes": "Whether data is captured per order or drawn from the 300,000+ hours already delivered is not stated."}, "coverage": {"regions": ["7 countries (not named)"], "notes": "'10,000+ diverse tasks across 500+ environments run in parallel across 7 countries'. The countries are not listed."}, "licensing": {"summary": "No licensing, ownership, AI-training, resale or consent statements are published; no terms or privacy links appear on the site pages read."}, "verification": {"human": {"level": "none", "unknown": "The workforce is not described and no identity or consent process is published."}, "application": {"level": "none", "unknown": "No capture-app or device attestation is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Head-mounted multimodal VR unit, exoskeleton system, UMI-aligned gripper; NVIDIA AR/VR stack for real-time pose and hand tracking. No signed capture; Lightwheel is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "No signed or independently time-stamped capture times are documented."}, "location": {"level": "none", "unknown": "No location proof is documented."}, "content": {"level": "claimed", "method": "Pose tracked 'with millimeter-level accuracy'; frame-accurate semantic labels.", "unknown": "The accuracy claim has no public evidence; acceptance criteria are not published."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Book a demo or request early access via lightwheel.ai/egosuite."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No server found in the official MCP Registry (searched the provider name, 2026-10-27)."}, "notes": "No API or ordering docs. No /.well-known/ucp, agent-card.json, irlpls or oauth-protected-resource document found (2026-10-27)."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround is published; 'globally scalable' and a weekly-hours capacity claim only."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment methods published."}, "capture": {"by": "people", "consent": {"documented": false, "unknown": "No consent, release or bystander process is published."}, "worker_pay": {"model": "not published", "disclosed": false}}, "requester": {"unknown": "Lightwheel publishes no check of who commissions collection or for what."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Lightwheel Inc. describes itself as a physical AI infrastructure company. Its EgoSuite page offers egocentric human demonstrations captured with a VR head-mounted multimodal unit, a custom exoskeleton system and a UMI-aligned gripper, with RGB-D, hand and body pose and tactile data. It claims 10,000+ tasks in 500+ environments across 7 countries and 300,000+ hours delivered. Access is by demo or early-access request; no price, turnaround, delivery formats, consent process or licence terms are published, and no terms pages are linked from the site.", "sources": [{"claim": "EgoSuite: egocentric human data, hardware, modalities, 7 countries, 500+ environments, 300,000+ hours, early access / demo", "url": "https://www.lightwheel.ai/egosuite"}, {"claim": "Company: 'Lightwheel Inc.', physical AI infrastructure company; 'globally scalable egocentric human data solution'", "url": "https://www.lightwheel.ai"}, {"claim": "No Lightwheel server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=lightwheel"}]}, {"id": "lxt-clickworker", "name": "LXT (clickworker)", "provider_url": "https://www.lxt.ai", "status": "unclaimed", "tags": ["training data", "custom collection", "image collection", "photo collection", "video collection", "store check", "display audit", "mystery check", "retail audit", "mobile app", "smartphone", "on-site", "crowd", "contributors", "clickworker", "api", "managed service"], "summary": "AI data company LXT, which agreed to buy the German crowd platform clickworker in December 2024 and now issues clickworker's North American terms. Its crowd photographs and films to a brief: custom image and video datasets (people, pets, products, scenes, documents) shot at home, at a nearby location with the clickworker smartphone app, or in a studio; and store checks, where workers visit listed shops, photograph shelves and displays with geo data and fill in checklists. Projects are run by LXT's managed service. The clickworker Marketplace API v2 (HTTP Basic auth, access through support) can create tasks, track them, fetch results and accept or reject them; its standard products are surveys, sentiment and iFrame tasks, and photo work is set up as a custom product.", "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["custom image collection: people and poses, pets and animals, products and objects, scenes and environments, documents and screens", "custom video collection: human activity, pets, object interaction, indoor and outdoor scenes, facial and body movement", "three settings: remote (at home by PC or phone app), mobile on-site (a nearby location, by smartphone app), in-person (studio, client premises or LXT data collection centre, with a moderator)", "store checks and display audits: workers visit listed stores and photograph shelves, displays and promotions with the clickworker app, uploading with geo position, store name and address", "on-site mystery checks with photo, video or written documentation", "API: create tasks from templates (Survey, Sentiment, ExternalForm/iFrame; custom products set up by clickworker Operations), track status, fetch results, accept or reject, count workers near a point"]}, "pricing": {"model": "Custom quote (managed); per-task worker payment you set (API/self-service)", "from_usd": 0, "unit": "not published", "notes": "from_usd 0 means unknown, not free. LXT quotes image collection by number and type of images, contributor requirements, regions and metadata, and video by scope and turnaround. clickworker's FAQ says managed costs depend on time and quality requirements, with an individual offer per project. Through the API you set the worker payment per task in cents (e.g. external_form_payment); clickworker adds a basic payment surcharge (rate not published) and typically a 40% surcharge on bonuses. Self-service fees are shown on the platform when the order is submitted."}, "latency": {"typical": "Store checks: 'often within hours'. Datasets: not published.", "notes": "clickworker's store-check page says 'Results often within hours, not days'. LXT's dataset projects run briefing, setup, pilot, then full-scale capture, and LXT only says 'high throughput rates with managed service and direct app upload'. The API docs say completion 'will take some time, depending on the complexity of the work and availability of workers'."}, "coverage": {"regions": ["150+ countries (not listed)"], "notes": "LXT cites image and video collection in 150+ countries and 1,000+ locales with 10M+ contributors; clickworker's homepage says its workforce is in 136 countries. A published store-check case study ran in DE, FR, UK, IT, ES, TR and RU with 300 to 800 stores per country. The API targets tasks by ISO country code and can count workers within a radius (minimum 10 km) or bounding box, so density near an address can be checked before ordering, with an account."}, "licensing": {"summary": "clickworker's North American self-service terms (LXT AI Inc., effective 30 March 2026, \u00a78) give the client, upon full payment, 'a non-exclusive, worldwide, perpetual license to use task results for its internal business purposes'; the same \u00a78 bars reselling or sublicensing the Platform itself; the terms do not mention AI training, resale of results, or LXT using client data for its own models. The rest-of-world client terms (clickworker Germany GmbH, 2012) say nothing about rights in results; managed projects run under an individual contract. Workers grant clickworker unlimited rights of use in what they produce (worker GTC \u00a77). LXT offers mutual NDAs and markets its collected images as 'fully consented'.", "buyer_owns_output": false}, "verification": {"human": {"level": "claimed", "method": "Workers must be 18+, give truthful personal data and hold one account each (no alter egos); clickworker may require evidence that the data is correct before activating an account. LXT says contributors are 'vetted' and selected to the project's requirements.", "unknown": "Whether an identity document is checked for every worker is not stated; the terms only reserve the right to ask for evidence."}, "application": {"level": "none", "method": "On-site work uses the clickworker app for Android and iOS.", "unknown": "No check that the app or device is genuine or unmodified is documented."}, "camera": {"level": "none", "unknown": "Camera type can be included as metadata, but no check against imported, screen-captured or generated media is described."}, "time": {"level": "none", "unknown": "A timestamp 'can be included' as metadata; how it is set and whether it can be trusted is not documented."}, "location": {"level": "claimed", "method": "In the store-check case study, workers photograph the store front 'with geo data' and upload shelf pictures 'with geo position, the business address and the store name'.", "unknown": "How the geo position is captured and whether it is checked against the store is not described; geolocation is not mentioned for dataset collection."}, "content": {"level": "claimed", "method": "LXT: multi-layer QA with programmatic checks, gold tasks, peer review, human review and compliance validation. Store checks: optional clickworker internal verification of the pictures. API: optional review jobs, then the customer accepts or rejects each result (buyoff).", "unknown": "Review criteria and error rates are not published."}, "corroboration": {"level": "claimed", "method": "Peer review of submissions by other contributors; on the API, a separate content-review job can precede the customer's buyoff.", "unknown": "Whether peer review applies to every capture project and what it checks is not described. Reviewers share the platform and operator, so this is not independent confirmation."}}, "api": {"available": true, "self_serve": false, "docs_url": "https://www.clickworker.com/clickworker-marketplace-api-v2/", "base_url": "https://api-production.clickworker.com/api/marketplace/v2", "auth": [{"type": "basic", "env_var": "CLICKWORKER_CREDENTIALS", "how_to_get": "HTTP Basic auth with your clickworker customer email and password. Ask clickworker support for API access (https://www.clickworker.com/contact-for-customers/, helpdesk@clickworker.com). Sandbox: https://api-sandbox.clickworker.com. The irlpls adapter reads CLICKWORKER_CREDENTIALS as 'email:password'."}, {"type": "api_key_query", "how_to_get": "The OpenAPI file declares an access_token query parameter for Asset Library endpoints only; how to obtain one is not documented."}], "endpoints": [{"action": "list", "method": "GET", "path": "/products", "notes": "Products available to your account (standard: Survey, Sentiment, ExternalForm/iFrame)."}, {"action": "search", "method": "GET", "path": "/clickworkers", "params": "api_method=count_in_range&latitude&longitude&radius (km, min 10); or api_method=count_in_bounding_box&sw_latitude&sw_longitude&ne_latitude&ne_longitude", "notes": "Counts workers in an area before launching location-based tasks."}, {"action": "order", "method": "POST", "path": "/customer/tasks", "notes": "Creates a task from a task template (POST /customer/task_templates first). Optional notification callback URL for TASK_COMPLETED, TASK_TIMEDOUT and CUSTOMER_INPUT_REQUIRED."}, {"action": "status", "method": "GET", "path": "/customer/tasks/{taskId}", "notes": "States: created, queued, running, finished, timedout, cancelled, feedback (awaiting buyoff)."}, {"action": "fetch", "method": "GET", "path": "/customer/tasks", "params": "payload=extended&state=finished", "notes": "Results inline. Accept or reject with PUT /customer/tasks/{taskId}/accept or /reject."}, {"action": "list", "method": "GET", "path": "/customer/orders", "notes": "Orders group tasks for billing."}], "sdk": "None. OpenAPI 3.0.3 file at https://www.clickworker.com/mpapi/cw-mp-api-v2.yaml with curl, JavaScript, PHP and Ruby samples. Customer portal: marketplace.clickworker.com.", "rate_limits": "Not published. The North American terms forbid exceeding 'documented rate limits'; pages hold at most 50 results.", "mcp": {"remote": null, "registry_name": null, "notes": "No clickworker or LXT server in the official MCP Registry. www.lxt.ai exposes an undocumented WordPress MCP endpoint (wp-json/mcp/mcp-oauth-server, OAuth with PKCE S256, scope 'mcp'); it appears to belong to the website and is not documented as a way to order data."}, "notes": "Version 2.0.42. Content-Type and Accept must be application/json. The sandbox has no active workers. Photo collection and store checks are not standard API products; clickworker Operations can configure custom products, and store-check results can be delivered by API. Account balance via GET /customer (balance, reserved amount, credit limit)."}, "freshness": {"mode": "on_demand", "typical_age": "Captured for your order", "notes": "LXT also sells off-the-shelf datasets; only custom collection is described here."}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "clickworker store-check page: 'Fast turnaround \u2013 Results often within hours, not days.' No turnaround is published for LXT image or video datasets, which start with a briefing and a pilot."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "approval"}, "payment": {"methods": ["prepaid_balance", "invoice"], "agent_can_pay": false, "prepaid": true, "notes": "Self-service: top up a prepaid account before sending an order; North American terms say fees are payable in advance and may need pre-funding or wallet balances. Managed service: invoices at the end of each month. The API reads the balance but has no top-up endpoint."}, "capture": {"by": "people"}, "requester": {"checks": "North American terms: business accounts only (consumers not permitted), accurate and complete information, no impersonating another business; LXT accepts each order and may refuse or modify tasks for compliance reasons. Rest-of-world terms: clients may use the platform only once clickworker connects and authorizes them, and each project needs clickworker's binding acceptance.", "unknown": "Whether LXT verifies the business's identity, or screens store-check or mystery-check targets, is not documented."}, "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Image data collection: remote, mobile on-site and in-person settings; categories; metadata such as camera type, resolution and timestamp; multi-layer QA with gold tasks, peer review, human review; vetted contributors; pricing by quote; managed, API/iframe or crowd access; 10M+ contributors; 150+ countries; NDAs; 'fully consented'; 'high throughput rates with managed service and direct app upload' (clickworker.com image-dataset page redirects here)", "url": "https://www.lxt.ai/services/image-data-collection/"}, {"claim": "Video data collection: categories, three settings, app upload, peer review and gold tasks, priced by scope including turnaround", "url": "https://www.lxt.ai/services/video-data-collection/"}, {"claim": "clickworker API overview: ordering process through the API, number of clickworkers in a region, SSL and password protected, access via support ticket, sandbox API Explorer", "url": "https://www.clickworker.com/api/"}, {"claim": "Marketplace API v2 docs page (Redoc rendering the OpenAPI file); sandbox and customer portal links", "url": "https://www.clickworker.com/clickworker-marketplace-api-v2/"}, {"claim": "OpenAPI 3.0.3, version 2.0.42: HTTP Basic auth with customer email and password; access_token for Asset Library; sandbox and production base URLs; products Survey, Sentiment, ExternalForm and custom products by Operations; task lifecycle, buyoff accept/reject, notifications; count_in_range (min 10 km) and count_in_bounding_box; country targeting; payment per task in cents; 40% bonus surcharge; page size max 50; customer balance", "url": "https://www.clickworker.com/mpapi/cw-mp-api-v2.yaml"}, {"claim": "Store checks: on-site display audits and mystery checks set up by the managed service in the clickworker app; 'Results often within hours, not days'; optional internal quality control; results sent to your platform", "url": "https://www.clickworker.com/store-check/"}, {"claim": "Display audits: photographs of shelves and promotions through the clickworker app for Android and iOS; nearby PoS tasks; API integration", "url": "https://www.clickworker.com/store-check/display-audit/"}, {"claim": "Mystery checks on site with photo, video or written documentation", "url": "https://www.clickworker.com/store-check/mystery-check/"}, {"claim": "Store-check case study: storefront photo with geo data; shelf pictures uploaded with geo position, address and store name; DE, FR, UK, IT, ES, TR, RU; 300-800 PoS per country; internal verification; data transfer via API", "url": "https://www.clickworker.com/case-studies/area-wide-control-at-the-point-of-sale/"}, {"claim": "Self-service marketplace offers surveys; top up a prepaid account; invoices for download; other services through the managed service", "url": "https://www.clickworker.com/self-service/"}, {"claim": "Managed costs by time and quality, individual offer per project; invoices issued at the end of each month", "url": "https://www.clickworker.com/customer-faq/"}, {"claim": "clickworker workforce in 136 countries; more than 10 million clickworkers", "url": "https://www.clickworker.com/"}, {"claim": "North American client terms (LXT AI Inc., effective 30 March 2026): business accounts only; API access for automated task creation, monitoring and retrieval; orders via Platform or API; rate-limit clause; non-exclusive perpetual licence for internal business purposes; fees in advance, pre-funding or wallet balances", "url": "https://workplace.clickworker.com/en/agreements/9165"}, {"claim": "Rest-of-world client terms (clickworker Germany GmbH, 2012): platform use only upon authorization; projects need binding acceptance; no rights clause for results", "url": "https://workplace.clickworker.com/en/agreements/32"}, {"claim": "Worker GTC: truthful personal data, evidence may be required before activation, one account per person, no automated methods; workers grant clickworker unlimited rights of use (\u00a77)", "url": "https://workplace.clickworker.com/en/agreements/10123"}, {"claim": "Worker GTC (LXT AI Inc., effective 1 August 2026): workers 18+, no alter-egos, work product verified and assigned", "url": "https://workplace.clickworker.com/en/agreements/260715"}, {"claim": "LXT agreed to acquire clickworker (announced 17 Dec 2024); clickworker crowd of 6M+ at the time", "url": "https://www.clickworker.com/press-releases/lxt-acquires-clickworker/"}, {"claim": "Not in the official MCP Registry (searches for clickworker and lxt return 0 servers)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=clickworker"}, {"claim": "lxt.ai protected-resource metadata points to a WordPress MCP endpoint with scope 'mcp'", "url": "https://www.lxt.ai/.well-known/oauth-protected-resource/"}], "spec_version": "2026-10-26", "short": "A crowd that photographs and films to your brief, from AI datasets to store shelves, managed by LXT or via an API.", "capability": "com.irlpls.capture.card", "adapter": "lxt_clickworker"}, {"id": "mecka", "name": "Mecka", "provider_url": "https://www.mecka.ai", "status": "unclaimed", "short": "Robot-learning data to order: paid people record first-person video, motion and touch with Mecka's own sensor kit.", "tags": ["robotics", "physical AI", "egocentric video", "first-person video", "tactile gloves", "hand pose", "3D reconstruction", "training data", "custom collection", "managed service"], "capabilities": {"modalities": ["video", "sensor", "audio"], "capture_types": ["egocentric", "tactile", "depth", "point-cloud", "motion", "hand-pose"], "tasks": ["commission task-specific collection of human demonstrations in homes and commercial environments", "egocentric (first-person) video of everyday tasks such as cooking, cleaning, making coffee or fixing cars", "capture with Mecka-made multi-sensor kit: camera caps, a sensor hub and tactile gloves that record grip force", "capture at recruited businesses (e.g. bakeries, a PCB manufacturing line)", "post-processing into motion tracking, hand pose, 3D reconstruction and aligned sensor streams", "dataset access, model evaluations and on-site robot deployments (not captures)"]}, "pricing": {"model": "Quote after scoping", "from_usd": 0, "unit": "project", "notes": "No prices are published. Teams 'reach out and we'll scope the right entry point': dataset access, commissioned collection, evaluations or a full data program."}, "latency": {"typical": "Not published", "notes": "No turnaround is stated anywhere Mecka publishes. Mecka recruits contributors to fill gaps it tracks on a heat map of jobs, industries and diversity goals."}, "freshness": {"mode": "mixed", "typical_age": "Commissioned collection is recorded after scoping; dataset access is existing data", "notes": "Mecka also offers access to existing data, including its contributions to the EgoVerse dataset (4,003 hours of human demonstrations in the current release, per egoverse.ai). Only commissioned collection is new data."}, "coverage": {"regions": ["Global (stated; countries not listed)"], "notes": "Mecka says it runs 'a global production operation, with capture fleets recording human demonstration in homes and commercial environments', and its CEO says anyone can sign up through the app 'from anywhere in the world'. No country list is published. Offices are in New York, Toronto and San Francisco; jobs are listed in the US and Canada only. The EgoVerse globe shows capture sites in the US, Canada, Switzerland, Indonesia, Vietnam, the Philippines, Kosovo, Colombia, Argentina and Kenya, but that map covers the whole multi-lab consortium, not Mecka alone."}, "licensing": {"summary": "Mecka publishes no terms of service or data licence; its only legal page is a privacy policy (effective 20 Mar 2026, Carbon Based Technology Corporation, DBA Mecka AI), which covers personal data and 'dataset contributions' but not buyer rights. The CEO says Mecka will 'license a lot of the data' it creates and that its data is licensed to foundation-model companies; exclusivity, buyer ownership, AI-training rights and resale are not stated in any published terms. The open EgoVerse code is MIT-licensed; the dataset licence is not stated on egoverse.ai."}, "verification": {"human": {"level": "claimed", "method": "Participants are paid to demonstrate tasks; individuals sign up in the app and register their profession, and Mecka also recruits businesses.", "unknown": "How contributors are identified, vetted or consented is not published. Mecka has reported contributors submitting YouTube videos as their own recordings."}, "application": {"level": "none", "unknown": "Mecka builds its own capture hardware and iOS app (which auto-starts recording when hands enter the frame), but no device or app attestation is documented. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Camera caps and external cameras on Mecka's own hardware, plus smartphones. No C2PA or signed capture; Mecka is not on the C2PA conforming products list. Uploaded footage has included screen-sourced fakes (YouTube videos), per the CEO."}, "time": {"level": "none", "method": "Sensor streams are synchronised and aligned in post-processing.", "unknown": "Synchronisation aligns streams to each other; no signed or independently time-stamped capture time is documented."}, "location": {"level": "none", "unknown": "No location proof is documented. Mecka says it must be present where collection happens, but publishes no method for proving where a capture was made."}, "content": {"level": "claimed", "method": "Processing heuristics flag problems, escalation engines route them, and quality gates plus computer vision run in post-processing.", "unknown": "Acceptance criteria and QC results are not published; Mecka says quality standards still shift as it learns."}, "corroboration": {"level": "none", "unknown": "No independent check of commissioned data is documented. EgoVerse replicated human-to-robot transfer across labs, which tests usefulness, not capture provenance."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Contact Mecka through mecka.ai ('Request access' / 'Talk to us') for enterprise programs, research access and dataset partnerships. A partner console at partners.mecka.ai signs in by emailed link."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No MCP server found; no Mecka server in the official MCP Registry (searched 'mecka' and 'egoverse', 2026-10-26)."}, "notes": "Mecka's 'Data Tools' web interface lets teams browse, visualise and query data and 'run inference APIs', but no API documentation is public and no endpoint to order or quote collection is published. No OAuth metadata is served: mecka.ai returns 404 for /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server, and partners.mecka.ai redirects them to its sign-in page."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Mecka says teams can 'commission task-specific collection' and that it will 'scope the right entry point', but publishes no turnaround."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "enterprise"}, "payment": {"agent_can_pay": false, "notes": "No payment method is published. The privacy policy mentions 'payment and billing information when you purchase paid Services' without naming methods. Collection is scoped and priced through sales."}, "capture": {"by": "people", "consent": {"documented": false, "unknown": "Mecka publishes no consent terms for contributors or for bystanders and homes filmed; the privacy policy covers 'dataset contributions' only as personal data."}, "worker_pay": {"disclosed": false, "notes": "Participants are paid; rates are not published. The CEO says contributor pay is 'not the largest factor' in end-to-end cost."}}, "requester": {"unknown": "Mecka publishes no check of who commissions collection or for what; every engagement starts with a conversation."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Mecka collects human-demonstration data for robot learning. Paid participants and recruited businesses record everyday and workplace tasks in homes and commercial settings, using Mecka's own capture hardware (camera caps, a sensor hub, tactile gloves) and an iOS app. Mecka then processes the recordings into motion tracking, hand pose and 3D reconstruction. Buyers (robotics labs, frontier model teams, enterprises) can get dataset access or commission task-specific collection, both through sales. Prices, turnaround and licence terms are not published.", "sources": [{"claim": "Positioning; who it is for; 'commission task-specific collection'; dataset access, evaluations, data programs; signal primitives (pixel, depth, object tracking, segmentation, tactile force, sound, speed and motion, point cloud, surface contour, localization); iOS app to 'collect data at scale'; Data Tools with inference APIs; Request access / Talk to us; no published prices", "url": "https://www.mecka.ai/"}, {"claim": "Series B ($60M, Sequoia); own multi-sensor hardware; 'global production operation, with capture fleets recording human demonstration in homes and commercial environments'; motion tracking, 3D reconstruction, sub-centimetre hand pose; supplies frontier robotics labs and Mag 7 companies; >$100M run rate June 2026", "url": "https://www.mecka.ai/news/series-b"}, {"claim": "Privacy policy (effective 20 Mar 2026): legal entity Carbon Based Technology Corporation, DBA Mecka AI; covers dataset contributions and payment information; no terms of service or licence", "url": "https://www.mecka.ai/privacy"}, {"claim": "No terms page published (HTTP 404)", "url": "https://www.mecka.ai/terms"}, {"claim": "Jobs only in the US and Canada (New York, Toronto GTA, San Francisco)", "url": "https://www.mecka.ai/careers"}, {"claim": "iOS app: egocentric recording, auto-start when hands enter the frame, uploads to internal infrastructure, task management; developer Carbon Based Technology Corp.", "url": "https://apps.apple.com/us/app/mecka/id6758835773"}, {"claim": "Camera caps, sensor hub and tactile gloves; anyone can sign up through the app worldwide and register a profession; recruited businesses (bakeries, PCB line); heat map of gaps; quality gates, heuristics and escalation; YouTube-video fraud; Mecka licenses data to foundation-model companies; pay 'not the largest factor'", "url": "https://sequoiacap.com/podcast/inside-the-robot-data-factory-how-mecka-sensorizes-humans-to-train-robots"}, {"claim": "Paid participants demonstrate everyday activities in real-world settings with body sensors and smartphones; HQ New York and Toronto", "url": "https://dealroom.co/news/160699-mecka-raises-60m-series-b-to-turn-human-motion-into-robot-training-data/"}, {"claim": "People record themselves with body sensors and smartphones doing tasks such as making coffee or fixing cars; customers not disclosed", "url": "https://techcrunch.com/2026/09/11/mecka-ai-nears-500m-valuation-in-sequoia-led-deal-amid-rush-for-robot-training-data/"}, {"claim": "EgoVerse: living dataset, 4,003 hours, ~80k episodes, 2,087 demonstrators; consortium partners including Mecka; partner console link", "url": "https://egoverse.ai/"}, {"claim": "EgoVerse capture sites on the consortium globe (US, Canada, Switzerland, Indonesia, Vietnam, Philippines, Kosovo, Colombia, Argentina, Kenya)", "url": "https://egoverse.ai/assets/data/globe-locations.js"}, {"claim": "EgoVerse paper (Mecka AI among authors' institutions)", "url": "https://arxiv.org/abs/2604.07607"}, {"claim": "EgoVerse code is MIT-licensed", "url": "https://github.com/GaTech-RL2/EgoVerse"}, {"claim": "Partner console signs in by emailed link and redirects .well-known OAuth paths to sign-in", "url": "https://partners.mecka.ai/auth/sign-in"}, {"claim": "No Mecka server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=mecka"}, {"claim": "Mecka not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}]}, {"id": "micro1", "name": "micro1", "provider_url": "https://www.micro1.ai", "status": "unclaimed", "short": "Robotics training data to order: first-person video of everyday and trade tasks, recorded by vetted paid contractors.", "tags": ["robotics", "physical AI", "egocentric video", "POV", "human demonstrations", "manipulation", "skilled trades", "household tasks", "managed service", "training data", "custom collection"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["first-person (POV) and third-person video of domain experts performing real-world tasks", "household task demonstrations recorded at home with a head-mounted smartphone (cooking, laundry, organising, packing, using basic tools)", "skilled-trade demonstrations on real job sites (electrical, plumbing, carpentry, vehicle maintenance, valve and fixture replacement)", "expert environment datasets: repair, assembly, industrial workflows, logistics, field operations", "synchronised stereo video, IMU and multi-camera capture", "robot interaction data captured in micro1's controlled robotics deployment lab", "post-capture structuring: action-level annotation, temporal segmentation, hand/object interactions, 2D/3D annotation, tracking, QC and evaluation"]}, "pricing": {"model": "Quote after contact", "from_usd": 0, "unit": "project", "notes": "No buyer pricing is published; the robotics page has only a 'Get in touch' form. For scale only: contributors are paid per approved hour of recorded video (at-home recorder postings list $13-15/hour; a plumber posting lists $20-30/hour). That is labour cost, not a price."}, "latency": {"typical": "Not published", "notes": "No turnaround is stated. Contributors submit recordings on their own schedule and are paid biweekly for approved work; postings say start dates depend on shipping head-strap equipment."}, "freshness": {"mode": "on_demand", "typical_age": "Recorded after a project is set up and contributors are onboarded", "notes": "MIT Technology Review reports micro1 says it holds tens of thousands of hours of footage; whether existing footage is also sold is not stated by micro1."}, "coverage": {"regions": ["global contributor network (50+ countries reported)", "US (specific at-home recording projects)", "real job sites and contributors' homes"], "notes": "The everyday-tasks page says 'Open to everyone, globally'. MIT Technology Review (Apr 2026) reports thousands of contract workers in more than 50 countries, including India, Nigeria and Argentina. Some current at-home postings are limited to listed US states and US work eligibility. micro1 publishes no list of countries where it will collect for a buyer."}, "licensing": {"summary": "No buyer-facing terms for robotics data are published; the Legal Center lists website, cookie, candidate and referral terms, and a 'Contractor Terms' heading with no document. The Data License Master Terms (undated on the page; binding only on an executed Order Form) govern data licensed TO micro1 by partner companies: they grant micro1 a perpetual, multi-tier sublicensable licence including AI training, and bar reselling that data as a standalone product. They do not cover data micro1 collects for a buyer. Contributor consent: per MIT Technology Review, workers know their footage trains robots but are not told which clients receive it."}, "verification": {"human": {"level": "claimed", "method": "Contributors pass an AI interview (Zara) and a device compatibility check, then a third-party identity check (scan of the physical ID plus a selfie matched to it; vendor not named) before a contract is issued.", "unknown": "How identity checks are done and whether each recording is tied to a verified person is not published; consent terms for recorded footage are not published.", "evidence_url": "https://library.micro1.ai/getting-started/next-steps-after-certification"}, "application": {"level": "none", "unknown": "Recording is limited to listed phones (iPhone 12 or later, Pixel 6-9, Galaxy S21 or later) on a head strap; a phone allowlist is not attestation, and no capture app or device attestation is documented. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Head-mounted smartphone camera for POV video; synchronised stereo video, IMU and multi-camera pipelines for some projects. No C2PA or signed capture; micro1 is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "No signed or independently time-stamped capture times are documented."}, "location": {"level": "none", "unknown": "No location proof is documented; recordings are made in contributors' homes or job sites."}, "content": {"level": "claimed", "method": "Contributors follow written instructions (hands visible, natural speed); each video is reviewed by AI and a human and accepted or rejected; only approved recordings are paid; unsafe task performance is rejected.", "unknown": "Acceptance criteria and QC results are not published."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Submit the 'Get in touch' form on micro1.ai/robotics describing the project; work is agreed with sales."}], "mcp": {"remote": null, "registry_name": null, "notes": "No MCP server found; no micro1 entry in the official MCP Registry (searched 'micro1', 2026-10-26)."}, "notes": "No public buyer API for ordering or quoting data collection is documented."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround is published. The robotics page offers only 'Get in touch'; contributor pages say recordings are made 'on your own schedule'."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No buyer payment terms or methods are published; there is no self-serve purchase."}, "capture": {"by": "people"}, "requester": {"unknown": "micro1 publishes no check of who commissions robotics data or for what. Its data-partnership pages say partner company data is licensed only to labs and enterprises in the US and allied countries; no such statement is made for robotics collection."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "micro1 collects robotics training data to order: first-person and third-person video of people doing household chores and skilled trade work, recorded on head-mounted phones by paid, AI-interviewed contractors, plus multi-camera and IMU capture and a robotics deployment lab. It also annotates and QCs the footage. Sales only: no prices, turnaround or buyer licence terms are published.", "sources": [{"claim": "Expert-demonstrated POV and third-person capture; dataset structuring (labeling, tracking, 2D/3D annotation, QC); full-stack deployment lab; human demonstration pipelines; expert environment datasets (repair, assembly, industrial, logistics, field operations); synchronised stereo video, IMU, multi-camera; 'Get in touch' form", "url": "https://www.micro1.ai/robotics"}, {"claim": "Household tasks recorded from point of view at home; 'Open to everyone, globally'; paid for approved recordings; AI interview, onboarding, instructions, biweekly pay", "url": "https://www.micro1.ai/experts/everyday-tasks"}, {"claim": "Trade tasks recorded on real job sites with wearable camera or phone (electrical, plumbing, carpentry, vehicle maintenance, valve and fixture replacement); plumbers $20-30/hour", "url": "https://www.micro1.ai/get-paid-to-record-tasks"}, {"claim": "At-home recorder posting: listed US states, US work eligibility, compatible phones (iPhone 12+, Pixel 6-9, Galaxy S21+), head strap, paid per hour of recorded video in line with guidelines, device check, AI interview, identity verification within 48 hours before contract; rate $13-15/hour", "url": "https://jobs.micro1.ai/post/0f435bd2-e7f0-4d24-9e32-de34b71c2a97"}, {"claim": "Data-Video Generalist (US) posting: same recording setup and requirements", "url": "https://jobs.micro1.ai/post/204600bf-1abe-4ab0-a474-cd2264999149"}, {"claim": "Thousands of contract workers in 50+ countries incl. India, Nigeria, Argentina; iPhones on heads; vetted by Zara; weekly video submissions reviewed by AI and a human, accepted or rejected; faces and personal info removed; unsafe task videos rejected; clients not disclosed to workers; tens of thousands of hours of footage; $15/hour", "url": "https://www.technologyreview.com/2026/04/01/1134863/humanoid-data-training-gig-economy-2026-breakthrough-technology/"}, {"claim": "Legal Center lists website, cookie, candidate and referral terms and a 'Contractor Terms' heading without a document; no buyer terms", "url": "https://www.micro1.ai/legal"}, {"claim": "Data License Master Terms govern data licensed to micro1 by a Licensor (AI-training and sublicensing grant, standalone-resale ban)", "url": "https://www.micro1.ai/legal/data-license-master-terms"}, {"claim": "Company data partnerships: data licensed only to US and allied-country labs and enterprises", "url": "https://www.micro1.ai/data-partnerships"}, {"claim": "Product index; robotics data collection listed under Data Engine", "url": "https://www.micro1.ai/llms.txt"}, {"claim": "No micro1 server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=micro1"}, {"claim": "micro1 not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Third-party identity check: scan of the physical ID plus a selfie; micro1 never sees the documents", "url": "https://library.micro1.ai/getting-started/next-steps-after-certification"}]}, {"id": "mundane", "name": "Mundane", "provider_url": "https://mundane.market", "status": "unclaimed", "adapter": "mundane", "tags": ["agent-native", "api", "check-in", "errand", "escrow", "human task", "id-verified workers", "interactive", "local inspection", "mcp", "oauth", "photo evidence", "proof of presence", "queue", "typed proof"], "summary": "Agent-to-human marketplace (\"v0.1 prototype\", terms v0.2, early access) run by Mundane, Inc. An AI agent searches for nearby workers who passed a Stripe Identity ID and selfie check, posts a task that is screened against an Acceptable Use Policy, offers it to one worker, and holds the pay plus fee in escrow from a prepaid USD wallet until it accepts the proof. Each capability has typed proof requirements (photo, geo check-in, confirmation code, signature). Callable through a REST API, a hosted MCP server with 38 tools (bearer key) or the mundane-mcp stdio package; an agent gets a key by self-serve API signup. Interactive tasks let the agent see still frames from the worker's phone camera and guide them live.", "short": "Agent-to-human marketplace: ID-verified people do photo checks, errands and queues; escrow.", "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["photo documentation: visit a location and take photos meeting stated criteria (photo, geo check-in by default)", "in-person errand: pickup, drop-off, brief in-person interaction (photo, confirmation code, geo check-in)", "delivery pickup: pick up an item and deliver it to a named recipient (photo, geo check-in, signature)", "wait in line and obtain a stamped or signed token (photo, confirmation code)", "check something in person: is it open, is it in stock, what does the notice say", "interactive task: still frames from the worker's phone camera while the agent guides them live", "chained jobs: 2-5 workers in turn with an item handed on at each step", "skilled trade work listed by workers"]}, "pricing": {"model": "worker's own ask rate per task, plus a platform fee of the lesser of 5% of the worker amount or $5.00", "from_usd": 0, "unit": "task (price set by the worker's ask rate and the agent's offer)", "notes": "from_usd 0 because there is no published price: each worker sets a per-task ask rate and an offer must be at or above it (interactive tasks: at least the worker's interactive rate). The platform fee is added on top and disclosed in the offer response. A cancellation after a worker accepts can owe the worker a fee, disclosed on cancelling. Searching for workers is free (needs a key, no funded wallet). In disputes Mundane keeps the platform fee. USD only."}, "latency": {"typical": "Not stated; set by the task deadline and whether a nearby worker accepts the offer", "notes": "The provider says of offers to workers: \"Not yet, in most places. Mundane is new\", and the Terms guarantee no minimum number of offers. Offers expire after 24 hours by default (minimum 5 minutes). The only published run is a founder demo (Austin, 9 August 2026) in which the founder was both requester and worker: posted to completed in about 55 minutes. After submission the agent reviews proof; a rejection goes to Mundane's human review queue. Proof photo images are deleted 30 days after upload once the task is settled, so fetch them before then."}, "coverage": {"regions": ["United States", "United Kingdom", "Canada", "Switzerland", "European Economic Area"], "notes": "Workers can sign up in the US, UK, Canada, Switzerland and the EEA (\"the places where Stripe can both verify ID and pay out\"). No worker counts are published, and the provider says offers are rare \"in most places\"; an empty search is a normal result. The EEA is expanded in areas to its 30 member countries.", "areas": ["US", "GB", "CA", "CH", "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE", "IS", "LI", "NO"]}, "licensing": {"summary": "Terms (v0.2; the page header says last updated 20 October 2026 but its footer says 10 July 2026): users keep any ownership they have in submitted content, including worker proof, and grant Mundane a nonexclusive, worldwide, royalty-free licence to host, copy, process and display it \"only as reasonably needed to provide, secure, support, and improve the service and comply with law\". The Terms do not say whether the requester gets ownership, resale or AI-training rights in a worker's proof photos, and do not mention AI or ML training. On a task posted as shareable, the worker licenses Mundane and the requester to publish up to six proof photos in a public Conclave page, without the worker's name or exact location. For interactive tasks the agent and principal \"may keep copies\" of frames but must not use them to identify, track or profile anyone. The AUP limits photography to public or permission-granted spaces with no specific identifiable individuals as subjects."}, "verification": {"human": {"level": "claimed", "method": "Every worker passes Stripe Identity (government-ID document check plus liveness-matched selfie) and an 18+ age check before accepting a paid task; a keyed one-way value from verified name and date of birth flags duplicate or ban-evasion accounts for human review", "evidence_url": "https://mundane.market/policies/terms", "unknown": "The check binds an account to a verified person, not a task: nothing documented shows the verified person is the one who did the work. The provider says verification \"is not a guarantee of a person's qualifications, reliability, or conduct\". No public proof per worker or task."}, "application": {"level": "none", "unknown": "Workers use a web app; no app or device attestation is documented, and whether proof photos must be taken in-app rather than uploaded from the gallery is not stated"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Interactive tasks only: the agent receives still frames from the worker's phone camera while the worker is live (never video), on a cadence it sets or on demand. Opt-in per task and per worker. Ordinary proof photos are uploads; no live-capture requirement is documented for them. Frames and proof photos are re-encoded without camera metadata. Whether a virtual camera or a photographed screen would be detected is not addressed."}, "time": {"level": "claimed", "method": "The server records task events (worker accepted, chat message, completion submitted) in an event feed, and the task record shows when proof was submitted; interactive frames arrive while the worker is live", "evidence_url": "https://raw.githubusercontent.com/sttruji/mundane-mcp/main/README.md", "unknown": "Capture time of uploaded proof photos is not documented, and their camera metadata is stripped on upload; timestamps are not signed"}, "location": {"level": "claimed", "method": "Typed proof: geo_checkin is an unwaivable floor for in-person errands and delivery pickups and a default (waivable) for photo documentation; optional request_live_location shares the worker's live position during the task's active window only", "evidence_url": "https://raw.githubusercontent.com/sttruji/mundane-mcp/main/src/mcp_server/server.py", "unknown": "How a geo check-in is taken, what radius passes, and resistance to GPS spoofing are not documented. Proof photos are re-encoded without location metadata, so the photo itself carries no location. Live location stops before proof submission."}, "content": {"level": "none", "method": "The requesting agent (and its person) reviews the typed proof (photos, confirmation codes, signatures) and can accept, request changes or reject; a rejection goes to Mundane's human review, which decides release, refund or split", "unknown": "Mundane screens the task, not the proof; nothing documented checks that a photo shows what it claims before the requester reviews it. In the published demo the agent, not the platform, caught a count mismatch."}, "corroboration": {"level": "none", "unknown": "No independent cross-check is offered; a requester could post the same task to several workers, but that is buyer-side"}}, "api": {"available": true, "self_serve": true, "docs_url": "https://api.mundane.market/docs", "openapi_url": "https://api.mundane.market/openapi.json", "base_url": "https://api.mundane.market/v1", "auth": [{"type": "bearer", "header": "Authorization", "env_var": "MUNDANE_API_KEY", "transport": "rest", "how_to_get": "Headless: POST https://api.mundane.market/v1/agents/signup with principal_display_name, principal_email, agent_name, accept_aup_version (aup-v0.2) and accept_tos_version (tos-v0.2) returns a mundane_agent_ key once, with conservative spend caps. The same key works as Authorization: Bearer on the REST API and the hosted MCP endpoint."}, {"type": "oauth2", "resource_metadata": "https://api.mundane.market/.well-known/oauth-protected-resource/chatgpt/mcp", "scopes": ["tasks:read", "tasks:write"], "dynamic_registration": false, "cimd": true, "pkce": "S256", "transport": "mcp", "how_to_get": "MCP at https://api.mundane.market/chatgpt/mcp for directory connections (ChatGPT, Codex, Claude, Claude Code): authorization code with PKCE S256, public clients (token auth none), clients identified by a Client ID Metadata Document (client_id_metadata_document_supported: true); no RFC 7591 registration endpoint is advertised. The principal signs in to Mundane and approves the connection. This connection leaves out interactive tasks, chained jobs and Conclaves."}], "endpoints": [{"action": "search", "method": "GET", "path": "/workers", "params": "lat, lng, radius_km, capability, skill, min_rating, min_rating_count, max_rate_minor, available_at, live_now, chain_ok, interactive_ok, limit", "notes": "Verified workers near a point, with handle, capabilities, ask rate, rating, completed-task count and a distance from a ~2 km grid cell. Needs a key, no funded wallet; [] is a normal result. POST /workers/skill-search finds workers by skill anywhere (areas only)."}, {"action": "list", "method": "GET", "path": "/signup/capabilities", "notes": "Public, no key: each capability slug with required and default proof types and minimum worker age. GET /capabilities (key) lists what this agent may dispatch."}, {"action": "quote", "method": "GET", "path": "/offer-check", "params": "total_minor, new_task", "notes": "Read-only: whether an offer of total_minor would be refused right now (balance, caps) and every reason why. The platform fee is disclosed in the offer response; GET /spend-status returns balance and remaining caps."}, {"action": "order", "method": "POST", "path": "/tasks", "params": "title, instructions, location {address, lat, lng}, required_capabilities, budget_max_minor, currency, deadline, proof_requirements, proof_requirement_opt_outs, constraints, request_live_location, interactive, conclave_shareable, idempotency_key", "notes": "Runs the screening cascade; returns open, screening (human review) or rejected (final). Then POST /offers {task_id, worker_id, amount_minor, currency, expires_in_seconds, message, idempotency_key} holds worker amount plus fee in escrow."}, {"action": "status", "method": "GET", "path": "/tasks/{task_id}", "params": "wait_for_change", "notes": "Lifecycle state, active offer, assigned worker and completion proof. GET /task-events?since_id returns events across all tasks."}, {"action": "fetch", "method": "GET", "path": "/tasks/{task_id}/proof-media", "notes": "Signed, short-lived links to the task's proof photos (owner only). POST /tasks/{task_id}/review {decision: accept|reject|request_changes} releases or disputes the escrow."}], "sdk": "mundane-mcp 0.1.21 (PyPI, Apache-2.0; also ghcr.io/sttruji/mundane-mcp); Claude Code and Codex plugin from github.com/sttruji/mundane-mcp; OpenAPI \"Mundane API 0.1.0\"", "rate_limits": "Default caps assigned at signup: $100 per task, $200 per day, $750 per week, $2,000 per month, 5 open tasks, 10 offers per hour; no self-serve increase over the API (console increases need email confirmation). Hosted agent: $25 per task, $100 per day.", "mcp": {"remote": "https://api.mundane.market/mcp", "registry_name": "market.mundane/mundane", "auth": "bearer", "first_party": true, "notes": "Streamable HTTP with the agent API key as a bearer token; 38 tools (post_task, search_workers, make_offer, await_task_update, get_task_proof, interactive and chain tools). The MCP Registry entry (v0.1.21, active) lists the remote plus PyPI and OCI stdio packages. A separate OAuth endpoint, /chatgpt/mcp, serves directory connections."}, "notes": "The OpenAPI document still exposes /v1/mock/... endpoints (identity, Connect onboarding, checkout). Mundane's agent skill says money moves only with the user's approval and releasing payment always needs the user. The Terms treat an agent's requests as its principal's."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "payment": {"methods": ["hosted_checkout", "prepaid_balance"], "agent_can_pay": true, "prepaid": true, "notes": "Tasks are paid from a prepaid USD wallet: making an offer holds the worker amount plus fee. The agent can create a top-up (POST /v1/wallet/topup, up to $100,000 per call) that returns a Stripe Checkout link a person opens and pays; the agent then spends the balance within its caps. Wallet credit is not cashable and refunds go back to the wallet, not the card."}, "account": {"headless_signup": true, "kyc": "email", "agent_may_act": {"allowed": true, "source_url": "https://mundane.market/policies/terms"}}, "capture": {"by": "people", "worker_pay": {"model": "worker sets a per-task ask rate (and an interactive rate); the agent's offer must be at or above it; the fee is added on top, not taken from pay", "disclosed": false, "notes": "Rates are visible to agents in search results, not published publicly. Pay is held before the worker starts and paid out through Stripe Connect when the proof is approved."}, "consent": {"documented": true, "method": "AUP: photography only in public or permission-granted spaces, no specific identifiable individuals as subjects, no interiors of private property; tasks at a private residence need the occupant's consent; workers agree before accepting to shareable or interactive tasks", "evidence_url": "https://mundane.market/policies/aup", "unknown": "Bystanders in proof photos or interactive frames are not asked; the provider notes frames \"can show other people\""}}, "requester": {"checks": "Principals give a name and email at API signup and accept the current AUP and Terms versions (recorded in an audit trail); each agent key carries spend caps set by Mundane. Every task passes a screening cascade (policy regex, task-shape match, an LLM classifier, human review when needed) before any worker sees it. The AUP bans following, tracking, monitoring, photographing or locating a specific individual, and rejections are final.", "unknown": "No identity verification of principals is documented beyond email, and the Terms say automated screening is \"not a guarantee that an approved task is lawful or safe\""}, "freshness": {"mode": "on_demand", "typical_age": "Captured after a worker accepts the offer, by the deadline you set", "notes": "No archive. Proof photo images are deleted 30 days after upload once the task is settled."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Provider, on whether workers get offers: \"Not yet, in most places. Mundane is new\"; the Terms: \"Mundane does not guarantee any minimum number of offers or hours\""}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Agent-to-human marketplace; ID- and age-verified workers; every task screened against the AUP; escrow released on approved proof; search needs a key but no funded wallet; hosted MCP endpoint (Streamable HTTP, bearer key), pip install mundane-mcp; hosted agent", "url": "https://mundane.market/llms.txt"}, {"claim": "Terms v0.2 (last updated October 20, 2026): principals and agents; agent actions treated as the principal's; agent signup via POST /v1/agents/signup; connected apps (ChatGPT, Codex, Claude, Claude Code); no minimum offers; chained and interactive tasks; USD-only wallet via Stripe Checkout; escrow hold; platform fee lesser of 5% or $5; cancellation fee; disputes to human review with fee retained; Stripe Identity ID and liveness check; content licence; Conclave shareable photos; screening not a guarantee; Mundane, Inc., Delaware", "url": "https://mundane.market/policies/terms"}, {"claim": "AUP v0.2: ban on following, tracking, monitoring, photographing or locating a specific individual; photography only in public or permission-granted spaces with no identifiable individuals as subjects; residence tasks need occupant consent; interactive-task rules; screening cascade; principal must give accurate identity", "url": "https://mundane.market/policies/aup"}, {"claim": "Privacy Notice (last updated October 22, 2026): proof photos and interactive frames re-encoded without camera metadata including location; frames are still photos from the phone camera, never video; worker search uses a ~2 km grid cell; proof photos deleted 30 days after upload once settled; directory connection leaves out interactive tasks, chains and Conclaves; LLM screening via Anthropic", "url": "https://mundane.market/policies/privacy"}, {"claim": "Worker coverage: US, UK, Canada, Switzerland and the EEA; Stripe ID and selfie check, 18+; workers set their own rate; fee added on top; 'Will I get a lot of offers? Not yet, in most places'", "url": "https://mundane.market/work"}, {"claim": "Coverage is where Stripe can both verify ID and pay out; fee 5% capped at $5; searching free; workers pass Stripe Identity", "url": "https://mundane.market/what-is-this"}, {"claim": "Capabilities and typed proof: photo_documentation (photo; geo_checkin default), in_person_errand (photo, confirmation_code, geo_checkin), delivery_pickup (photo, geo_checkin, signature), wait_in_line (photo, confirmation_code); min worker age 18", "url": "https://api.mundane.market/v1/signup/capabilities"}, {"claim": "OpenAPI 'Mundane API 0.1.0': /v1/workers, /v1/tasks, /v1/offers, /v1/offer-check, /v1/spend-status, /v1/task-events, /v1/tasks/{id}/proof-media, /v1/tasks/{id}/review, /v1/wallet/topup (max 10,000,000 minor units), live-location, interactive and chain endpoints, /v1/mock/... endpoints", "url": "https://api.mundane.market/openapi.json"}, {"claim": "REST API docs (Swagger UI over /openapi.json)", "url": "https://api.mundane.market/docs"}, {"claim": "Connect your agent: self-serve signup command (aup-v0.2, tos-v0.2), key shown once, conservative caps, hosted MCP URL, MCP Registry name market.mundane/mundane, free search, top-up via Stripe Checkout, cap increases need email confirmation", "url": "https://mundane.market/for-agents"}, {"claim": "Hosted agent starts capped at $25 per task and $100 per day", "url": "https://mundane.market/get-an-agent"}, {"claim": "Founder demo, 9 August 2026, Austin: founder as requester and worker, $1.00 offer plus $0.05 fee, photo plus location check-in, agent flagged a count mismatch, completed about 55 minutes after posting", "url": "https://mundane.market/stories/pond-proof-review"}, {"claim": "MCP adapter README: 38 tools; default caps per_task_max $100, daily $200, weekly $750, monthly $2,000, 5 open tasks, 10 offers per hour; no self-serve cap increase; task event feed; get_task_proof; Apache-2.0", "url": "https://raw.githubusercontent.com/sttruji/mundane-mcp/main/README.md"}, {"claim": "post_task screening cascade (policy_gate regex, shape match, Claude LLM classifier, human review); proof requirements are capability floor plus defaults plus extras; geo_checkin floor not waivable on errands; live location only during the active window", "url": "https://raw.githubusercontent.com/sttruji/mundane-mcp/main/src/mcp_server/server.py"}, {"claim": "Agent skill: money moves only with the user's approval; releasing payment always needs the user; the user pays the Checkout link", "url": "https://raw.githubusercontent.com/sttruji/mundane-mcp/main/plugin/skills/mundane/SKILL.md"}, {"claim": "MCP Registry: market.mundane/mundane v0.1.21 (active, latest, published 2026-10-14), remote streamable-http https://api.mundane.market/mcp with Authorization header, PyPI and OCI stdio packages", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=mundane"}, {"claim": "mundane-mcp 0.1.21 on PyPI, Apache-2.0", "url": "https://pypi.org/pypi/mundane-mcp/json"}, {"claim": "OAuth authorization server: issuer https://api.mundane.market, authorization code, PKCE S256, token auth none, client_id_metadata_document_supported, scopes tasks:read and tasks:write; no registration endpoint", "url": "https://api.mundane.market/.well-known/oauth-authorization-server"}, {"claim": "Protected resource https://api.mundane.market/chatgpt/mcp, scopes tasks:read and tasks:write, bearer in header", "url": "https://api.mundane.market/.well-known/oauth-protected-resource/chatgpt/mcp"}, {"claim": "OAuth metadata: PKCE S256, token auth none, client_id_metadata_document_supported true, no registration_endpoint; llms.txt lists a separate bearer-key MCP at https://api.mundane.market/mcp", "url": "https://api.mundane.market/.well-known/oauth-authorization-server"}, {"claim": "MCP server: capability floors such as geo check-in are never waivable; request_live_location needs worker consent", "url": "https://raw.githubusercontent.com/sttruji/mundane-mcp/main/src/mcp_server/server.py"}, {"claim": "Account: headless agent signup (POST /v1/agents/signup) with a principal name and email; agent actions count as the principal's", "url": "https://mundane.market/policies/terms"}, {"claim": "MCP OAuth identifies clients by Client ID Metadata Document (client_id_metadata_document_supported true)", "url": "https://api.mundane.market/.well-known/oauth-authorization-server"}]}, {"id": "nasa-firms", "name": "NASA FIRMS active fires", "status": "unclaimed", "provider_url": "https://firms.modaps.eosdis.nasa.gov/", "tags": ["fire", "fires", "wildfire", "wildfires", "active fire", "hotspot", "hotspots", "burning", "thermal anomaly", "satellite", "VIIRS", "MODIS", "Landsat", "near real-time", "nasa", "government", "free", "sensor", "global"], "summary": "NASA's Fire Information for Resource Management System (FIRMS) publishes active fire and thermal hotspot detections from the MODIS, VIIRS and Landsat satellite sensors, globally within about 3 hours of an overpass and faster (real-time / ultra real-time) over the US and Canada. Global and regional CSV, KML and shapefile files of the last 24 hours, 48 hours and 7 days download with no key; a free MAP_KEY unlocks an area API returning CSV detections for any bounding box over 1-5 days.", "capabilities": {"modalities": ["sensor"], "tasks": ["active fire hotspot detections in a bounding box (or the world) for the last 1-5 days", "keyless global or regional CSV/KML/shapefile of detections from the last 24 hours, 48 hours or 7 days", "VIIRS (S-NPP until Nov. 2, 2026, NOAA-20, NOAA-21) and MODIS near-real-time fire detections (Terra and Aqua MODIS wind down in late 2026/early 2027)", "Landsat fire detections over the US and Canada", "per-detection fields such as brightness, scan/track pixel size, confidence, fire radiative power, acquisition date and time, satellite, day/night"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "Free. The 24h/48h/7d files need no key; the area API needs a free MAP_KEY requested with an email address."}, "latency": {"typical": "Within 3 hours of overpass globally (best effort); within 30 minutes (real-time) or within about a minute to 5 minutes (ultra real-time) over the US and Canada; Landsat 30-60 minutes (US and Canada)", "notes": "From the FIRMS FAQ and area API page. The FAQ gives both 'within a minute' and 'within 5 minutes' for ultra real-time; the API page says under 60 seconds 'for much of the US and Canada'. RT/URT detections are replaced by NRT ones once processed, or after 6 hours. The keyless 24h/48h/7d files are refreshed every 60 minutes; web services use the most recently processed data. Detections exist only when a satellite passes over, generally about twice a day per sensor (more towards the poles). Suomi NPP data delivery ceases on Nov. 2, 2026. The FAQ also says RT within one hour in another section, so treat the stated minutes as targets."}, "coverage": {"regions": ["Global"], "notes": "Worldwide for MODIS and VIIRS; Landsat and the faster real-time products cover the US and Canada only. Cloud and smoke can hide fires; small or short fires between overpasses can be missed.", "areas": ["*"]}, "licensing": {"summary": "No FIRMS-specific licence. NASA ESDIS data-use guidance: data from NASA-led missions are CC0 unless marked otherwise, while non-NASA data follow their sponsor's licence; NASA asks to be acknowledged ('NASA FIRMS') and must not be implied to endorse a product. LANCE data are provided 'as is'. AI training and resale are not mentioned. Landsat is USGS-operated, so CC0 is not clearly stated for the Landsat NRT layer."}, "freshness": {"mode": "live", "typical_age": "Minutes to about 3 hours after the latest overpass", "notes": "The API also serves standard-processing (SP) data for past dates; irlpls lists FIRMS for its near-real-time detections."}, "api": {"available": true, "docs_url": "https://firms.modaps.eosdis.nasa.gov/api/", "base_url": "https://firms.modaps.eosdis.nasa.gov", "auth": [{"type": "none", "how_to_get": "The 24h/48h/7d CSV, KML and shapefile files under /data/active_fire/ download without a key."}, {"type": "other", "env_var": "FIRMS_MAP_KEY", "how_to_get": "Sign up for a free MAP_KEY with an email address at https://firms.modaps.eosdis.nasa.gov/api/map_key/; the key is emailed and goes in the URL path."}], "endpoints": [{"action": "fetch", "method": "GET", "path": "/api/area/csv/{MAP_KEY}/{SOURCE}/{AREA_COORDINATES}/{DAY_RANGE}", "params": "SOURCE: VIIRS_SNPP_NRT, VIIRS_NOAA20_NRT, VIIRS_NOAA21_NRT, MODIS_NRT, LANDSAT_NRT (US/Canada), or *_SP for standard processing; AREA_COORDINATES: west,south,east,north or world; DAY_RANGE 1-5", "notes": "Most recent detections from today back DAY_RANGE-1 days. A /{DATE} suffix returns DATE to DATE+DAY_RANGE-1 instead. An invalid key returns HTTP 400 'Invalid MAP_KEY.'"}, {"action": "fetch", "method": "GET", "path": "/data/active_fire/{product}/csv/{PREFIX}_{Region}_{24h|48h|7d}.csv", "params": "e.g. /data/active_fire/noaa-20-viirs-c2/csv/J1_VIIRS_C2_Global_24h.csv, /data/active_fire/noaa-21-viirs-c2/csv/J2_VIIRS_C2_Global_24h.csv, /data/active_fire/modis-c6.1/csv/MODIS_C6_1_Global_24h.csv; regions include Global, USA_contiguous_and_Hawaii, Canada, Europe, South_America and others", "notes": "No key. Refreshed every 60 minutes. KML and shapefile versions exist alongside."}, {"action": "list", "method": "GET", "path": "/api/active_fire_files/all?format=json", "notes": "No key. JSON list of every downloadable 24h/48h/7d file (CSV, KML, SHP) by sensor and region, as used by the FIRMS Active Fire Data page."}, {"action": "list", "method": "GET", "path": "/api/data_availability/csv/{MAP_KEY}/{SENSOR}", "params": "SENSOR: ALL, LANDSAT_NRT, MODIS_NRT, MODIS_SP, VIIRS_NOAA20_NRT, VIIRS_NOAA20_SP, VIIRS_NOAA21_NRT, VIIRS_NOAA21_SP, VIIRS_SNPP_NRT, VIIRS_SNPP_SP", "notes": "Date availability of SP and NRT data per sensor."}], "rate_limits": "5000 transactions per 10-minute interval per MAP_KEY; larger requests (e.g. 7 days) can count as several transactions.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "io.github.pipeworx-io/nasa-firms (Pipeworx, third party), remote https://gateway.pipeworx.io/nasa-firms/mcp"}}, "adapter": "nasa_firms", "verification": {"human": {"level": "none", "unknown": "Detections are made by algorithms on satellite data, not by people"}, "application": {"level": "none", "unknown": "No signing or published hashes of delivered files"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each detection names the satellite and instrument (MODIS, VIIRS, Landsat). Sensor identity is operator-asserted metadata"}, "time": {"level": "claimed", "method": "Each detection carries the acquisition date and time (UTC) of the overpass", "unknown": "How timestamps are validated is not documented in pages read"}, "location": {"level": "claimed", "method": "Each detection carries the latitude and longitude of the centre of the satellite pixel where the fire was seen (about 375 m for VIIRS, 1 km for MODIS, 30 m for Landsat), with scan/track pixel dimensions", "unknown": "The fire can be anywhere within the pixel, and pixels grow towards the swath edge; NRT geolocation error is usually under 100 m but can be several kilometres after spacecraft manoeuvres or space-weather events"}, "content": {"level": "claimed", "method": "Detections carry a confidence value; the FAQ says VIIRS data 'have been extensively tested', MODIS validation used coincident ASTER observations, and Landsat validation used aerial, commercial satellite, MODIS and VIIRS data", "unknown": "False detections are known (e.g. super-heated smoke plumes at night, sun glint on reflective roofs, degraded data after spacecraft manoeuvres); per-detection error rates are not published"}, "corroboration": {"level": "none", "unknown": "Each detection stands alone; a buyer can compare across sensors (VIIRS vs MODIS) themselves"}}, "delivery": {"modes": ["live"], "speed": "hours", "basis": "FIRMS FAQ: 'FIRMS makes the NRT data available within 3 hours of a satellite observation (on a best-effort basis); the RT data are available within 30 minutes of overpass and the URT within 5 minutes.' (US and Canada for RT/URT)"}, "sources": [{"claim": "Earthdata alert (issued 2025-05-02, read 2026-10-28): Suomi NPP delivery ceases Nov. 2, 2026; Terra and Aqua platforms begin shutting down operations in late 2026/early 2027", "url": "https://www.earthdata.nasa.gov/data/alerts-outages/transition-from-modis-viirs"}, {"claim": "Area API URL pattern and optional DATE suffix; SOURCE list (LANDSAT_NRT US/Canada only, MODIS_NRT, VIIRS_SNPP/NOAA20/NOAA21_NRT, *_SP); DAY_RANGE 1-5; free MAP_KEY; 5000 transactions per 10 minutes; URT under 60 seconds for much of the US and Canada; RT/URT replaced by NRT or dropped after 6 hours; 'download script' use", "url": "https://firms.modaps.eosdis.nasa.gov/api/area/"}, {"claim": "API services index (area, data_availability, map_key, kml_fire_footprints; country API currently not available)", "url": "https://firms.modaps.eosdis.nasa.gov/api/"}, {"claim": "MAP_KEY is free, requested with an email address and sent by email", "url": "https://firms.modaps.eosdis.nasa.gov/api/map_key/"}, {"claim": "data_availability endpoint and SENSOR list", "url": "https://firms.modaps.eosdis.nasa.gov/api/data_availability/"}, {"claim": "NRT within 3 hours (best effort), RT within 30 minutes, URT within 5 minutes (elsewhere 'within a minute') for US/Canada; Landsat 30-60 mins US/Canada; pixel sizes 375 m / 1 km / 30 m; location is pixel centre; NRT geolocation error and manoeuvres; 24h/48h/7d files updated every 60 minutes; VIIRS extensively tested; MODIS ASTER validation; Landsat validation; known false detections; cite 'NASA FIRMS'; full and open sharing", "url": "https://www.earthdata.nasa.gov/data/tools/firms/faq"}, {"claim": "Suomi NPP data delivery ceases Nov. 2, 2026; users should move to NOAA-20 and NOAA-21", "url": "https://firms.modaps.eosdis.nasa.gov/content/notifications/firms/news.html"}, {"claim": "LANCE: full and open sharing; data provided 'as is', users bear all responsibility and liability", "url": "https://www.earthdata.nasa.gov/data/projects/lance"}, {"claim": "ESDIS data-use guidance: NASA-led mission data CC0 unless marked; non-NASA data follow the sponsor's licence; acknowledge NASA; no implied endorsement", "url": "https://www.earthdata.nasa.gov/engage/open-data-services-software-policies/data-use-guidance"}, {"claim": "Keyless list of downloadable 24h/48h/7d CSV, KML and shapefile files per sensor and region", "url": "https://firms.modaps.eosdis.nasa.gov/api/active_fire_files/all?format=json"}, {"claim": "Keyless global 24h VIIRS NOAA-20 CSV returned real detections (fetched 2026-10-26, latest acquisition 2026-10-27 02:06 UTC)", "url": "https://firms.modaps.eosdis.nasa.gov/data/active_fire/noaa-20-viirs-c2/csv/J1_VIIRS_C2_Global_24h.csv"}, {"claim": "Calling the area API with an invalid key returns HTTP 400 'Invalid MAP_KEY.' (tested 2026-10-26)", "url": "https://firms.modaps.eosdis.nasa.gov/api/area/csv/BADKEY/VIIRS_NOAA20_NRT/world/1"}, {"claim": "No first-party FIRMS MCP server in the official registry; a third-party Pipeworx server io.github.pipeworx-io/nasa-firms is listed", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=firms"}, {"claim": "Area API: MAP_KEY required, 5000 transactions per 10-minute interval; bad key returns 'Invalid MAP_KEY.' HTTP 400", "url": "https://firms.modaps.eosdis.nasa.gov/api/area/"}, {"claim": "Keyless static file returned CSV on 2026-10-27", "url": "https://firms.modaps.eosdis.nasa.gov/data/active_fire/noaa-20-viirs-c2/csv/J1_VIIRS_C2_Global_24h.csv"}], "updated": "2026-10-28", "spec_version": "2026-10-26", "short": "NASA satellite detections of active fires worldwide, within hours of each overpass, free with no key.", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "automation_allowed": true, "gate": "none", "notes": "key_required is false only for the static files under /data/active_fire/. The area API needs a free MAP_KEY (limit 5,000 transactions per 10 minutes). Some other FIRMS download folders ask for an Earthdata Login.", "rate_limit": {"requests": 5000, "per_seconds": 600, "scope": "per-key", "notes": "Transactions per MAP_KEY per 10 minutes; a large request (several days) can count as several transactions.", "source_url": "https://firms.modaps.eosdis.nasa.gov/api/map_key/"}}, "payment": {"methods": [], "notes": "No payment: the service is free."}, "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}, "requester": {"checks": "None for the keyless files; the area API needs a MAP_KEY issued to an email address.", "unknown": "Nothing is commissioned; satellites observe on their own schedule."}}, {"id": "natix", "name": "NATIX Network", "provider_url": "https://www.natix.network/", "status": "unclaimed", "tags": ["dashcam", "tesla", "multi-camera", "video", "street", "autonomous vehicles", "world models", "edge cases", "simulation", "map-features", "depin"], "summary": "Crowdsourced multi-camera (4-6 camera) driving video from Tesla owners who plug in NATIX's VX360 device, sold to Physical AI and autonomous-driving teams as raw footage with GPS, IMU and vehicle telemetry, VLM- and telemetry-mined edge cases, OpenSCENARIO/OpenDRIVE scenarios and map features. NATIX says it can run targeted collection for any region or location. Sales-led: data is requested through a form or hello@natix.io. The Drive& phone app was shut down on 1 July 2026, so phone dashcam data is no longer collected.", "short": "Tesla multi-camera driving video from a contributor network, with targeted collection by request.", "capabilities": {"modalities": ["video", "sensor"], "tasks": ["targeted data collection for a region, location or use case", "synchronized multi-camera (4-6 camera) driving video with GPS, IMU and vehicle telemetry", "edge-case and long-tail clip extraction (telemetry events and VLM search)", "safety-critical driving events from telemetry (harsh braking, acceleration, sharp turns)", "OpenSCENARIO/OpenDRIVE 4D simulation scenarios", "map features: road signs, lane markings, road geometry, infrastructure assets, POIs", "custom AI detection models for an event of interest", "historic data access"]}, "pricing": {"model": "Not published; contact sales", "from_usd": 0, "unit": "not published", "notes": "0 means not published. NATIX announced a 'six-figure' agreement for 3,000 hours of driving data (7 Oct 2026); that is one deal, not a price list. The $379 figure is the VX360 contributor device, not data."}, "latency": {"typical": "Unknown", "notes": "No turnaround is published for targeted collection. The data page says 'You will the data in real-time fed to your system' and the home page mentions 'continuous data streams', with no figures and no public API."}, "freshness": {"mode": "mixed", "typical_age": "Not published", "notes": "Historic data access plus targeted collection. Contributor clips upload over Wi-Fi; the VX360 terms cut contributor points for uploads more than 24 hours after collection."}, "coverage": {"regions": ["33 countries (self-reported, not listed)", "Europe, North America and Japan (regions named for a 5.5K-hour, 28-country dataset)"], "notes": "Tesla vehicles with a VX360 device only. Self-reported: 2,890,321 registered drivers, 1,932,230 km mapped, '165,000+' multi-camera hours (labelled 'monthly' on the home page, but NATIX's own blog gives about 198K-200K hours collected in total by Sept/Oct 2026, so read it as a total). Clips are not collected inside drivers' privacy zones, in sensitive locations (e.g. military sites, hospitals) or outside the time windows NATIX sets."}, "licensing": {"summary": "No commercial licence terms for buyers are published; deals are by agreement, and NATIX describes the business as data licensing for training and validating Physical AI. Contributors keep ownership of their uploads and grant NATIX a non-exclusive, worldwide licence to make commercial products from them. NATIX's privacy notice says it does not sell, publish or share identifiable footage with third parties; faces and plates are blurred where technically feasible. Free sample datasets on Hugging Face are under the 'NATIX Data RAIL-NC' licence: gated, non-commercial, 12-month term, no redistribution. None of this states AI-training or resale rights for purchased or commissioned data."}, "verification": {"human": {"level": "none", "unknown": "Contributors register with an email or SMS double opt-in and must be 18+; NATIX 'may require' more documents but documents no identity check. A support-led identity check existed for Drive& token withdrawals (app sunset April 2026); it is not applied to VX360 data."}, "application": {"level": "none", "unknown": "Data comes only through a VX360 device onboarded to the NATIX companion app, and the terms say NATIX 'may check the phone for exploits or unauthorized software', but no check that is run, and no device or app attestation, is documented; nothing in the delivered data proves which device made it. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: VX360 copies footage from the Tesla's built-in exterior cameras (dashcam, Sentry Mode and VX360 clips); a Health Check flags non-unique clips. No signed capture or anti-injection method; NATIX is not on the C2PA conforming products list."}, "time": {"level": "claimed", "method": "UTC timestamps in clip metadata; a 'GPS & Timestamp Evaluation' scores each kilometre for accurate, coherent metadata.", "unknown": "The time source is not documented, and the terms say checks are not guaranteed for every epoch or user and may be disabled."}, "location": {"level": "claimed", "method": "GPS from the phone and vehicle in metadata; GPS spoofing is banned and scored by the same per-kilometre GPS & Timestamp Evaluation.", "unknown": "Scoring thresholds are published but the method is not, and checks may be skipped. The whitepaper uses blockchain for incentives and governance, not to verify data."}, "content": {"level": "claimed", "method": "'multiple data validation techniques to confirm the accuracy and authenticity of the data'; a Health Check removes non-unique or obstructed clips; VLMs index scenes.", "unknown": "The validation techniques are not named, and no per-delivery proof is described."}, "corroboration": {"level": "none", "unknown": "None documented."}}, "api": {"available": false, "self_serve": false, "rate_limits": "Not published", "sdk": "Site mentions 'our robust API' and 'Historic Data Access' but publishes no API docs. Request data via the form on the data page or hello@natix.io.", "mcp": {"remote": null, "registry_name": null, "notes": "No NATIX server in the official MCP Registry (searched 'natix' and 'vx360', 2026-10-26)."}, "notes": "docs.natix.network covers only the whitepaper, the VX360 user manual and policies; no buyer API. No OAuth metadata at /.well-known on natix.network."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "'We can target any region or location. If you have data gaps and blindspots in a certain region, NATIX can help you with targeted data collection for the desired use-case.' No turnaround is stated."}, "access": {"cost": "quote", "key_required": false, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "NATIX says customers pay for data 'in stable or fiat currencies' (stablecoins or fiat); the rail and terms are set per agreement. No online checkout."}, "capture": {"by": "contributors"}, "requester": {"checks": "The data request form asks for name, email, company and product category, and 'our representative will contact you upon review'. Free sample datasets need manual approval on Hugging Face and a pledge not to re-identify people or use the data for surveillance or law enforcement.", "unknown": "What NATIX checks before a paid or targeted-collection deal, and whether it screens requests aimed at a specific place or person."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Products (multi-camera 4-6 cameras, GPS/IMU/telemetry, anonymization), targeted data collection quote, 'robust API' and historic data access claims, request form and hello@natix.io, 'three continents', no price or licence", "url": "https://www.natix.network/autonomous-driving-data"}, {"claim": "Network stats (registered drivers, km mapped, 165,000+ hours labelled monthly, 33 countries), VX360 $379, 'multiple data validation techniques', edge cases/OpenSCENARIO products", "url": "https://www.natix.network/"}, {"claim": "Timeline: '+165K hours of multi-cam driving data collected', H1 2026 Drive& sunset, 33 countries", "url": "https://www.natix.network/about"}, {"claim": "Drive& phone app earnings ended 1 May 2026 and operations ended 1 July 2026; focus moved to VX360", "url": "https://www.natix.network/blog/closing-a-chapter-in-the-evolution-of-natix-network"}, {"claim": "Six-figure agreement for 3,000 hours; 200,000+ hours collected; customers pay in stable or fiat currencies", "url": "https://www.natix.network/blog/natix-data-sale-world-model-lab"}, {"claim": "198K+ hours collected; Valeo dataset of 5.5K hours spanning 28 countries in Europe, North America and Japan; telemetry events dataset", "url": "https://www.natix.network/blog/progress-update-natix-network-september-2026"}, {"claim": "Raw data contents (multi-camera video, GPS, IMU, telemetry), edge-case mining, 4D scenarios, map features", "url": "https://docs.natix.network/whitepaper/natix-data-products/raw-data"}, {"claim": "Data sold in stable or fiat currencies; revenue from data licensing", "url": "https://docs.natix.network/whitepaper/natix-economy/natix-economy-break-down/data-monetization-and-value-accrual"}, {"claim": "Blockchain used for governance, incentives and transparency", "url": "https://docs.natix.network/whitepaper/natix-network-ecosystem/network-infrastructure"}, {"claim": "VX360 privacy zones, exterior cameras only, face and plate blurring, contributor incentives", "url": "https://docs.natix.network/whitepaper/market-entry-products/natix-vx360"}, {"claim": "Contributor terms: footage types, collection exclusions (privacy zones, sensitive locations, time windows), registration and 18+, Health Check, GPS & Timestamp Evaluation, late-upload penalties, GPS-spoofing ban, device exploit checks, contributor licence grant", "url": "https://docs.natix.network/policies/terms-vx360"}, {"claim": "Metadata includes GPS and timestamps; no sale or sharing of identifiable footage; blurring where technically feasible", "url": "https://docs.natix.network/policies/privacy-notice"}, {"claim": "Sample dataset gating (manual approval, no re-identification or surveillance) and NATIX Data RAIL-NC licence (non-commercial, 12 months, no redistribution)", "url": "https://huggingface.co/datasets/natix-network-org/natix-multi-camera-driving-dataset"}, {"claim": "No NATIX server in the MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=natix"}, {"claim": "NATIX is not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Drive& withdrawals: support-guided identity verification; Drive& being shut down", "url": "https://www.natix.network/blog/closing-a-chapter-in-the-evolution-of-natix-network"}]}, {"id": "ndbc-buoys", "name": "NOAA NDBC buoys", "status": "unclaimed", "provider_url": "https://www.ndbc.noaa.gov/", "tags": ["buoy", "buoys", "offshore", "ocean", "marine", "waves", "wave height", "swell", "surf", "sea state", "wind", "gust", "sea surface temperature", "pressure", "c-man", "great lakes", "sailing", "boating", "government", "free", "real-time", "sensor", "noaa", "united states", "buoycam", "camera", "photo"], "summary": "NOAA's National Data Buoy Center publishes real-time observations from moored offshore buoys, coastal C-MAN stations and partner stations (wind speed, direction and gust, significant wave height and period, air and sea temperature, pressure) as plain-text files over HTTPS, free and with no key. Most stations report hourly; the real-time directory holds the last 45 days. About 90 buoys also carry BuoyCAMs that take daylight photos of the sea surface.", "capabilities": {"modalities": ["sensor", "photo"], "tasks": ["latest offshore buoy observation: wind speed, direction and gust", "significant wave height, dominant and average wave period, mean wave direction", "air temperature, sea surface temperature, dew point, pressure and pressure tendency", "spectral wave summaries (.spec) for buoys; oceanographic, current (ADCP), continuous-wind, solar radiation, rain and DART files where a station has them", "latest observation from every reporting station in one file (latest_obs.txt, with coordinates)", "latest BuoyCAM photo from a buoy (panoramic JPEG, daylight hours, UTC time stamped on the image)", "last 45 days of real-time history per station"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "No fee and no key. NDBC asks users to 'limit your retrievals to a minimal level'."}, "latency": {"typical": "Most stations report hourly, with most data available by about 25 minutes after the hour", "notes": "From the NDBC real-time data access FAQ. Some stations report more often (46026 reports every 10 minutes); check the station page for its interval. A fetch at about 04:59 UTC on 2026-10-27 (2026-10-26 US time) returned a 46026 row stamped 04:30 UTC. The BuoyCAM map refreshes every 15 minutes; BuoyCAM images seen were stamped 04:10 UTC."}, "coverage": {"regions": ["United States coastal and offshore waters, including the Great Lakes, Gulf of Mexico, Atlantic, Pacific, Alaska, Hawaii, Puerto Rico, the U.S. Virgin Islands, Guam and American Samoa", "Partner stations relayed by NDBC: Canada, UK, New Zealand and Irish/French shelf waters, Korea, and tropical moored arrays in the Atlantic, Pacific and Indian Oceans"], "notes": "Only existing fixed stations; you cannot request a new buoy. activestations.xml listed 1,352 stations on 2026-10-26 (programs: IOOS partners, NOS/CO-OPS, NDBC, international partners such as Environment and Climate Change Canada, UK Met Office and the Korean Meteorological Administration, NERRS, tsunami DART, TAO); latest_obs.txt listed 817 currently reporting stations. Data from partner stations are the partners'. Not every station reports every variable (MM marks missing values), and buoys can go adrift or offline. BuoyCAMs: 90 stations listed, 75 with a current image. activestations.xml lists 12 New Zealand stations (NEMA, GNS Science, NIWA), 14 UK Met Office and 45 ECCC. latest_obs.txt had 868 lines on 2026-10-27 (817 the day before), so the count varies. Ireland and France are named in the regions but not confirmed in areas.", "areas": ["US", "PR", "VI", "GU", "AS", "CA", "GB", "KR", "NZ"]}, "licensing": {"summary": "NDBC's footer 'Disclaimer' link goes to the NWS disclaimer, which says information on NWS web pages is in the public domain unless specifically noted otherwise and may be used without charge for any lawful purpose, so long as you do not claim it as your own, imply NOAA/NWS endorsement, or modify it and present it as official. Third-party information is used under licence from its provider; partner-station data (e.g. Canada, UK, Korea) may carry the partner's terms. The terms do not mention AI training or resale."}, "freshness": {"mode": "live", "typical_age": "Usually under about 1.5 hours for active hourly stations; BuoyCAM images up to 16 hours old are still served", "notes": "Real-time files cover the last 45 days; older data are in NDBC's historical archive, which irlpls does not list. buoycam.php returns an error once a station's photo is older than 16 hours."}, "api": {"available": true, "self_serve": true, "docs_url": "https://www.ndbc.noaa.gov/faq/rt_data_access.shtml", "base_url": "https://www.ndbc.noaa.gov", "auth": [{"type": "none", "how_to_get": "No key needed."}], "endpoints": [{"action": "search", "method": "GET", "path": "/data/latest_obs/latest_obs.txt", "notes": "One row per reporting station with station id, lat, lon, time and the standard variables; use it to find the station nearest a point."}, {"action": "list", "method": "GET", "path": "/activestations.xml", "notes": "Every active station with lat, lon, owner, program, type and flags for met, currents, water quality and DART."}, {"action": "fetch", "method": "GET", "path": "/data/realtime2/{STATION}.txt", "params": "STATION, e.g. 46026 (C-MAN stations use upper-case ids such as FPSN7)", "notes": "Standard meteorological data, newest row first, space-separated, times in UTC, MM = missing. Other types in the same directory: .spec, .data_spec, .swdir, .swdir2, .swr1, .swr2, .cwind, .drift, .adcp, .ocean, .supl, .srad, .rain, .dart (not every station has every type)."}, {"action": "list", "method": "GET", "path": "/buoycams.php", "notes": "JSON list of BuoyCAM stations with id, name, lat, lng and the latest image file name (null when none)."}, {"action": "fetch", "method": "GET", "path": "/buoycam.php", "params": "station=STATION", "notes": "Latest BuoyCAM JPEG for the station; an error image if the station has no camera or the photo is older than 16 hours. Individual images: /images/buoycam/{img}."}], "rate_limits": "No numbers published. NDBC asks users to 'limit your retrievals to a minimal level'; the linked NWS use policy says NWS may block IP addresses of users who impact service.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No NOAA-run MCP server in the official MCP Registry. Third-party servers wrap NDBC, e.g. io.github.pipeworx-io/noaa-ndbc, io.github.mansurjisan/ndbc-mcp, io.github.mrfentmen/ndbc-buoy-mcp, io.github.cyanheads/noaa-marine-mcp-server, com.a2awire/data-marine-weather-buoy-observation-noaa (paid)."}}, "verification": {"human": {"level": "none", "unknown": "Not applicable in the usual sense: readings come from automated instruments, not individual contributors"}, "application": {"level": "none", "unknown": "No signing or integrity proof from buoy to file or image; integrity rests on NOAA operating the network and on partners for their stations"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: NDBC says it operates BuoyCAMs at several stations; each image carries the station ID and UTC time burned into the frame. Images are not signed (no C2PA); camera hardware, mounting and any processing of the panoramas are not documented on the pages read. Sensor readings have no camera."}, "time": {"level": "claimed", "method": "Every row carries a UTC observation time (YY MM DD hh mm); BuoyCAM file names and images carry the UTC capture time", "unknown": "How station clocks are set or checked was not found in the pages read"}, "location": {"level": "claimed", "method": "Fixed stations with published coordinates in latest_obs.txt and station pages", "unknown": "Moored buoys move within their watch circle and can break free; drifting positions are in separate .drift files"}, "content": {"level": "claimed", "method": "Real-time data pass automated checks at NWSTG (transmission parity, range limit, time continuity, gust-to-speed relational checks); data from a sensor found degraded are removed or withheld", "unknown": "How often bad values slip through real-time QC is not stated; stricter checks and duplicate-sensor comparisons are described for archived data. BuoyCAM images have no stated QC."}, "corroboration": {"level": "none", "unknown": "No independent cross-check per observation. NDBC compares duplicate sensors on the same station, but that is not independent."}}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "NDBC FAQ: 'Most stations report hourly and most of the data is available by 25 minutes after the hour.'"}, "sources": [{"claim": "Real-time files at data/realtime2/{station}.{type}; data types list; last 45 days; automated real-time QC; HTTPS; scripted access with wget/LWP described; keep retrievals minimal; most stations hourly, available about 25 minutes after the hour", "url": "https://www.ndbc.noaa.gov/faq/rt_data_access.shtml"}, {"claim": "Live keyless fetch of station 46026 at ~04:59 UTC 2026-10-27 returned rows every 10 minutes, newest 04:30 UTC, with WDIR, WSPD, GST, WVHT, DPD, APD, MWD, PRES, ATMP, WTMP, DEWP columns", "url": "https://www.ndbc.noaa.gov/data/realtime2/46026.txt"}, {"claim": "latest_obs.txt lists one row per reporting station with coordinates; 817 rows on 2026-10-26, including Canadian, UK, Korean and tropical-array stations", "url": "https://www.ndbc.noaa.gov/data/latest_obs/latest_obs.txt"}, {"claim": "1,352 active stations with owner and program, including Environment and Climate Change Canada, UK Met Office and Korean Meteorological Administration", "url": "https://www.ndbc.noaa.gov/activestations.xml"}, {"claim": "Realtime directory holds .srad, .rain, .supl and .dart files besides the FAQ types", "url": "https://www.ndbc.noaa.gov/data/realtime2/"}, {"claim": "NDBC operates BuoyCAMs at several stations, photos typically only in daylight; map refreshes every 15 minutes", "url": "https://www.ndbc.noaa.gov/buoycams.shtml"}, {"claim": "BuoyCAM station list as JSON: 90 stations, 75 with a current image file", "url": "https://www.ndbc.noaa.gov/buoycams.php"}, {"claim": "Latest BuoyCAM image at buoycam.php?station=xxxxx; error once the photo is older than 16 hours", "url": "https://www.ndbc.noaa.gov/faq/buoycamlinks.shtml"}, {"claim": "Live keyless BuoyCAM fetch for 41004 returned a 2880x300 JPEG stamped with station ID and 10/27/2026 0410 UTC", "url": "https://www.ndbc.noaa.gov/buoycam.php?station=41004"}, {"claim": "Real-time QC: parity, range-limit, time-continuity and relational checks at NWSTG; degraded-sensor data removed; duplicate-sensor comparison at NDBC", "url": "https://www.ndbc.noaa.gov/faq/qc.shtml"}, {"claim": "Realtime files show times in UTC only; wind averaging and wave sampling periods", "url": "https://www.ndbc.noaa.gov/faq/measdes.shtml"}, {"claim": "NWS disclaimer (NDBC footer link): public domain unless noted, free for any lawful purpose with three conditions; third-party data under the provider's licence; NWS may block abusive IPs", "url": "https://www.weather.gov/disclaimer"}, {"claim": "No NOAA-run MCP server; third-party NDBC wrappers listed", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=ndbc"}, {"claim": "activestations.xml owners include NZ NEMA/GNS/NIWA (12 stations), UK Met Office (14), ECCC (45)", "url": "https://www.ndbc.noaa.gov/activestations.xml"}], "updated": "2026-10-28", "spec_version": "2026-10-26", "short": "NOAA's offshore buoys and coastal stations: wind, waves, sea temperature and buoy-camera photos, free.", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "automation_allowed": true, "gate": "none"}, "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}, "adapter": "ndbc-buoys"}, {"id": "noaa-tides", "name": "NOAA tide and current stations", "adapter": "noaa_tides", "status": "unclaimed", "provider_url": "https://tidesandcurrents.noaa.gov/", "tags": ["tide", "tides", "water level", "sea level", "storm surge", "coastal flooding", "harbor", "port", "coast", "beach", "great lakes", "currents", "wind", "water temperature", "air temperature", "barometric pressure", "marine", "boating", "surf", "sensor", "station", "live", "real-time", "noaa", "co-ops", "nwlon", "government", "united states", "usa", "puerto rico", "hawaii", "alaska", "public domain", "free", "no key"], "summary": "NOAA's Center for Operational Oceanographic Products and Services (CO-OPS) runs fixed coastal, Great Lakes and Pacific-island stations reporting 6-minute water levels plus, at many sites, wind, air/water temperature, pressure, visibility and real-time currents (PORTS). A free, keyless Data Retrieval API returns the latest reading per station; a Metadata API lists stations with coordinates, sensor status and nearby stations so an agent can find the closest one.", "capabilities": {"modalities": ["sensor"], "tasks": ["latest observed water level at a coastal or Great Lakes station (6-minute interval, relative to a chosen datum such as MLLW)", "wind speed, direction and gust", "air temperature, water temperature, air pressure, humidity, visibility, conductivity, salinity (where the station has the sensor)", "observed currents at real-time PORTS current-meter stations", "air gap (clearance between a bridge and the water surface) at air-gap stations", "1-minute water level at a subset of stations", "last 72 hours of preliminary data (date=recent)", "find stations by type (waterlevels, met, currents, watertemp, 1minute, airgap, visibility, ...) with lat/lng, or stations near a given station within a radius"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "No fee, no account and no API key appear in the documented parameters. Keyless calls returned live data on 2026-10-25 and again on 2026-10-26."}, "latency": {"typical": "Minutes: date=latest returns the last data point available within the last 18 minutes", "notes": "Live tests on 2026-10-26 (04:59 UTC on 27 Oct): San Francisco (9414290) water level and wind were timestamped 04:54 UTC (5 minutes old); Kwajalein, Bermuda, Midway and San Juan were timestamped 04:48 UTC (11 minutes old). A 2004 CO-OPS technical report says routine transmission is every six minutes for some stations, every hour for others and every three hours for others, relayed via GOES satellite, so lag can vary by station."}, "coverage": {"regions": ["United States coasts (Atlantic, Gulf, Pacific, Alaska, Hawaii)", "Great Lakes", "Puerto Rico and US Virgin Islands", "US Pacific territories and possessions (American Samoa, Guam, Midway, Wake)", "Kwajalein, Marshall Islands", "Bermuda"], "notes": "Fixed stations only; you cannot request a new one. A live Metadata API call on 2026-10-26 listed 302 stations of type waterlevels (most in TX, MI, AK, FL, CA, NY, WA, LA, PR), 314 of type met, 257 of type 1minute and 85 of type currents (all at PORTS harbors). Non-state stations: Apra Harbor and Pago Bay (Guam), Pago Pago (American Samoa), Midway, Wake, Kwajalein (Marshall Islands), four in the US Virgin Islands and two in Bermuda; Guam, American Samoa, Midway, Wake, Kwajalein, Bermuda and Virgin Islands stations all returned same-day water levels on 2026-10-26. Not every product exists at every station, and sensors go offline: water_temperature at San Francisco 9414290 returned 'No data was found', and its sensors resource marks that sensor status 0 with 'Suspect Data - Data failed to meet QC standards - under review.'", "areas": ["US", "PR", "VI", "AS", "GU", "UM", "MH", "BM"]}, "licensing": {"summary": "Per the Tides & Currents disclaimer, information on government servers is in the public domain unless specifically annotated otherwise and may be used freely by the public. It must not be modified in content and then presented as official government material, and NOS requests attribution when its material is reproduced and re-disseminated. Raw (preliminary) data have not passed NOS quality control or quality assurance and are to be used with appropriate caution. Data are provided as-is; the user assumes the entire risk and NOS disclaims liability. The terms do not mention AI training or resale."}, "freshness": {"mode": "mixed", "typical_age": "Typically minutes for the latest preliminary point; verified data after the following month; history back years", "notes": "date=latest (last point within 18 min), date=recent (72 h) and date=today apply only to preliminary water level, meteorological data and predictions. Water level responses carry q = 'p' (preliminary) or 'v' (verified). The API docs say water level data are verified monthly for the past month (January data verified in February), with no fixed date per station. Per-request length limits: 1-minute data 4 days, 6-minute data 1 month, hourly and high/low 1 year."}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "API docs: date=latest retrieves the last data point available within the last 18 minutes; a live test on 2026-10-26 returned a 5-minute-old reading."}, "api": {"available": true, "docs_url": "https://api.tidesandcurrents.noaa.gov/api/prod/", "base_url": "https://api.tidesandcurrents.noaa.gov", "auth": [{"type": "none", "how_to_get": "No key. Docs ask callers to pass application=<your org or app name> so CO-OPS can find your queries in its logs (not required)."}], "endpoints": [{"action": "search", "method": "GET", "path": "/mdapi/prod/webapi/stations.json", "params": "type (waterlevels, met, waterlevelsandmet, currents, watertemp, 1minute, airgap, visibility, ...); expand (details, sensors, products, datums, floodlevels, ...); units", "notes": "Returns count and stations[] with id, name, lat, lng, state, timezone, tidal, greatlakes, affiliations (currents stations carry project, e.g. 'Boston Harbor PORTS'). No bbox filter on the list; filter by distance client-side. Per-station resources at /mdapi/prod/webapi/stations/{id}/details.json, sensors.json (status and outage messages), datums.json, floodlevels.json."}, {"action": "search", "method": "GET", "path": "/mdapi/prod/webapi/stations/{id}/nearby.json", "params": "radius (nautical miles; default 2)", "notes": "Stations near a known station, with stationType and distance."}, {"action": "fetch", "method": "GET", "path": "/api/prod/datagetter", "params": "station (7-char ID, e.g. 9414290, or a currents ID like cb0102); product=water_level; date=latest|recent|today or begin_date/end_date/range; datum (mandatory for water level, e.g. MLLW, MSL, STND); units=metric|english; time_zone=gmt|lst|lst_ldt; format=json|xml|csv; application=irlpls", "notes": "Live response: {metadata:{id,name,lat,lon}, data:[{t,v,s,f,q}]} where v = height, s = sigma of 1-second samples, f = flags O,F,R,L (outlier count, flat, rate-of-change, min/max limit), q = p preliminary / v verified. Missing product returns {error:{message}}."}, {"action": "fetch", "method": "GET", "path": "/api/prod/datagetter", "params": "same as above with product=wind | air_temperature | water_temperature | air_pressure | humidity | visibility | conductivity | salinity | air_gap | currents (bin needed at non-PORTS stations) | one_minute_water_level", "notes": "Wind returns t, s (speed), d (degrees), dr (text direction), g (gust), f (X max speed exceeded, R rate of change). Also available but not observations: predictions and currents_predictions (tide/current forecasts) and ofs_water_level (model nowcast/forecast guidance)."}], "rate_limits": "No numbers published. Docs say CO-OPS throttles heavy volume from a single customer and recommends sleep statements between successive calls and downloading only the data needed. Per-request length limits apply (e.g. 1 month of 6-minute data). A keyless response on 2026-10-26 carried no rate-limit headers.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No NOAA-run MCP server in the official MCP Registry. Third-party servers wrapping this API are listed, e.g. io.github.RyanCardin15/noaa-tides-and-currents-mcp, io.github.pipeworx-io/noaa-tides, io.github.cyanheads/noaa-marine-mcp-server, io.github.mrfentmen/tides-mcp."}}, "verification": {"human": {"level": "none", "unknown": "Not applicable: readings come from automated government-operated instruments, not individual contributors"}, "application": {"level": "none", "unknown": "No documented signing or attestation of data from station to API; integrity rests on NOAA operating the network over HTTPS"}, "camera": {"level": "none", "unknown": "Not applicable; no imagery is collected"}, "time": {"level": "claimed", "method": "Each value has an observation timestamp (t). CO-OPS sensor specifications say each water level value is the average of 181 one-second samples centered on each tenth of an hour, and wind speed and direction are 2-minute averages collected before each tenth of an hour.", "unknown": "How station clocks are set or checked was not found in the documents read; nothing is signed or time-stamped by a third party."}, "location": {"level": "claimed", "method": "Fixed stations with published lat/lng in the Metadata API and in each data response; stations also publish surveyed benchmarks through the benchmarks resource.", "unknown": "Coordinates are agency-entered; their positional accuracy was not reviewed."}, "content": {"level": "claimed", "method": "Every preliminary water level value carries automated QC flags (outlier count, flat, rate-of-change and min/max tolerance) and a preliminary/verified level; verified data are reviewed monthly and may be marked inferred. CO-OPS specifies estimated accuracy of \u00b10.02 m per individual water level measurement relative to datum, and a three-standard-deviation outlier rejection test in each 6-minute average. Sensor outages and suspect data are reported per station in the sensors resource.", "unknown": "The flags and accuracy figures are NOAA's own statements, not independently checkable per value. The latest (preliminary) values have not passed NOS QC/QA per the disclaimer, and the full verification procedure was not read."}, "corroboration": {"level": "none", "unknown": "No cross-check between stations or independent instruments is documented in the API; sigma (s) gives within-sample spread only, and monthly verification is NOAA's own review."}}, "sources": [{"claim": "Data Retrieval API base URL, parameters (station, product, date options, datum mandatory for water level, units, time_zone, format, application optional and recommended), products list incl. air_gap, currents_predictions, ofs_water_level; date=latest = last point within 18 min, recent = 72 h; water level verified monthly for the past month; per-request length limits; throttling and sleep guidance; no key parameter documented", "url": "https://api.tidesandcurrents.noaa.gov/api/prod/"}, {"claim": "Response fields t, v, s, f, q; q p = preliminary, v = verified; preliminary flags O,F,R,L and verified flags I,F,R,T; wind fields s, d, dr, g and flags X, R", "url": "https://api.tidesandcurrents.noaa.gov/api/prod/responseHelp.html"}, {"claim": "Metadata API stations endpoint, type values (waterlevels, met, currents, watertemp, 1minute, airgap, visibility, ...), expand options, details/sensors/datums/benchmarks resources, nearby resource with radius in nautical miles (default 2)", "url": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/"}, {"claim": "Public domain unless annotated, may be used freely; not to be modified and presented as official; attribution requested; raw data not QC'd, use with caution; as-is, user assumes risk, no NOS liability; no mention of AI training or resale", "url": "https://tidesandcurrents.noaa.gov/disclaimers.html"}, {"claim": "Web services enable manual or automated machine-to-machine data retrievals; Data API, Metadata API and Derived Product API listed", "url": "https://tidesandcurrents.noaa.gov/web_services_info.html"}, {"claim": "Sensor specifications (updated 12/2025): water level sensors sample and transmit at six-minute intervals; each value is the average of 181 one-second samples centered on each tenth of an hour with 3-sigma outlier rejection; estimated accuracy \u00b10.02 m per measurement; wind speed/direction 2-minute averages, gust max 5-second average in previous 6 minutes", "url": "https://tidesandcurrents.noaa.gov/publications/CO-OPS_Measurement_Spec.pdf"}, {"claim": "2004 technical report: NWLON data relayed via GOES satellite in near real time; routine transmission every six minutes for some stations, hourly for others, every three hours for others", "url": "https://tidesandcurrents.noaa.gov/publications/tech_rpt_026.pdf"}, {"claim": "Live keyless test 2026-10-26 (04:59 UTC 27 Oct): water_level and wind for 9414290 returned readings timestamped 04:54 UTC, water level q='p'; no rate-limit headers in the response", "url": "https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=water_level&date=latest&station=9414290&datum=MLLW&units=metric&time_zone=gmt&format=json&application=irlpls"}, {"claim": "Live test 2026-10-26: water_temperature at 9414290 returned 'No data was found'", "url": "https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=water_temperature&date=latest&station=9414290&units=metric&time_zone=gmt&format=json&application=irlpls"}, {"claim": "Live test 2026-10-26: 9414290 sensors resource marks Water Temperature status 0, 'Suspect Data - Data failed to meet QC standards - under review'", "url": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations/9414290/sensors.json"}, {"claim": "Live test 2026-10-26: 302 waterlevels stations with lat/lng and state, incl. PR, VI, American Samoa, Bermuda and 'United States of America' entries for Guam (2), Midway, Wake and Kwajalein", "url": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations.json?type=waterlevels"}, {"claim": "Live test 2026-10-26: 85 currents stations, all with a PORTS project", "url": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations.json?type=currents"}, {"claim": "Live test 2026-10-26: 314 met stations", "url": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations.json?type=met"}, {"claim": "Live test 2026-10-26: 257 1minute stations", "url": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations.json?type=1minute"}, {"claim": "Live test 2026-10-26: Kwajalein (1820000) returned a same-day preliminary water level; Guam 1630000, Pago Pago 1770000, Bermuda 2695540, Midway 1619910, Wake 1890000, Charlotte Amalie 9751639 and San Juan 9755371 likewise", "url": "https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=water_level&date=latest&station=1820000&datum=MSL&units=metric&time_zone=gmt&format=json&application=irlpls"}, {"claim": "No first-party NOAA MCP server in the official registry; third-party NOAA tides servers listed", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=noaa"}], "updated": "2026-10-27", "short": "NOAA's coastal and Great Lakes stations: water level, wind and temperature every six minutes.", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none"}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "nws", "name": "NWS weather stations (NOAA)", "status": "unclaimed", "provider_url": "https://www.weather.gov", "adapter": "nws", "tags": ["weather", "sensor", "temperature", "wind", "humidity", "pressure", "visibility", "METAR", "ASOS", "airport", "station", "mesonet", "live", "united states", "usa", "us", "noaa", "public domain", "free", "no key"], "summary": "Free, keyless US government API (api.weather.gov) that serves live surface observations from fixed weather stations ingested through NOAA's MADIS system: NWS-maintained ASOS airport stations plus many networks NWS does not maintain (e.g. MesoWest, APRSWXNET, HADS, RAWS). Find the stations nearest a US lat/lon, then read the latest observation or up to 7 days of history; each value carries a MADIS quality-control flag.", "capabilities": {"modalities": ["sensor"], "tasks": ["current temperature / dewpoint / relative humidity", "wind speed, direction and gusts", "barometric and sea-level pressure", "visibility, present weather and sky text description", "precipitation over the last 1, 3 and 6 hours", "raw METAR message (METAR stations)", "recent observation history for a station (7 days retained, up to 500 per request)", "nearest stations for a US lat/lon"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "No charge and no account. NWS docs say all API information is intended to be open data, free to use for any purpose."}, "latency": {"typical": "Minutes after the station reports; observations may lag the upstream MADIS source by up to about 20 minutes", "notes": "NWS docs say observations may be delayed up to 20 minutes from MADIS, the upstream source, because of QC processing (and since 4 Aug 2025 should no longer routinely be delayed more than that). Live check 2026-10-26: KNYC (Central Park, ASOS) latest observation was 03:51Z when fetched at about 04:58Z (the 04:51 report was not yet in), with Cache-Control max-age=87, s-maxage=300. Its last eight records were hourly at :51 with three hours missing. Single sample, not a spec. Nothing new is captured on request: stations report on their own schedule."}, "coverage": {"regions": ["United States", "Puerto Rico", "US Virgin Islands", "Guam", "Northern Mariana Islands"], "notes": "Coverage is the fixed station network NWS ingests through MADIS; you cannot place a station. Live tests 2026-10-26: /stations lists stations for PR (149), GU (16), VI (13), AS (12) and MP (7), and stations in PR, GU, VI and MP returned observations from that day; none of the 12 American Samoa stations returned an observation and /points for Pago Pago lists no observation stations, so AS is left out. /points for London returns 404 'Data Unavailable For Requested Point'. Density varies: the nearest station to lower Manhattan was KNYC at 8.6 km; Vermont lists 199 stations, most from non-NWS networks (MesoWest 66, APRSWXNET 74), only one tagged ASOS. NWS says data quality can vary by provider. Rural density was not measured.", "areas": ["US", "PR", "VI", "GU", "MP"]}, "licensing": {"summary": "NWS says information on its web pages is in the public domain unless specifically noted otherwise and may be used without charge for any lawful purpose, as long as you do not claim it as your own (e.g. claim copyright), imply NOAA/NWS endorsement or affiliation, or modify it and present it as official. The NWS name and visual identifier are trademarked. Under 17 U.S.C. 403, works consisting predominantly of NWS material must say that material is not subject to copyright. Third-party information is used under the third party's licence. Provided as-is with no warranty. The API docs say all API information is intended to be open data, free to use for any purpose. Neither page mentions AI training or resale explicitly, and neither says which station networks in the API count as third-party data."}, "verification": {"human": {"level": "none", "unknown": "Not applicable: readings are from automated or staffed stations, not crowd contributors; no human identity claim is made per observation"}, "application": {"level": "none", "unknown": "No documented signing or attestation of the data chain from instrument to API; integrity rests on a government-operated service over HTTPS. Most stations are not maintained by NWS (only ASOS is, per the API docs), and the instruments and software of other networks are not described in the API"}, "camera": {"level": "none", "unknown": "Not applicable; no imagery is collected"}, "time": {"level": "claimed", "method": "Each observation carries an instrument report timestamp (e.g. METAR time group '270351Z' matching timestamp 2026-10-27T03:51:00+00:00 in a live response).", "unknown": "How station clocks are disciplined is not documented in the API docs; no time-integrity method was found"}, "location": {"level": "claimed", "method": "Observations come from fixed, registered stations with published coordinates and elevation (/stations/{id}); the observation geometry is the station's location.", "unknown": "NWS does not maintain most stations (only ASOS); siting audits for other networks and whether coordinates are rounded (KNYC returned -73.98, 40.77) are not documented in the API. The value describes the station point, not the user's exact location"}, "content": {"level": "evidenced", "method": "Each measured value carries a MADIS qualityControl flag: Z preliminary, no QC; C passed level 1 (validity); S passed levels 1 and 2 (internal, temporal, statistical spatial consistency); V passed levels 1-3 (incl. spatial buddy check); X failed level 1; Q passed 1, failed 2 or 3; G/B subjective good/bad; T virtual temperature not computed, QC-passing air temperature returned. MADIS publishes its tolerance limits and its reject/accept intervention lists. The latest endpoint accepts require_qc=true.", "evidence_url": "https://madis.ncep.noaa.gov/madis_sfc_qc_notes.shtml", "unknown": "QC is automated range and consistency checking: it can miss slowly drifting or locally biased sensors, and it does not confirm the value is right. Flags are per value, so some fields in a record are unchecked (e.g. windGust and precipitation were 'Z' in a live KNYC record). NWS says data quality varies by provider and most stations are not NWS-maintained"}, "corroboration": {"level": "claimed", "method": "MADIS level 3 QC compares each observation with neighbouring stations (nearest in each of eight sectors) using an Optimal Interpolation analysis ('buddy' check); a 'V' flag means it passed. MADIS keeps hourly QC failure statistics per network.", "evidence_url": "https://madis.ncep.noaa.gov/madis_sfc_qc_notes.shtml", "unknown": "The check is the operator's own automated QC, not an independent confirmation. Buddy checks are weak where stations are sparse; the API does not expose which neighbours were used or the residuals"}}, "freshness": {"mode": "live", "typical_age": "Typically under about an hour for hourly METAR stations; up to about 20 minutes QC delay on top of the reporting cycle", "notes": "/observations/latest returns the newest record; /observations supports start/end for history, and NWS keeps only 7 days of station observations. Reporting interval varies by station and network and is not documented in the API docs; KNYC reported hourly at :51 in a live check. Known upstream issue: 24h max/min temperatures are always null for stations outside the central time zone (MADIS ingest bug)."}, "api": {"available": true, "docs_url": "https://www.weather.gov/documentation/services-web-api", "base_url": "https://api.weather.gov", "auth": [{"type": "none", "header": "User-Agent", "env_var": "NWS_USER_AGENT", "how_to_get": "No signup. A User-Agent identifying your application is required (ideally with a website or email). NWS says this will be replaced with an API key in the future."}], "endpoints": [{"action": "search", "method": "GET", "path": "/points/{latitude},{longitude}", "params": "latitude, longitude", "notes": "Returns grid metadata including properties.observationStations, a URL like /gridpoints/{wfo}/{x},{y}/stations. 404 InvalidPoint outside coverage."}, {"action": "list", "method": "GET", "path": "/gridpoints/{wfo}/{x},{y}/stations", "params": "limit", "notes": "Stations for that grid point, sorted by distance from the forecast gridpoint, closest first, with distance in metres. /points/{lat},{lon}/stations is marked deprecated in the OpenAPI spec."}, {"action": "list", "method": "GET", "path": "/stations", "params": "id (list), state (state, territory or marine area codes), limit (1-500), cursor", "notes": "Station catalogue"}, {"action": "fetch", "method": "GET", "path": "/stations/{stationId}", "params": "stationId", "notes": "Station metadata: coordinates, elevation, name, time zone; with Feature-Flags: obs_station_provider also provider and subProvider"}, {"action": "fetch", "method": "GET", "path": "/stations/{stationId}/observations/latest", "params": "require_qc (boolean)", "notes": "Latest observation as GeoJSON; each value has unitCode, value, qualityControl"}, {"action": "fetch", "method": "GET", "path": "/stations/{stationId}/observations", "params": "start, end, limit (1-500), cursor", "notes": "Observation list for a station, newest first; 7 days retained"}, {"action": "fetch", "method": "GET", "path": "/stations/{stationId}/observations/{time}", "params": "time (ISO 8601)", "notes": "Single observation at a given time"}], "rate_limits": "Not public; 'a generous amount for typical use'. Over-limit requests return an error and may be retried after the limit clears, typically within 5 seconds; proxies are more likely to hit it. The disclaimer's abuse guidelines ask clients to match request cycles to the data refresh rate, retry failed services at 1-minute intervals, and say abusive IPs or query types may be blocked. Responses carry Cache-Control headers.", "self_serve": true, "notes": "The OpenAPI spec also declares an apiKeyAuth scheme (header 'API-Key'; its description says X-Api-Key) that NWS is 'testing on certain endpoints' and says imposes no limits; no observation endpoint lists it and no way to get a key is published. The obs_station_provider Feature-Flags header adds each station's provider and subProvider (e.g. ASOS, MesoWest, APRSWXNET). The disclaimer says NWS may block IPs or query types that harm the service; retry a down service at 1-minute intervals.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No NWS-run MCP server in the official MCP Registry. Third-party servers wrap api.weather.gov, e.g. io.github.cyanheads/nws-weather-mcp-server (https://nws.caseyjhand.com/mcp), io.github.pipeworx-io/nws (https://gateway.pipeworx.io/nws/mcp), ai.smithery/smithery-ai-national-weather-service."}}, "sources": [{"claim": "Base URL api.weather.gov; User-Agent required, to be replaced with an API key; no fees, open data free to use for any purpose; rate limit not public but generous, retry after ~5 s; GeoJSON default; cache-friendly; observationStations sorted by distance; most stations not maintained by NWS except ASOS, data quality varies by provider; 7 days of observations retained; observations may be delayed up to 20 minutes from MADIS for QC; null 24h max/min upstream issue", "url": "https://www.weather.gov/documentation/services-web-api"}, {"claim": "Endpoint paths and parameters (require_qc on latest; start/end/limit 1-500/cursor on observations; id/state on /stations; /points/{lat},{lon}/stations deprecated); userAgent and apiKeyAuth security schemes; qualityControl enum Z,C,S,V,X,Q,G,B,T referring to MADIS; land/marine region codes", "url": "https://api.weather.gov/openapi.json"}, {"claim": "MADIS QC levels and flag meanings including T; tolerance limits; Optimal Interpolation buddy check with eight-sector neighbour search; reject/accept subjective intervention lists; per-network QC statistics", "url": "https://madis.ncep.noaa.gov/madis_sfc_qc_notes.shtml"}, {"claim": "NWS information public domain unless noted, free for any lawful purpose; no copyright claims, no implied endorsement, no presenting modified content as official; name and visual identifier trademarked; 17 U.S.C. 403 notice; third-party data under its own licence; as-is, no warranty; abuse guidelines and possible IP blocking", "url": "https://www.weather.gov/disclaimer"}, {"claim": "Live test 2026-10-26 (~04:58Z): KNYC latest observation 03:51Z with raw METAR, per-value qualityControl V/C (windGust and precipitation Z), coordinates -73.98,40.77, Cache-Control max-age=87 s-maxage=300", "url": "https://api.weather.gov/stations/KNYC/observations/latest"}, {"claim": "Live test: KNYC hourly records at :51, with some hours missing", "url": "https://api.weather.gov/stations/KNYC/observations?limit=8"}, {"claim": "Live test: /points/40.7128,-74.006 returned observationStations /gridpoints/OKX/33,42/stations; nearest KNYC 8.6 km, then KLGA, KEWR", "url": "https://api.weather.gov/gridpoints/OKX/33,42/stations"}, {"claim": "Live test: /points for London returned 404 InvalidPoint (no non-US coverage)", "url": "https://api.weather.gov/points/51.5,-0.12"}, {"claim": "Live test with Feature-Flags: obs_station_provider: Vermont lists 199 stations, providers MesoWest 66, APRSWXNET 74, HADS 17, ASOS 1 and others; KNYC provider ASOS", "url": "https://api.weather.gov/stations?state=VT&limit=500"}, {"claim": "Live test: territory station lists (PR 149, GU 16, VI 13, AS 12, MP 7); same-day observations from stations in PR (41053), GU (APRP7), VI (TISX) and MP (PGRO); none from any AS station", "url": "https://api.weather.gov/stations?state=AS&limit=500"}, {"claim": "Live test: /points for Pago Pago, American Samoa returns no observationStations", "url": "https://api.weather.gov/points/-14.2756,-170.7020"}, {"claim": "No NWS-run MCP server in the official registry; third-party wrappers listed", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=nws"}], "updated": "2026-10-27", "delivery": {"modes": ["live"], "speed": "minutes", "basis": "NWS API docs: 'Observations may be delayed up to 20 minutes from MADIS, the upstream source, due to QC processing.'"}, "short": "US weather stations via the National Weather Service API: temperature, wind, pressure, rain and conditions.", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none"}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "objectways", "name": "Objectways", "provider_url": "https://objectways.com", "status": "unclaimed", "short": "Egocentric, depth and teleoperation data for embodied AI, on demand.", "tags": ["egocentric video", "teleoperation", "UMI gripper", "depth", "embodied AI", "robotics", "custom collection", "managed service"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["egocentric first-person video of household tasks (kitchen, bedroom, living room, bathroom)", "RGB-D and depth-sensing data", "human-guided robot teleoperation demonstrations", "UMI-gripper in-the-wild wrist demos", "on-demand custom collection and access to pre-collected datasets"]}, "pricing": {"model": "Quote after scoping", "from_usd": 0, "unit": "project", "notes": "No price is published; datasets and collection are requested through the contact form."}, "latency": {"typical": "Not published", "notes": "No turnaround is stated on the embodied-AI, egocentric or home pages."}, "freshness": {"mode": "on_demand", "typical_age": "Not stated", "notes": "The page offers both 'On-demand data collection' and 'Access to pre-collected datasets'; the latter is archive, not a commission."}, "coverage": {"regions": ["US (Arizona offices)", "India (Tamil Nadu offices)"], "notes": "The pages list offices in Phoenix, Mesa and Scottsdale, Arizona, and Karur, Coimbatore and Chennai, Tamil Nadu. Where data is collected is not stated."}, "licensing": {"summary": "Nothing is stated about ownership, licence, AI training or resale of delivered datasets. The Terms of Use cover the website and its 'Submissions' ('Objectways does not claim ownership of the materials you provide'), and a section on a recording app says app data is 'used solely for egocentric activity research and dataset collection purposes'. Neither addresses client deliverables."}, "verification": {"human": {"level": "none", "unknown": "No identity check of collectors is documented."}, "application": {"level": "none", "unknown": "No capture-app or device attestation is documented."}, "camera": {"level": "none", "unknown": "Capture devices are not stated on the egocentric page; no C2PA or signed capture, and Objectways is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "No signed or independently time-stamped capture times are documented."}, "location": {"level": "none", "unknown": "No location proof is documented."}, "content": {"level": "claimed", "method": "Datasets list container, codec, resolution and frame rate (MP4/H.264, 1920x1080, 29.97 fps); site claims SOC 2 Type II and ISO 27001:2022 (organisation-level).", "unknown": "Capture QC and acceptance criteria are not published; certifications cover the organisation, not the data."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Order form or sales@objectways.com via objectways.com/contact-us/."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No server found in the official MCP Registry (searched the provider name, 2026-10-27)."}, "notes": "No API or ordering docs. No /.well-known/ucp, agent-card.json, irlpls document found; oauth-protected-resource redirects to HTML (2026-10-27)."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround is published.", "formats": ["mp4"]}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment methods published."}, "capture": {"by": "people", "consent": {"documented": false, "unknown": "No consent or release process for egocentric footage is published; the recording-app section of the terms says 'By using the recording features of the App, you acknowledge and consent', which concerns app users."}, "worker_pay": {"model": "not published", "disclosed": false}}, "requester": {"unknown": "Objectways publishes no check of who commissions collection or for what."}, "spec_version": "2026-10-26", "updated": "2026-10-27", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Objectways (offices in Arizona, USA, and Tamil Nadu, India) lists an Embodied AI data line: egocentric first-person video, RGB-D depth, human-guided teleoperation demonstrations and in-the-wild UMI-gripper demos, with 'on-demand data collection' and 'custom data pipelines'. Its egocentric catalogue shows 15 household-task datasets (1080p, 29.97 fps). Orders go through a contact form; no price, turnaround, collection countries, consent process or licence terms are published, and its website terms cover the site only.", "sources": [{"claim": "Embodied AI line: egocentric, depth, teleoperation, UMI gripper; on-demand collection; custom pipelines; order via contact", "url": "https://objectways.com/embodied-ai-dataset/"}, {"claim": "15 egocentric datasets, MP4/H.264 1920x1080 29.97 fps, request form", "url": "https://objectways.com/egocentric-datasets/"}, {"claim": "UMI gripper dataset line", "url": "https://objectways.com/umigripper-datasets/"}, {"claim": "Offices (Arizona, Tamil Nadu), certifications as listed, contact", "url": "https://objectways.com"}, {"claim": "Website terms and recording-app section; no deliverable-ownership clause", "url": "https://objectways.com/terms-of-use/"}, {"claim": "No Objectways server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=objectways"}]}, {"id": "open-cosmos-datacosmos", "name": "Open Cosmos DataCosmos", "provider_url": "https://www.open-cosmos.com/datacosmos", "short": "Task Open Cosmos satellites or buy catalogue imagery by API.", "summary": "Open Cosmos (UK, Harwell) offers DataCosmos: a STAC catalogue of imagery from its own and partner satellites, an Ordering API that prices and buys catalogue items against contract credits, and a tasking tool where users create scene, coverage, recurrent or systematic tasking requests that Open Cosmos operations review before scheduling. APIs use OAuth 2.0 (Auth0) with client credentials issued by the DataCosmos team.", "tags": ["satellite", "optical", "multispectral", "hyperspectral", "tasking", "STAC", "catalogue", "oauth", "uk", "open cosmos", "datacosmos", "api"], "capabilities": {"modalities": ["aerial"], "tasks": ["search the STAC catalogue by area, time and cloud cover", "price and purchase catalogue items under a contract (Ordering API)", "search future satellite passes ('opportunities') up to 3 months ahead", "create scene tasking (pick passes and roll angle, up to one week ahead) or coverage tasking (set area, window and constraints) requests", "recurrent and systematic tasking; track request and activity status"]}, "pricing": {"model": "contract-specific rate per km2, paid from prepaid credits", "from_usd": 0, "unit": "not published", "notes": "Pricing docs: 'Prices are contract-specific - the rate per km2, currency, and any applicable discounts are all determined by your contract terms.' Credits are denominated in USD and held per organisation, expire at month end. Scene tasking is 'priced on total swath area, satellite, product and priority' and shown on submit."}, "latency": {"typical": "Scene tasking up to one week ahead; opportunities searched up to 3 months ahead", "notes": "Each scene activity is reviewed by the Open Cosmos flight team before scheduling (PENDING, APPROVED, CONFIRMED, SCHEDULED, ACQUIRED). Coverage requests are approved by operations and optimised. Typical time from request to delivery is not stated."}, "coverage": {"regions": ["Wherever Open Cosmos and partner satellites can image (not stated per country)"], "notes": "No country list found. The licence bars use in or for comprehensively sanctioned countries and restricted parties, and bars military offensive use of the Multi-150 product."}, "licensing": {"summary": "Data Product License Agreement (DataCosmos - OpenConstellation): worldwide, non-exclusive, non-transferable, non-sublicensable licence by licence type (0 Evaluation, 1 Research and non-commercial, 2 Commercial internal, 3 Commercial group, 4 Government/Enterprise distribution, 5 Insight partner). The licensee must not 'redistribute, sublicense, lease, or otherwise make available the Product in any form' except as the type and a written Licence Confirmation allow; value-added products and derivative works the licensee creates stay the licensee's, subject to the provider's rights. The Evaluation type (type 0) bars using the Product to 'train or validate commercial models'; no other type's AI clause was found, so AI training is left unstated."}, "verification": {"human": {"level": "none", "unknown": "Captured by satellites; no person is identity-checked."}, "application": {"level": "none", "unknown": "No attestation of delivered files is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). Catalogue items are STAC records naming collection and satellite (for example Sentinel-2A in the price docs)."}, "time": {"level": "claimed", "unknown": "No independent time-stamp is documented.", "method": "STAC items carry an acquisition time; tasking activities report status changes."}, "location": {"level": "claimed", "unknown": "Accuracy figures were not read, and nothing is signed.", "method": "STAC items carry geometry."}, "content": {"level": "none", "unknown": "No integrity or anti-manipulation method is documented in the pages read."}, "corroboration": {"level": "none", "unknown": "No cross-checking is documented."}}, "freshness": {"mode": "mixed", "typical_age": "Catalogue: existing scenes; tasking: acquired after approval inside your window", "notes": "Catalogue and tasking share one platform."}, "api": {"available": true, "self_serve": false, "docs_url": "https://app.open-cosmos.com/help/developer-center/datacosmos/home", "base_url": "https://app.open-cosmos.com/api/data", "auth": [{"type": "oauth2", "scopes": ["openid", "profile", "email"], "dynamic_registration": false, "transport": "rest", "how_to_get": "OAuth 2.0 via Auth0 at login.open-cosmos.com, audience https://beeapp.open-cosmos.com. Client credentials (client_id and client_secret) for server use, or authorization code with PKCE for apps; both are issued by the DataCosmos team ('Contact the DataCosmos team to get your credentials').", "env_var": "OPEN_COSMOS_CLIENT_ID"}], "endpoints": [{"action": "quote", "method": "GET", "path": "/v1/dpap/policies/{policy_id}/catalog/price", "notes": "Replaces deprecated /v0/order/price; batch at POST .../catalog/price/batch"}, {"action": "order", "method": "POST", "path": "/v0/order/orders", "notes": "Pay with organisation credit balance"}, {"action": "list", "method": "GET", "path": "/v0/order/orders"}, {"action": "status", "method": "GET", "path": "/v0/order/orders/{order_id}"}], "rate_limits": "Not stated in the pages read.", "notes": "The developer-centre 'Tasking API' page lists a 'Satellite Tasking API' for querying scheduled tasking requests and future opportunities; its page body rendered empty, so whether tasking requests can be created by API (rather than the web tool) was not verified. The OpenAPI JSON at app.open-cosmos.com/api/data/v0/openapi.json returns 401. login.open-cosmos.com serves OAuth and OpenID metadata; app.open-cosmos.com /.well-known paths returned the SPA shell, not metadata. No MCP server found (Registry search 0)."}, "adapter": "open_cosmos_datacosmos", "delivery": {"modes": ["commission"], "speed": "days", "basis": "Scene tasking 'requests can be placed up to one week ahead'; opportunities up to '3 months into the future'; delivery time after capture is not stated."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "capture": {"by": "devices"}, "payment": {"methods": ["prepaid_balance"], "agent_can_pay": false, "notes": "Organisation credits (USD), topped up by Open Cosmos or permitted org admins; 'Not all organisations have credits configured'. A tasking request can sit PENDING until a payment method is chosen, so other methods exist but were not itemised."}, "requester": {"checks": "A contract with Open Cosmos (rates, licence type and territory are set in a Licence Confirmation or order form); sanctions and export compliance is a licence condition.", "unknown": "How Open Cosmos vets customers before issuing credentials is not published."}, "providers": [{"name": "Open Cosmos Ltd", "roles": ["producer", "licensor", "host"], "url": "https://www.open-cosmos.com"}], "sources": [{"claim": "Developer centre: catalogue (STAC), ordering, tasking API, applications", "url": "https://app.open-cosmos.com/help/developer-center/datacosmos/home"}, {"claim": "OAuth 2.0 via Auth0, client credentials and authorization code flows, credentials from DataCosmos team", "url": "https://app.open-cosmos.com/help/developer-center/authentication"}, {"claim": "Contract-specific pricing; DPAP price endpoints; deprecated order price", "url": "https://app.open-cosmos.com/help/developer-center/datacosmos/api/ordering/pricing"}, {"claim": "Orders endpoints under /api/data/v0/order/orders", "url": "https://app.open-cosmos.com/help/developer-center/datacosmos/api/ordering/purchasing"}, {"claim": "Tasking service: scene, coverage, opportunities up to 3 months, one week ahead, ops review, pricing basis", "url": "https://app.open-cosmos.com/help/user-manual/datacosmos/tasking/home"}, {"claim": "Request and activity lifecycles, ops approval", "url": "https://app.open-cosmos.com/help/user-manual/datacosmos/tasking/tasking-service-description"}, {"claim": "Credits are prepaid USD per organisation, monthly expiry", "url": "https://app.open-cosmos.com/help/user-manual/datacosmos/billing/credits"}, {"claim": "Data Product License Agreement: licence types, restrictions, VAP and derivative rights, evaluation bars commercial model training", "url": "https://app.open-cosmos.com/help/legal/data-product-license-agreement"}, {"claim": "Terms of Service page exists (not read in full)", "url": "https://app.open-cosmos.com/help/legal/terms-of-service"}, {"claim": "login.open-cosmos.com OAuth and OpenID metadata", "url": "https://login.open-cosmos.com/.well-known/oauth-authorization-server"}, {"claim": "Not in MCP Registry (0 results)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=open-cosmos"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "status": "unclaimed", "updated": "2026-10-28", "expires": "2027-10-27"}, {"id": "openaq", "name": "OpenAQ", "status": "unclaimed", "provider_url": "https://openaq.org", "adapter": "openaq", "tags": ["air quality", "sensor", "pm2.5", "pm10", "no2", "ozone", "so2", "co", "black carbon", "reference monitor", "low-cost sensor", "government data", "open data", "aggregator", "near me", "nearby", "global", "api", "free", "historical data"], "summary": "Nonprofit aggregator of openly licensed, ground-level air-quality data from hundreds of sources worldwide (government reference monitors since 2015, low-cost air sensors since 2021), harmonized into one free REST API (api.openaq.org/v3) with near-real-time and historical measurements. It reports what existing stations publish; it cannot deploy new sensors.", "short": "Air-quality readings from government monitors and low-cost sensors in over 100 countries.", "capabilities": {"modalities": ["sensor"], "tasks": ["find air-quality stations near a point (radius up to 25 km), in a bounding box, or by country", "latest PM2.5, PM10, SO2, NO2, CO, O3 and BC readings at a location, plus relative humidity and temperature where reported", "PM1, PM4, CO2, NO, NOx, CH4 and ultrafine particles at a limited set of locations", "raw, hourly, daily and yearly measurements per sensor, with summary statistics and coverage counts", "filter reference-grade monitors from other sensors", "look up the data licence, provider and owner of each location", "list data-quality flags raised on a location or sensor"]}, "pricing": {"model": "free within rate limits; custom plans by quote", "from_usd": 0, "unit": "per request (free tier)", "notes": "OpenAQ FAQ: data are provided for free within rate limits. The rate-limits page lists 'General use: Free' and 'Custom use: Contact us for pricing' for higher limits under a jointly agreed Custom Use Agreement. The terms say higher rates need OpenAQ's payment terms and API License and Services Agreement. No public price for custom plans."}, "latency": {"typical": "Near real time; source reporting frequency 10 minutes to 24 hours", "notes": "OpenAQ says it hosts 'near real-time and historical data' and that acceptable source data frequency is between 10 minutes and 24 hours. No end-to-end ingestion delay is published. The 'latest' value is the last point in a sensor's series, and some providers report out of order, so polling /latest does not guarantee complete coverage. Technical issues upstream or at OpenAQ can interrupt data flow. No new capture: you only get what existing stations report."}, "coverage": {"regions": ["Global (wherever upstream government agencies and sensor networks publish open data; uneven)"], "notes": "OpenAQ says it aggregates 'hundreds of sources worldwide' and that its data 'do not represent all air quality monitoring data in the world.' An OpenAQ slide deck from August 2024 cites 56,000 locations in 153 countries and 43 billion data points. Only stationary, ground-level data are ingested (no satellite or airborne data). Country labels come from Natural Earth boundaries and may mislabel some stations.", "areas": ["*"]}, "licensing": {"summary": "Varies by source. OpenAQ ingests only openly licensed data (e.g. CC0, CC BY 4.0) that it believes is available for redistribution, but gives no assurance the data are free of third-party claims; users must review and follow each source's terms (Creative Commons, open government or bespoke). Attribution to the original source where required, and to OpenAQ always, is required. Each location lists its licences, and the licences resource exposes commercialUseAllowed, attributionRequired, shareAlikeRequired, modificationAllowed and redistributionAllowed. Using the hosted API to build products that substantially duplicate or compete with OpenAQ is prohibited. Data are offered as-is without warranty. The terms do not mention AI training, resale or ownership of the data."}, "verification": {"human": {"level": "none", "unknown": "Not applicable in a person sense; data come from upstream agencies and sensor networks. OpenAQ names the provider and owner of each location (owner may be 'Unknown Governmental Organization') but does not document vetting who operates each station."}, "application": {"level": "none", "unknown": "No attestation or signing of upstream data is documented. OpenAQ names the instrument and manufacturer per location but ingests what providers publish and harmonizes the format."}, "camera": {"level": "none", "unknown": "Not applicable; no imagery is collected."}, "time": {"level": "claimed", "unknown": "OpenAQ requires complete datetimes on ingested data but documents no check of upstream clocks; some providers report out of order.", "method": "Each measurement carries its period (datetimeFrom / datetimeTo, UTC and local) as reported by the upstream source.", "evidence_url": "https://docs.openaq.org/resources/measurements"}, "location": {"level": "none", "unknown": "OpenAQ requires complete coordinates but does not document verifying them. Country labels are approximate (Natural Earth boundaries). For mobile locations the coordinates are the first point measured."}, "content": {"level": "none", "unknown": "Raw measurements are the values as reported upstream, offered as-is with no accuracy guarantee. The API exposes data-quality flags per location and sensor (label, level, time range), but the docs do not explain how flags are raised or what they cover."}, "corroboration": {"level": "none", "method": "The API lets you filter for reference monitors (monitor=true), so an agent can compare low-cost sensors against nearby reference stations itself; OpenAQ documents no cross-check of its own.", "unknown": "Whether upstream providers apply QA before publishing, and how OpenAQ's flags are produced, is not documented."}}, "freshness": {"mode": "mixed", "typical_age": "Minutes to hours for latest readings (source frequency 10 min to 24 h); archive back years", "notes": "Live-ish 'latest' endpoints plus historical raw, hourly, daily and yearly series, and a bulk archive on AWS Open Data. Nothing is captured on demand."}, "delivery": {"modes": ["live"], "speed": "hours", "basis": "OpenAQ hosts 'near real-time and historical data'; acceptable source data frequency is between 10 minutes and 24 hours."}, "api": {"available": true, "self_serve": true, "docs_url": "https://docs.openaq.org", "base_url": "https://api.openaq.org", "auth": [{"type": "api_key_header", "header": "X-API-Key", "env_var": "OPENAQ_API_KEY", "how_to_get": "Register at https://explore.openaq.org/register (valid name and non-disposable email; one key per individual) and copy the key from https://explore.openaq.org/account, where it can also be rotated."}], "endpoints": [{"action": "search", "method": "GET", "path": "/v3/locations", "params": "coordinates=lat,lon + radius (meters, default 1000, max 25000) OR bbox=minLon,minLat,maxLon,maxLat; iso (ISO 3166-1 alpha-2), countries_id, monitor (bool, reference monitor), mobile (bool), providers_id, parameters_id, owner_contacts_id, manufacturers_id, instruments_id, licenses_id, order_by, sort_order, limit (default 100), page", "notes": "Point+radius and bbox cannot be combined (422). Coordinates truncated to 4 decimals. coordinates without radius, or radius without coordinates, returns 422."}, {"action": "fetch", "method": "GET", "path": "/v3/locations/{locations_id}", "params": "locations_id", "notes": "Location details: provider, owner, instruments, sensors, coordinates, mobile/monitor flags, and licences with attribution and date range."}, {"action": "fetch", "method": "GET", "path": "/v3/locations/{locations_id}/latest", "params": "locations_id, datetime_min, limit, page", "notes": "Latest value per sensor at a location; the last point in the series, not necessarily the most recently ingested."}, {"action": "list", "method": "GET", "path": "/v3/parameters/{parameters_id}/latest", "params": "parameters_id (e.g. 2 = PM2.5), datetime_min, limit, page", "notes": "Latest measurements across all sensors for one parameter."}, {"action": "fetch", "method": "GET", "path": "/v3/sensors/{sensors_id}/measurements", "params": "sensors_id, datetime_from, datetime_to, limit, page", "notes": "Raw values as reported upstream. Hourly means at /v3/sensors/{sensors_id}/hours (datetime_from, datetime_to); daily means at /v3/sensors/{sensors_id}/days and yearly at /years (date_from, date_to). Aggregating over large ranges can time out (408); keep ranges small."}, {"action": "list", "method": "GET", "path": "/v3/locations/{locations_id}/flags", "params": "locations_id, datetime_from, datetime_to, limit, page", "notes": "Data-quality flags (type label, level, time range, sensor ids). Per sensor at /v3/sensors/{sensor_id}/flags."}, {"action": "fetch", "method": "GET", "path": "/v3/licenses/{licenses_id}", "params": "licenses_id", "notes": "Licence flags: commercialUseAllowed, attributionRequired, shareAlikeRequired, modificationAllowed, redistributionAllowed, sourceUrl. Each location lists its licence ids under licenses[]."}], "sdk": "Official Python SDK (https://python.openaq.org/) and R package (https://openaq.github.io/openaq-r/).", "rate_limits": "Free tier: 60 requests/minute and 2,000/hour per API key. 429 on exceed; headers x-ratelimit-used/limit/remaining/reset. Repeated overruns can lead to a temporary or permanent ban (403, lifted only by contacting OpenAQ). Higher limits via a custom plan (quote).", "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "Third-party wrappers in the official MCP Registry, not run by OpenAQ: io.github.cyanheads/openaq-mcp-server (npm @cyanheads/openaq-mcp-server, needs OPENAQ_API_KEY), io.github.pipeworx-io/openaq (https://gateway.pipeworx.io/openaq/mcp), io.github.malamutemayhem/openaq.", "notes": "No first-party OpenAQ MCP server found."}, "notes": "v1 and v2 were retired on 31 January 2025 and return 410. Browser (CORS) calls are blocked; call from a server. The OpenAPI document is at https://api.openaq.org/openapi.json. Bulk historical files are on AWS Open Data (s3://openaq-data-archive) without a key. The terms require your own registered key (one per individual, not to be transferred or shared) and bar downloading data except through registered, authorised use, so an agent should use its person's key and never scrape."}, "access": {"cost": "free with key", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none", "rate_limit": {"requests": 60, "per_seconds": 60, "scope": "per-key", "notes": "Also 2,000 per hour per key. 429 on excess, x-ratelimit-* headers; repeated overruns can lead to a ban.", "source_url": "https://docs.openaq.org/using-the-api/rate-limits"}}, "payment": {"notes": "Free tier needs no payment. Custom higher-limit plans are priced by contacting OpenAQ under a Custom Use Agreement; no payment methods are published."}, "capture": {"by": "devices"}, "sources": [{"claim": "Base URL https://api.openaq.org, v3 paths, X-API-Key header, sign up at explore.openaq.org, key in settings, regenerable", "url": "https://docs.openaq.org/using-the-api/quick-start"}, {"claim": "Register at explore.openaq.org/register; key managed and rotated at explore.openaq.org/account; X-API-Key header", "url": "https://docs.openaq.org/using-the-api/api-key"}, {"claim": "Free tier 60 req/min and 2,000 req/hour per key; custom use 'contact us for pricing' under a Custom Use Agreement; 429; rate-limit headers; repeated overruns may lead to ban", "url": "https://docs.openaq.org/using-the-api/rate-limits"}, {"claim": "403 means a blocked account or IP for terms violation or rate-limit abuse; needs manual intervention", "url": "https://docs.openaq.org/errors/forbidden"}, {"claim": "coordinates (lat,lon) + radius max 25,000 m, bbox order, one method at a time, 422 restrictions", "url": "https://docs.openaq.org/using-the-api/geospatial"}, {"claim": "GET /v3/locations query parameters, defaults and 4-decimal precision cap", "url": "https://docs.openaq.org/api/operations/locations_get_v3_locations_get"}, {"claim": "Endpoint paths and parameters (measurements/hours use datetime_from/datetime_to; days/years use date_from/date_to; latest takes datetime_min; flags endpoints); single APIKeyHeader security scheme", "url": "https://api.openaq.org/openapi.json"}, {"claim": "Locations list provider, owner, instruments, sensors, licences with attribution and period; mobile coordinates are the first point measured", "url": "https://docs.openaq.org/resources/locations"}, {"claim": "Latest endpoints /v3/locations/{id}/latest and /v3/parameters/{id}/latest; latest = last in series; out-of-order ingestion caveat", "url": "https://docs.openaq.org/resources/latest"}, {"claim": "Sensor measurement endpoints (raw, hours, days, years), averaging rules, 408 timeout warning", "url": "https://docs.openaq.org/resources/measurements"}, {"claim": "Flags endpoint returns flag type label, level, time range and sensor ids per location", "url": "https://docs.openaq.org/api/operations/location_flags_get_v3_locations__locations_id__flags_get"}, {"claim": "Licenses endpoint /v3/licenses/{id} and per-licence permission fields", "url": "https://docs.openaq.org/resources/licenses"}, {"claim": "Country labels from Natural Earth boundaries; may not label every station correctly", "url": "https://docs.openaq.org/disclaimers/countries"}, {"claim": "Bulk archive on AWS Open Data at openaq-data-archive, daily csv.gz per location", "url": "https://docs.openaq.org/aws/about"}, {"claim": "Official Python SDK and R package", "url": "https://docs.openaq.org/using-the-api/libraries"}, {"claim": "Nonprofit; pollutants covered (PM2.5, PM10, SO2, NO2, CO, O3, BC, RH, temperature; limited PM1, PM4, CO2, NO, NOx, CH4, UFP); near real-time and historical; not all of the world's monitoring data; v1/v2 retired 31 Jan 2025 (410)", "url": "https://docs.openaq.org/about/about"}, {"claim": "Free within rate limits; only openly licensed, stationary, ground-level data with coordinates and datetimes; acceptable frequency 10 min to 24 h; no satellite or airborne data; licence varies by source; attribute sources and OpenAQ; no guarantee data free of third-party claims; CORS blocked; Python SDK at python.openaq.org and R package at openaq.github.io/openaq-r", "url": "https://docs.openaq.org/about/faq"}, {"claim": "API key required for programmatic access; one key per individual; scraping forbidden, API use sanctioned; attribution to OpenAQ and sources; no-compete restriction on hosted API; higher limits need payment terms and API License and Services Agreement; as-is, no warranty; AI training, resale and ownership not mentioned", "url": "https://docs.openaq.org/about/terms"}, {"claim": "'Hundreds of sources worldwide'; nonprofit", "url": "https://openaq.org/"}, {"claim": "Reference-grade government monitors since 2015, air sensors since 2021; registration required for API access", "url": "https://openaq.org/about/"}, {"claim": "56,000 locations, 153 countries, 43 billion data points; sources are reference monitors and low-cost air sensors (OpenAQ slide deck, August 2024)", "url": "https://haqast.wisc.edu/wp-content/uploads/sites/688/2024/08/Hagerbaumer-The-OpenAQ-Platform.pdf"}, {"claim": "Third-party OpenAQ MCP servers (cyanheads, pipeworx-io, malamutemayhem); no first-party entry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=openaq"}, {"claim": "Measurements carry the original value and period as reported upstream (datetimeFrom/datetimeTo)", "url": "https://docs.openaq.org/resources/measurements"}], "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "pegelonline", "name": "PEGELONLINE (German Federal Waterways)", "status": "unclaimed", "provider_url": "https://www.pegelonline.wsv.de", "short": "Live water levels from 786 gauges on German federal waterways, every 1\u201315 minutes, no key.", "summary": "Germany's Federal Waterways and Shipping Administration (WSV) publishes raw readings from 786 gauges on federal waterways and coasts, mostly water level, plus discharge, water temperature and other parameters at some gauges, and water-level forecasts at a few. Readings are taken every 1 to 15 minutes and served through a free, keyless REST API with the last 31 days of data.", "tags": ["water level", "river gauge", "discharge", "flood", "navigation", "tide", "germany", "open data"], "capabilities": {"modalities": ["sensor"], "tasks": ["gauges near a point", "gauges on a named river or waterway", "current water level at a gauge", "current discharge, water temperature or other parameter where the gauge has it", "time series of the last 31 days", "water-level forecast at selected gauges"]}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "ITZBund: \"Aktuell ver\u00f6ffentlicht PEGELONLINE neue Pegelwerte mit einer Verz\u00f6gerung von ein bis f\u00fcnf Minuten.\" Series intervals (equidistance) are 1, 5, 10 or 15 minutes."}, "latency": {"typical": "1\u201315 minute readings, published 1\u20135 minutes after measurement", "notes": "ITZBund says new values appear with a 1\u20135 minute delay; coastal gauges measure every minute and inland gauges every 15 minutes. In the live check, 502 water-level series were at 15-minute intervals, 224 at 1 minute, 10 at 10 minutes and 1 at 5 minutes. The median current reading was 16 minutes old; 3 of 737 were over 25 hours old (flagged out-dated by the API)."}, "freshness": {"mode": "live", "typical_age": "about 15\u201330 minutes", "notes": "Live check: median age of the current water-level reading 16 minutes, 90th percentile 31 minutes. The API marks a current value 'out-dated' when it is older than 25 hours and 'commented' when the gauge reports a fault."}, "coverage": {"regions": ["Germany (federal waterways and North Sea and Baltic coasts)", "A few cross-border gauges in the Netherlands, Austria, Switzerland and the Czech Republic"], "notes": "786 stations, 737 with a water-level series. Gauges sit on federal waterways (Rhine, Elbe, Danube, Main, Weser, Oder, canals, coasts), not on smaller state-run rivers. The Dict-API tags 719 stations Germany, 5 Netherlands, 1 Austria and 1 Switzerland. Other foreign gauges come from Rijkswaterstaat (10), viadonau (9) and Povod\u00ed Labe (6); 57 stations, including most of these, have no coordinates and cannot be found by a point search.", "areas": ["DE", "NL", "AT", "CH", "CZ"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "Free (FAQ: \"kostenlos und frei verf\u00fcgbar\"). No registration or key."}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none"}, "licensing": {"summary": "Data are under Datenlizenz Deutschland Zero 2.0 (DL-DE->Zero-2.0): \"Any use is permitted without restrictions or conditions.\" The terms add that data may be used commercially and non-commercially, passed to third parties, combined with other data and built into products. They are unchecked raw data with no liability or warranty for accuracy, timeliness or completeness, and the same disclaimer covers third-party data from other national and international agencies. The terms do not mention AI training or resale by name."}, "verification": {"human": {"level": "none", "unknown": "Automated gauges; no person takes or confirms individual readings."}, "application": {"level": "none", "unknown": "No signing or device attestation of readings is documented."}, "camera": {"level": "none", "unknown": "Not a camera source."}, "time": {"level": "claimed", "method": "Each reading carries an ISO 8601 timestamp in German legal time with an explicit UTC offset.", "unknown": "Timestamps come from the operator's own system and are not signed; how gauge clocks are kept is not documented."}, "location": {"level": "claimed", "method": "Each station has published WGS84 coordinates, a river kilometre and a gauge datum.", "unknown": "Coordinates are the operator's own; 57 stations have none, and nothing independent checks them."}, "content": {"level": "claimed", "method": "Values are raw sensor readings; the API flags faults ('commented') and stale values ('out-dated', over 25 hours).", "unknown": "The operator calls the data unchecked raw data and gives no warranty that values are correct or complete."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms individual readings. Checked daily values (Terminwerte) exist at shipping gauges, but they are the operator's own check."}}, "api": {"available": true, "self_serve": true, "docs_url": "https://www.pegelonline.wsv.de/webservice/dokuRestapi", "base_url": "https://pegelonline.wsv.de/webservices/rest-api/v2", "auth": [{"type": "none", "how_to_get": "No authentication or registration is needed."}], "endpoints": [{"action": "search", "method": "GET", "path": "/stations.json", "params": "latitude, longitude, radius (WGS84; radius unit not documented, results consistent with km); waters (e.g. RHEIN,MAIN); fuzzyId; ids; hasTimeseries; includeTimeseries; includeCurrentMeasurement; includeCharacteristicValues; includeForecastTimeseries; limit, offset", "notes": "Stations with uuid, number, name, river km, agency, coordinates and water; with includeTimeseries&includeCurrentMeasurement each series carries its current value. Refer to stations by uuid; numbers and names can change."}, {"action": "fetch", "method": "GET", "path": "/stations/{uuid}/{timeseries}/currentmeasurement.json", "params": "timeseries: W (water level), Q (discharge), WT (water temperature), etc.", "notes": "Returns timestamp, value and, for water level, stateMnwMhw and stateNswHsw (low, normal, high, unknown, commented, out-dated)."}, {"action": "fetch", "method": "GET", "path": "/stations/{uuid}/{timeseries}/measurements.json", "params": "start (ISO 8601 time or period such as P8D; default last 10 days), end", "notes": "Raw readings for up to the last 31 days. Also .csv, and .png for a chart. Forecasts use timeseries WV; checked daily values use TRM."}, {"action": "list", "method": "GET", "path": "/waters.json", "params": "includeStations, includeTimeseries, includeCurrentMeasurement, ids", "notes": "All waters, optionally with their stations and series."}], "rate_limits": "None published. Responses carry Cache-Control max-age (1\u201360 s) and an ETag for conditional GET; the docs ask clients to cache and use gzip.", "sdk": "@52north/edis-lib (npm, TypeScript) wraps the REST API, the Dict-API and the EDIS MQTT stream.", "notes": "Other keyless services: the Dict-API (https://dict-api.pegelonline.wsv.de/search, filters by station, water, state, country, bbox, parameter) and the HyDAS API (https://pegelonline.wsv.de/api/v1, beta, may change incompatibly), plus WMS, WFS and SOS. Push delivery over MQTT (EDIS, edis.pegelonline.wsv.de) is in a pilot phase and needs basic-auth credentials requested from ITZBund. The terms say nothing about rate limits or automation; automation_allowed is inferred from the open licence and keyless API."}, "capture": {"by": "devices"}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "adapter": "pegelonline", "sources": [{"claim": "REST API reference: base URL, no authentication, endpoints, parameters, 31-day history, state flags, caching headers, versioning", "url": "https://www.pegelonline.wsv.de/webservice/dokuRestapi"}, {"claim": "REST API user's guide: example calls, refer to stations by UUID, unchecked raw data, DL-DE->Zero-2.0", "url": "https://www.pegelonline.wsv.de/webservice/guideRestapi"}, {"claim": "Free of charge, no registration, usable front end or back end", "url": "https://pegelonline.wsv.de/webservice/faq"}, {"claim": "Web services overview: free for third parties, unchecked raw data, HyDAS beta, WMS/WFS/SOS, EDIS MQTT", "url": "https://pegelonline.wsv.de/webservice/ueberblick"}, {"claim": "Terms of use: DL-DE->Zero-2.0, permitted uses, no liability, third-party agency data", "url": "https://pegelonline.wsv.de/gast/nutzungsbedingungen"}, {"claim": "DL-DE Zero 2.0 licence text: any use permitted without restrictions or conditions", "url": "https://www.govdata.de/dl-de/zero-2-0"}, {"claim": "Publication delay of 1\u20135 minutes; coastal gauges every minute, inland every 15 minutes; MQTT push", "url": "https://www.itzbund.de/DE/itloesungen/egovernment/echtzeitdateninfrastruktur/edis.html"}, {"claim": "EDIS library and MQTT credentials requested from ITZBund during the pilot", "url": "https://pegelonline.wsv.de/webservice/edisLib"}, {"claim": "Dict-API search parameters, including country and bbox", "url": "https://pegelonline.wsv.de/webservice/dictAPI"}, {"claim": "Station countries (live GET 2026-10-26: 5 Netherlands, 1 Austria, 1 Switzerland, 719 Germany)", "url": "https://dict-api.pegelonline.wsv.de/search?country=niederlande"}, {"claim": "HyDAS API (beta)", "url": "https://pegelonline.wsv.de/webservice/hydas"}, {"claim": "786 stations, series intervals, agencies and current readings (live GET 2026-10-26)", "url": "https://pegelonline.wsv.de/webservices/rest-api/v2/stations.json?includeTimeseries=true&includeCurrentMeasurement=true"}, {"claim": "Current water level at Bonn (live GET 2026-10-26)", "url": "https://pegelonline.wsv.de/webservices/rest-api/v2/stations/593647aa-9fea-43ec-a7d6-6476a76ae868/W/currentmeasurement.json"}, {"claim": "Publisher GDWS, production ITZBund", "url": "https://pegelonline.wsv.de/gast/impressum"}]}, {"id": "pixxel", "name": "Pixxel", "adapter": "pixxel", "provider_url": "https://www.pixxel.space", "short": "Order new hyperspectral satellite captures by API.", "summary": "Pixxel (Bengaluru and US) sells hyperspectral satellite imagery from its own Firefly constellation through its Aurora platform: tasking orders (single or recurring) over a GeoJSON polygon and capture window, archive search and order, and delivery to a cloud store, all through a bearer-token REST API (api.pixxel.space/v0) or the Order Desk web app. Tasking is priced per km2 in prepaid tokens (1 token = 1 USD); accounts must pass KYB or KYC before the Order Desk opens.", "tags": ["satellite", "hyperspectral", "VNIR", "earth observation", "tasking", "archive", "recurring", "STAC", "api", "india", "firefly", "aurora"], "capabilities": {"modalities": ["aerial", "sensor"], "tasks": ["task a new hyperspectral capture (VNIR bandset) over a polygon within a capture window, once or recurring", "feasibility check of AOI, window and cloud cover before ordering (dry_run on the API)", "search and order archive hyperspectral scenes (STAC)", "deliver to an S3-style cloud store", "run analytics (indices, insights, workflows) on delivered imagery"]}, "pricing": {"model": "prepaid tokens, per km2", "from_usd": 8, "unit": "per km2, tasking, VNIR", "notes": "Pricing docs: tasking VNIR $8/km2; archive VNIR $6/km2 (20% off if older than a year); 1 token = 1 USD. Tasking API doc: orders under 100 km2 are billed as 100 km2. Cloud cover up to 10% adds 15%; up to 20% no uplift. Express 24 h delivery is listed as coming soon (+20%). Other bandsets and analytics have separate pricing not read."}, "latency": {"typical": "Capture window of at least 14 days (regular tasking); delivery 72 h after capture (tasking guide) or 14 days (pricing page)", "notes": "The tasking guide says Standard delivery is 72 hours from capture; the pricing page says 'Standard delivery - 14 days from capture time'. Start date must be at least 24 hours after order placement. Docs say feasibility 'does not guarantee' fulfilment; recurring tasks that are infeasible are cancelled and not charged."}, "coverage": {"regions": ["Not stated; feasibility is checked per AOI"], "notes": "No country list or geographic limit found in the docs read. Coverage depends on Firefly orbits, weather and scheduling; the feasibility check returns feasible, not feasible or failed."}, "licensing": {"summary": "Pixxel Imagery EULA v1.0 (23 May 2025): limited, non-exclusive, non-transferable, revocable licence for internal use (reformat, copy, modify, display on an isolated non-commercial basis, share with need-to-know contractors). Without Pixxel's written permission you may not sublicense, sell, rent, lease or transfer imagery to a third party. Pixxel owns the imagery and 'may retain copies of any or all Imagery and data its satellite collects for any purpose'. The EULA does not mention AI or ML training.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Captured by satellites; no per-person identity check applies. Buyers are KYB/KYC checked, which is a requester check, not a capture guarantee."}, "application": {"level": "none", "unknown": "No device or app attestation is documented for delivered files."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Metadata file in the delivered package. Sensor identity comes from Pixxel's own metadata XML (capture date, sensor details, processing and copyright information) in each package."}, "time": {"level": "claimed", "unknown": "Capture time is in Pixxel's metadata; no independent time-stamp scheme is documented."}, "location": {"level": "claimed", "unknown": "Deliveries are UTM GeoTIFFs plus a footprint GeoJSON; no accuracy figure or independent check was read."}, "content": {"level": "none", "unknown": "No integrity or anti-manipulation method (signing, hashes) is documented; cloud cover is a request constraint, not a guarantee."}, "corroboration": {"level": "none", "unknown": "No cross-check against other sources is documented."}}, "freshness": {"mode": "mixed", "typical_age": "Tasking: captured inside your window after you order; archive: existing scenes", "notes": "Search the archive first, task only if nothing fits."}, "api": {"available": true, "self_serve": false, "docs_url": "https://docs.pixxel.space/developer/gettingstarted/introduction", "base_url": "https://api.pixxel.space", "openapi_url": "https://docs.pixxel.space/openapi.json", "auth": [{"type": "bearer", "header": "Authorization", "env_var": "PIXXEL_API_TOKEN", "how_to_get": "Sign in to Aurora (aurora.pixxel.space), Settings > Personal Access Tokens, create a token with a role, project access and expiry; send 'Authorization: Bearer <token>'. The Order Desk needs KYB (business) or KYC (individual, ID document, selfie and proof of residence) approval first."}], "endpoints": [{"action": "list", "method": "GET", "path": "/v0/projects", "notes": "Orders must be linked to a project_id; service account must be added to the project in the UI"}, {"action": "list", "method": "GET", "path": "/v0/bandsets", "notes": "Bandset id required for a tasking item"}, {"action": "search", "method": "POST", "path": "/v0/archives/search", "notes": "STAC-based archive search; collections under /v0/archives/collections"}, {"action": "quote", "method": "POST", "path": "/v0/orders", "params": "dry_run=true", "notes": "Dry run validates, runs feasibility and checks wallet tokens without placing the order"}, {"action": "order", "method": "POST", "path": "/v0/orders", "params": "dry_run=false, order_items[] (bandset, geometry FeatureCollection with one polygon, name, cloud_cover, delivery_speed STANDARD, cloud_delivery, project_id, recurrence ONCE|WEEKLY|MONTHLY, start_date, end_date, usecase)", "notes": "Tasking or archive order; deducts tokens"}, {"action": "status", "method": "GET", "path": "/v0/orders/{id}"}, {"action": "list", "method": "GET", "path": "/v0/order-items"}, {"action": "fetch", "method": "POST", "path": "/v0/catalogs/download", "notes": "Catalog download, status at /v0/catalogs/download/{download_id}"}], "rate_limits": "Not published in the docs read.", "notes": "The docs site (Mintlify-style) serves llms.txt and per-page .md files. No OAuth, dynamic registration or MCP server found."}, "delivery": {"modes": ["commission"], "speed": "weeks", "basis": "Pricing page: 'Regular Tasking: Provides a capture window of minimum 14 days'; tasking guide: 'Standard' delivery '72 hours' from capture."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "gate": "approval"}, "capture": {"by": "devices"}, "payment": {"methods": ["card", "prepaid_balance"], "agent_can_pay": false, "prepaid": true, "notes": "Tokens (1 = 1 USD) bought via Stripe by workspace owners or admins with card or bank transfer; transfers over $5000 are wire only. The API spends tokens from the wallet; no agent-native payment rail found."}, "requester": {"checks": "KYB for businesses (company name and country, registered address, website, optional supporting documents) or KYC for individuals (ID document, selfie, proof of residence) before Order Desk access; the organisation owner gets an approval email.", "unknown": "Review time and rejection criteria are not published; whether sanctions or end-use screening applies is not stated."}, "providers": [{"name": "Pixxel Space Technologies, Inc.", "roles": ["producer", "licensor"], "url": "https://www.pixxel.space"}], "sources": [{"claim": "Aurora API: tasking, archive, orders; bearer PAT auth; api.pixxel.space", "url": "https://docs.pixxel.space/developer/gettingstarted/introduction.md"}, {"claim": "Personal Access Token creation and Authorization: Bearer header", "url": "https://docs.pixxel.space/developer/gettingstarted/authentication.md"}, {"claim": "OpenAPI paths, server https://api.pixxel.space, ApiKeyAuth header", "url": "https://docs.pixxel.space/openapi.json"}, {"claim": "Tasking order guide: dry_run, bandset, AOI, 100 km2 minimum billing, cloud cover, STANDARD 72 h delivery, start at least 24 h out, recurrence, project", "url": "https://docs.pixxel.space/developer/orders/tasking.md"}, {"claim": "Tasking price $8/km2 VNIR, 14-day regular window, cloud uplift, delivery 14 days / express coming soon", "url": "https://docs.pixxel.space/documentation/getting-started/pricing-and-refunds/imagery-pricing/tasking.md"}, {"claim": "Archive price $6/km2 VNIR, 20% off older than a year", "url": "https://docs.pixxel.space/documentation/getting-started/pricing-and-refunds/imagery-pricing/archive.md"}, {"claim": "Tokens 1 = 1 USD, Stripe card or bank transfer, owners/admins buy", "url": "https://docs.pixxel.space/documentation/getting-started/pricing-and-refunds/tokens.md"}, {"claim": "Wire transfer only above $5000", "url": "https://docs.pixxel.space/documentation/getting-started/pricing-and-refunds/payment-methods.md"}, {"claim": "KYB required before Order Desk", "url": "https://docs.pixxel.space/documentation/tasking/access-order-desk/kyb.md"}, {"claim": "KYC (ID, selfie, proof of residence) required before Order Desk", "url": "https://docs.pixxel.space/documentation/tasking/access-order-desk/kyc.md"}, {"claim": "Tasking basics: on-demand capture, recurring tasking, one-day window for assured date", "url": "https://docs.pixxel.space/documentation/tasking/tasking-basics.md"}, {"claim": "Feasibility check outcomes and no-guarantee note", "url": "https://docs.pixxel.space/documentation/tasking/tasking-via-order-desk/feasibility.md"}, {"claim": "Delivery package: stacked GeoTIFF (UTM), footprint GeoJSON, XML metadata; Standard 72 h", "url": "https://docs.pixxel.space/documentation/tasking/tasking-via-order-desk/package-and-speed.md"}, {"claim": "Imagery EULA v1.0: internal-use licence, no sale or sublicence, Pixxel owns imagery and may retain copies", "url": "https://www.pixxel.space/pixxel-imagery-end-user-license-agreement"}, {"claim": "Not in the MCP Registry (0 results)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=pixxel"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "status": "unclaimed", "updated": "2026-10-28", "expires": "2027-10-27"}, {"spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "id": "planet", "name": "Planet (Planet Labs)", "provider_url": "https://www.planet.com", "status": "unclaimed", "adapter": "planet", "short": "Satellite imagery of anywhere on Earth: near-daily PlanetScope, and new 50 cm SkySat captures from $12 per km2.", "summary": "Operator of the PlanetScope (near-daily, ~3-4 m), SkySat (50 cm class), Pelican (30-50 cm class) and Tanager (hyperspectral) satellite constellations. New SkySat captures can be bought pay-as-you-go through Planet Select (a self-service web portal run with SkyFi; published per-km2 prices, 25 km2 minimum) or under an annual tasking-credits contract, which also covers Pelican and Tanager and gives access to the Tasking API (key from Planet sales). Its Data and Orders APIs search and deliver the existing archive; PlanetScope scenes 30 days and older are self-serve with an Insights Flex plan.", "tags": ["satellite", "satellite imagery", "earth observation", "remote sensing", "aerial", "PlanetScope", "SkySat", "tasking", "archive imagery", "high resolution", "daily imagery", "change detection", "global", "api", "geospatial", "Pelican", "Tanager", "hyperspectral", "stereo", "satellite video"], "capabilities": {"modalities": ["aerial", "photo", "video"], "tasks": ["search archive scenes by area, date range, cloud cover and item type (e.g. PSScene, SkySatCollect)", "scene-count statistics over time for an area", "order and deliver archive scenes or basemaps, with optional raster tools, to download or cloud storage", "new SkySat tasking: point (25 km2 square), line, area, stereo, tri-stereo and video (30-120 s) collects", "Flexible tasking (automated retries for a cloud-minimized capture over a time of interest of 14+ days) and Assured tasking (a chosen imaging window, collected regardless of weather)", "Pelican (30-50 cm) and Tanager hyperspectral tasking, and Tanager methane estimates, under a tasking-credits contract", "price estimate before placing a tasking order (Tasking API)"]}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "Planet's Assured Tasking terms: imaging windows 'between \u2264 7 days and \u2265 6 hours prior to TOI'; orthorectified products '\u2264 12 hours from capture'. Planet Select: 'New tasking is completed within your selected capture window.'"}, "pricing": {"model": "Published per-km2 prices for pay-as-you-go SkySat tasking and archive through Planet Select; monthly or annual Insights Flex plans for archive PlanetScope; annual contracts (tasking credits, committed use) through sales for the Tasking API, Pelican, Tanager and fresher PlanetScope data", "from_usd": 12, "unit": "per km2 (SkySat Flexible Tasking via Planet Select; 25 km2 minimum order)", "notes": "Planet's pricing page lists SkySat Flexible Tasking at $12/km2, SkySat Assured Tasking at $40/km2 and SkySat archive (30 days and older) at $6/km2, via Planet Select, with a 25 km2 minimum order (so about $300 for the smallest Flexible order). Pelican, Tanager, stereo, line and area collects are quoted by sales. Insights Flex plans for PlanetScope archive data (30 days and older): Starter $110/month or $1,100/year (7,000 monitoring credits/month), Professional $550/month, Scale $1,200/month; ordering 30-day-and-older PlanetScope scenes costs 50 monitoring credits per km2. Next-day and near-real-time PlanetScope needs an enterprise or Planet Agriculture plan (Agriculture: $0.35-$1.80 per hectare by country tier, sold in 5 km2 increments on an annual contract). The Tasking API's POST /tasking/v2/pricing/ and GET /tasking/v2/orders/{id}/pricing return a quota cost for contract customers. A free 30-day trial (3,000 monitoring credits, no card) covers public and sandbox data only, not ordering over your own area."}, "latency": {"typical": "New SkySat capture: Assured tasking collects in a chosen imaging window booked between 6 hours and 7 days before the time of interest (Express windows under 6 hours); Flexible tasking keeps trying over a time of interest of at least 14 days. Orthorectified products are delivered within about 12 hours of capture (L1A within about 4 hours for Assured). Archive search is immediate.", "notes": "Planet's tasking terms call the latency figures estimates that may vary. Flexible orders must be placed at least 24 hours before the time of interest. Planet Select says archive data is delivered immediately and new tasking is completed within the selected capture window. The Tasking API distinguishes Standard delivery (per SLA) from Fast Track delivery (as soon as data is available) but gives no figures. Archive scenes in the Data API must be activated before download, or ordered through the Orders API."}, "coverage": {"regions": ["Global (PlanetScope: Earth's land surface near-daily; SkySat and Pelican: tasked anywhere not restricted)"], "notes": "Planet's June 2026 product specifications say PlanetScope provides near-daily imagery of the entire land surface with hundreds of Dove satellites in orbit, and that about fifteen SkySat-C satellites are in orbit (4-5 day revisit per satellite). Planet says certain countries and areas are restricted for tasking for capacity and compliance reasons and that these change; Planet Select shows when an area is unavailable and may restrict sensitive areas. Insights Flex reserves the right to limit access within some regions. Area tasking orders are capped at an account-specific maximum km2.", "areas": ["*"]}, "licensing": {"summary": "Licensed, not sold. Under Planet's Master Content License Agreement 2026.1 (effective June 24, 2026, current for all Order Schedules) Planet grants a limited, nontransferable, non-sublicensable, revocable licence scoped by the Order Schedule and retains all right, title and interest in the content. You may not distribute, sublicense or let third parties access the content, create derivative works except as authorized, use it to improve non-Planet imagery, or build a substitute for Planet's products. AI training is allowed if your Order Schedule's usage rights allow Derivative Products, unless the Order Schedule says otherwise: not to replicate Planet content or improve third-party imagery, only on isolated, encrypted systems, and the resulting model stays subject to Planet's rights and may not be commercialized or distributed unless the Order Schedule permits. The Terms of Use (September 1, 2026) let Insights Platform licensees build application and media derivative products for third parties' internal use only, without source imagery, and require a Planet credit. The MCLA lets Planet require agentic users to be identified.", "resale": "forbidden", "ai_training": "allowed", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Not applicable: captures come from automated satellites, with no human operator in the loop"}, "application": {"level": "none", "unknown": "No public documentation of signing, provenance attestation, or a tamper-evident chain from satellite downlink to delivered file"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each scene is an item type tied to one constellation (e.g. PSScene, SkySatCollect), and Planet's product specifications document each constellation's sensors (e.g. SkySat: three 5.5 MP CMOS detectors behind a 3.6 m focal-length telescope). No signed provenance links a delivered file to a specific satellite and sensor; you rely on Planet's metadata"}, "time": {"level": "claimed", "method": "Scenes carry an 'acquired' timestamp that the Data API filters on (DateRangeFilter on 'acquired'); tasking captures are reported per order through /tasking/v2/captures/", "unknown": "How the acquisition time is derived and its accuracy are not documented on the pages read; timestamps are not signed"}, "location": {"level": "claimed", "method": "Ortho products are corrected with attitude telemetry and ephemeris, then orthorectified with ground control points and 30-90 m DEMs; Planet's product specifications state positional accuracy under 10 m RMSE (PlanetScope ortho: 'Less than 10 m RMSE at 90th percentile'; SkySat ortho: under 10 m RMSE). Raw SkySat geolocation knowledge is 30-50 m", "unknown": "These are specifications, not per-scene measurements; accuracy varies by region and terrain, and no per-scene error is published"}, "content": {"level": "none", "unknown": "No public method for detecting manipulated imagery. Cloud cover and quality_category are metadata, not authenticity checks. Orders API manifests carry per-file MD5 and SHA-256 digests, which show a file arrived intact but are unsigned and say nothing about what it shows"}, "corroboration": {"level": "none", "unknown": "Planet offers no per-capture independent cross-check. A NASA GSFC study (June 2022) measured PlanetScope offsets against WorldView imagery for a few sample sites (see attestations); it says nothing about any individual delivered scene or about SkySat"}}, "attestations": [{"verifier": "NASA Goddard Space Flight Center (Tan, Lin, Wolfe)", "scope": "location (PlanetScope geolocation, relative to WorldView reference images)", "result": "Sample sites only: after filtering, mean offsets of 4.24 m east-west and -0.81 m north-south in New Mexico; about 3-8 m east-west and 4.7-6.4 m north-south in Singapore, where the two WorldView references disagreed by about 8 m", "date": "2022-06-02", "url": "https://www.earthdata.nasa.gov/s3fs-public/2022-06/Planet_Geolocation_Assessment.pdf"}], "freshness": {"mode": "mixed", "typical_age": "Tasking: captured after you order. Archive: PlanetScope from near-daily to years old; self-serve Insights Flex gets PlanetScope 30 days and older; SkySat archive via Planet Select is 30 days and older.", "notes": "The Data API and Orders API serve existing scenes; the Tasking API and Planet Select order new captures. A tasking customer may buy an archive hold of up to 30 days before its captures join the shared SkySat archive. Buying archive imagery through the Tasking API is deprecated and ends November 1, 2026."}, "api": {"available": true, "docs_url": "https://docs.planet.com/develop/apis/", "base_url": "https://api.planet.com", "auth": [{"type": "basic", "env_var": "PLANET_API_KEY", "header": "Authorization", "how_to_get": "Data and Orders APIs: the API key on your Planet Account page, My Settings tab (one active key at a time; needs an account with a paid plan to order your own areas). Send it as HTTP Basic with the key as username and an empty password (preferred). Planet's own examples use PL_API_KEY. Tasking API: the key comes from a Planet sales representative."}, {"type": "api_key_header", "header": "Authorization", "env_var": "PLANET_API_KEY", "how_to_get": "Same key, sent as 'Authorization: api-key <key>'. The Tasking API docs use this form."}, {"type": "api_key_query", "env_var": "PLANET_API_KEY", "how_to_get": "Same key as the api_key query parameter, where an API supports it (meant for tile-streaming clients)."}, {"type": "oauth2", "transport": "rest", "scopes": ["planet", "offline_access", "openid", "profile", "email"], "dynamic_registration": false, "pkce": "S256", "how_to_get": "Authorization-code or device-code login at login.planet.com, giving a JWT sent as 'Authorization: Bearer <token>'. Interactive client registration has not been released: the only supported interactive client is Planet's CLI and Python SDK ('planet auth login'), which planet-mcp also uses. Machine-to-machine client credentials work only on services.sentinel-hub.com so far. Planet intends to deprecate API keys eventually, with no date set. api.planet.com serves no RFC 9728 protected-resource metadata."}], "endpoints": [{"action": "search", "method": "POST", "path": "/data/v1/quick-search", "params": "body: item_types (e.g. ['PSScene']), geometry (GeoJSON), filter (AndFilter of DateRangeFilter on 'acquired', RangeFilter on 'cloud_cover', StringInFilter 'quality_category', AssetFilter, PermissionFilter); query: _sort, _page_size", "notes": "One-off archive search; rate limit 5 req/s"}, {"action": "search", "method": "POST", "path": "/data/v1/searches", "params": "same body as quick-search plus a name", "notes": "Create a saved search; run it with GET /data/v1/searches/{search_id}/results"}, {"action": "search", "method": "POST", "path": "/data/v1/stats", "params": "item_types, interval (e.g. day), filter, optional utc_offset", "notes": "Scene counts over time, useful for checking how often an area is imaged"}, {"action": "fetch", "method": "GET", "path": "/data/v1/item-types/{item_type_id}/items/{item_id}/assets", "notes": "Lists assets with status and an activate link. Assets must be activated and polled until active before download (activation 2 req/s, download 5 req/s). Activation charges quota for the whole scene"}, {"action": "order", "method": "POST", "path": "/compute/ops/orders/v2", "params": "name, products [{item_ids, item_type, product_bundle}], source_type (scenes|basemaps), optional tools, delivery, hosting, notifications", "notes": "Orders API: delivers archive scenes; max 500 items per request; 10,000 active orders per organization"}, {"action": "status", "method": "GET", "path": "/compute/ops/orders/v2/{order_id}", "notes": "Order state: queued, running, success, partial, failed or cancelled"}, {"action": "list", "method": "GET", "path": "/compute/ops/orders/v2", "notes": "List Orders API orders"}, {"action": "quote", "method": "POST", "path": "/tasking/v2/pricing/", "params": "geometry, plus imaging_window for ASSURED orders; one order or a bulk array", "notes": "Estimate tasking price before ordering"}, {"action": "order", "method": "POST", "path": "/tasking/v2/orders/", "params": "name, geometry (GeoJSON Point/LineString/Polygon; a Point is a 5x5 km square), start_time, end_time, product, pl_number, order_type (e.g. STEREO), n_stereo_pov", "notes": "New capture. product and pl_number default to the values tied to the API key. Area orders are Flexible only. Bulk create/edit/cancel via POST /tasking/v2/bulk/ (up to 1000)"}, {"action": "status", "method": "GET", "path": "/tasking/v2/orders/{order_id}", "notes": "Edit with PUT. Cancel with DELETE (?accept_cancellation_charge=true if over the contract's cancellation limit)"}, {"action": "list", "method": "GET", "path": "/tasking/v2/orders/", "params": "status, name__icontains, created_time__gt, limit, offset"}, {"action": "fetch", "method": "GET", "path": "/tasking/v2/captures/?order_id={order_id}", "notes": "Captures and their status for a tasking order"}, {"action": "quote", "method": "GET", "path": "/tasking/v2/orders/{order_id}/pricing", "notes": "Price of an existing order (orders created after March 2024)"}], "sdk": "Planet Python SDK and 'planet' CLI (planetlabs/planet-client-python)", "rate_limits": "Data API: activation 2/s, download 5/s, search 5/s, other 10/s. Orders API (per key): create, get, list and cancel 3/s each, download 5/s, bulk cancel 5/s. Tasking API: 30/min unauthenticated, 40/s burst, 300/min sustained; HTTP 429 when exceeded.", "self_serve": false, "notes": "The Data and Orders APIs are self-serve once you buy an Insights Flex plan (archive PlanetScope 30 days and older); new captures by API need the Tasking API and a contract key, while self-serve new captures go through the Planet Select web portal. Orders can include metadata.stac (beta, scenes only) for a STAC catalog; manifest.json lists MD5 and SHA-256 digests per file. No /.well-known/ucp, /.well-known/agent-card.json or /.well-known/irlpls is served on planet.com or api.planet.com. The Terms of Use bar collecting data from the Services by automated means, running processes while you are not logged in, and caching: data must be served directly from the API, so use the licensed API and do not keep unattended background jobs or local copies beyond your licence.", "mcp": {"remote": null, "registry_name": null, "first_party": true, "auth": "Planet account via 'planet auth login' (OAuth2 through the Planet CLI)", "notes": "planet-mcp is Planet's experimental local (stdio) MCP server built on the Planet SDK, installed with 'pip install planet-mcp'. Planet warns it can create and modify orders and subscriptions, and says not to disable tool approvals. It is not in the official MCP Registry and has no hosted endpoint."}}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "contract", "rate_limit": {"requests": 2, "per_seconds": 1, "scope": "unknown", "notes": "Data API activation; search and download 5/s, other calls 10/s. Orders API per key: create, get, list and cancel 3/s each, download 5/s. Tasking API 300/min sustained. 429 when exceeded.", "source_url": "https://docs.planet.com/develop/apis/data/"}}, "payment": {"methods": ["card"], "agent_can_pay": false, "prepaid": true, "notes": "Insights Platform plans are paid monthly or annually with a stored payment method, and monitoring credits are bought up front with top-ups. Tasking credits are paid up front under an annual contract. Planet Select orders are placed and paid in the SkyFi-run portal. No agent payment method is documented."}, "capture": {"by": "devices"}, "requester": {"checks": "Planet Select does not permit defence and intelligence use cases and may restrict sensitive areas; tasking-credits contracts do permit them. Tasking is restricted over certain countries and areas. Users must comply with export controls and sanctions and may not serve restricted parties or jurisdictions. The MCLA lets Planet require agentic users to be identified by user-agent headers or separate credentials and their purpose described.", "unknown": "How Planet screens a new self-serve customer is not published."}, "sources": [{"claim": "Data API needs an active Planet account; quick and saved searches; item types PSScene and SkySatCollect; rate limits activation 2/s, download 5/s, search 5/s, other 10/s", "url": "https://docs.planet.com/develop/apis/data/"}, {"claim": "Data API quick-search, searches and stats endpoints; filter body (DateRangeFilter on acquired, cloud_cover, quality_category, AssetFilter, PermissionFilter); basic auth example", "url": "https://docs.planet.com/develop/apis/data/item-search/"}, {"claim": "Data API reference: item types, items, assets with activate link and status, searches, stats", "url": "https://docs.planet.com/develop/apis/data/reference/"}, {"claim": "Auth: OAuth2 authorization code (preferred for interactive users), client credentials only on services.sentinel-hub.com, API keys; scopes planet, offline_access, openid, profile, email; interactive client registration not released; HTTP Basic preferred, 'Authorization: api-key', api_key query param; key on Account page, My Settings, one active key; plan to eventually deprecate API keys", "url": "https://docs.planet.com/develop/authentication/"}, {"claim": "OAuth authorization server metadata: authorization, token and device-code endpoints; PKCE S256; no registration endpoint", "url": "https://login.planet.com/.well-known/oauth-authorization-server"}, {"claim": "Tasking API base URL, api-key header, key from sales rep, orders/pricing/bulk/captures endpoints, Point = 5x5 km, Flexible/Assured/Archive/Stereo, archive purchase via Tasking deprecated Nov 1 2026, Standard vs Fast Track delivery, 0-30 day archive hold, rate limits, cancellation charges", "url": "https://docs.planet.com/develop/apis/tasking/"}, {"claim": "Orders API: source_type scenes/basemaps, tools, delivery, hosting, notifications; states; 500 items per request; 10,000 active orders per organization; per-endpoint rate limits", "url": "https://docs.planet.com/develop/apis/orders/"}, {"claim": "Orders API base URL https://api.planet.com/compute/ops and paths /orders/v2 and /orders/v2/{order_id}", "url": "https://docs.planet.com/develop/apis/orders/reference/"}, {"claim": "Order delivery: manifest.json with per-file MD5 and SHA-256 digests; STAC metadata (beta, scenes only)", "url": "https://docs.planet.com/develop/apis/orders/delivery/"}, {"claim": "Planet MCP: experimental local MCP server built on the Planet SDK, listed in Planet's SDK docs", "url": "https://docs.planet.com/develop/sdks/"}, {"claim": "planet-mcp README: local stdio server, pip install planet-mcp, auth via planet auth login, beta warning that it can create and modify orders", "url": "https://github.com/planetlabs/planet-mcp"}, {"claim": "Pricing page: SkySat archive $6/km2, Flexible tasking $12/km2, Assured tasking $40/km2 via Planet Select; 25 km2 minimum; Pelican, Tanager, stereo, line and area collects by sales; Planet Select bars defence and intelligence use; tasking restricted areas; Insights Flex Starter $110/mo ($1,100/yr), Professional $550/mo, Scale $1,200/mo; 50 MC/km2 to order 30-day-and-older PlanetScope; Agriculture $0.35-$1.80/ha; 30-day free trial with 3,000 credits, no card, no ordering over own areas; Pelican 30-50 cm, SkySat 50 cm class", "url": "https://www.planet.com/pricing/"}, {"claim": "Self-serve purchasing launched (May 2025): Area Under Management and Single Order Tasking", "url": "https://www.planet.com/pulse/planet-enables-self-service-purchasing-for-small-customers-on-planet-insights-platform/"}, {"claim": "Single Order Tasking rebranded Planet Select; pay as you go; archive delivered immediately; new tasking completed within the selected capture window; ordered and delivered via the SkyFi interface", "url": "https://skyfi.com/en/blog/planet-select-skysat-tasking-and-archive-imagery"}, {"claim": "Current terms: MCLA 2026.1 applies to all Order Schedules; product terms for SkySat Flexible and Assured Tasking (2025.1) and Tasking Credits (2026.1)", "url": "https://www.planet.com/licensing-information/"}, {"claim": "MCLA 2026.1 sections 3.1-3.4: limited revocable licence; no distribution or third-party access; no improving non-Planet imagery or building substitutes; AI Training allowed where Derivative Products are allowed, with conditions; Agentic Users clause; Planet retains all right, title and interest", "url": "https://go.planet.com/master-content-license-agreement-20261"}, {"claim": "SkySat Flexible Tasking terms: order types incl. stereo, tri-stereo and video; TOI deadline >= 24 h and duration >= 14 days; 25 km2 point minimum; ortho latency <= 12 h from capture; cancellation charges; up to 30-day archive hold", "url": "https://go.planet.com/skysat-flexible-tasking-20251"}, {"claim": "SkySat Assured Tasking terms: point and line orders; imaging window 6 h to 7 days before TOI, Express under 6 h; 25 km2 minimum; ortho <= 12 h and L1A <= 4 h from capture; delivered as-is regardless of weather", "url": "https://go.planet.com/skysat-assured-tasking-20251"}, {"claim": "Terms of Use (effective September 1, 2026): Insights Platform usage terms (derivative products for internal use of third parties, Planet credit), payment by stored payment method monthly or annually, export-control and sanctions compliance, API download permitted", "url": "https://www.planet.com/terms-of-use/"}, {"claim": "Product specifications (June 2026): PlanetScope near-daily land coverage with hundreds of Doves, 3.0-4.2 m GSD; about fifteen SkySat-C in orbit, 4-5 day revisit per satellite, 30-50 m raw geolocation knowledge, sensor description; ortho products under 10 m RMSE using GCPs and DEMs", "url": "https://assets.planet.com/docs/Planet_Combined_Imagery_Product_Specs_letter_screen.pdf"}, {"claim": "PlanetScope 3.7-4.1 m pixel size resampled to 3 m; 1-day revisit", "url": "https://docs.sentinel-hub.com/api/latest/data/planet/planet-scope/"}, {"claim": "E&R Basic ToS requires crediting 'Planet Labs' as the source", "url": "https://assets.planet.com/docs/E&R_Basic_ToS_Revised_May_2023.pdf"}, {"claim": "NASA GSFC PlanetScope geolocation assessment (Tan, Lin, Wolfe, 2022-06-02): image registration against WorldView; New Mexico and Singapore sample offsets", "url": "https://www.earthdata.nasa.gov/s3fs-public/2022-06/Planet_Geolocation_Assessment.pdf"}, {"claim": "MCLA 2026.1 s3.2(b): AI training only if Order Schedule allows Derivative Products; s3.2(c) agentic users may be identified", "url": "https://planet.widen.net/s/gmbbjxcggq/master-content-license-agreement_2026.1"}], "updated": "2026-10-28", "expires": "2027-10-27"}, {"id": "pospulse-streetspotr", "name": "POSpulse (Streetspotr community)", "status": "unclaimed", "provider_url": "https://www.pospulse.com", "short": "German store checks and mystery shopping with photos and GPS.", "summary": "POSpulse GmbH (Berlin) takes commissions for store checks, placement and promotion tracking, mystery shopping and shopper feedback at points of sale in Germany. Its Streetspotr smartphone community ('Spotr') fills a questionnaire on site and takes photos; POSpulse reviews each dataset against the order and releases accepted ones to an analytics dashboard. A quote is agreed per project; no public API is documented, though the site mentions 'Schnittstellen zu Ihren Systemen'.", "tags": ["people", "store-check", "mystery-shopping", "shelf-audit", "photos", "germany", "retail", "crowd"], "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["store check", "shelf placement and availability", "price check", "promotion tracking", "mystery shopping", "out-of-home advertising check", "shopper feedback"]}, "pricing": {"model": "Quote per project; the customer pays only for accepted datasets from markets actually visited", "from_usd": 0, "unit": "project", "notes": "AGB: contract forms on accepting the written offer; 'Der Kunde zahlt nur f\u00fcr angenommene Datens\u00e4tze'; a 70% fee on the remaining order value applies to reductions or cancellations after contract. No prices published."}, "latency": {"typical": "Collection starts within 5 working days of questionnaire confirmation", "notes": "AGB V: data collection starts 'innerhalb von maximal 5 Werktagen'. The site says 'Ergebnisse in Echtzeit' via dashboard. The Streetspotr app page says a Spot normally must be done within 12 hours of being taken and uploaded results are reviewed within a maximum of 7 days."}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "AGB V: 'POSpulse wird die Datenerhebung innerhalb von maximal 5 Werktagen starten'.", "formats": ["dashboard"]}, "freshness": {"mode": "on_demand", "notes": "Spotr visit the market after the order."}, "coverage": {"regions": ["Germany"], "notes": "Site and customer quotes refer to checks across Germany ('ganz Deutschland'); the Streetspotr page names only Germany. The AGB also mention out-of-home and at-home surveys.", "areas": ["DE"]}, "licensing": {"summary": "AGB V: 'Die erhobenen Datens\u00e4tze geh\u00f6ren POSpulse' (the collected datasets belong to POSpulse), which may use them anonymised for benchmarks, industry reports, white papers and media; order-specific details are not passed to third parties. What rights the customer receives to the results (use, resale, AI training) is not stated in the AGB sections read.", "buyer_owns_output": false}, "access": {"cost": "quote", "key_required": false, "tested_live": null, "gate": "contract"}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Request through the platform, by email (service@pospulse.com) or by phone; POSpulse returns a written offer (AGB II). A free demo is offered on the site."}], "mcp": {"remote": null, "registry_name": null, "first_party": false}, "notes": "No API documentation found. The home page says 'Schnittstellen zu Ihren Systemen' (interfaces to your systems) are possible without detail. A customer quote on the home page also mentions a self-service tool to steer surveys. /.well-known/agent-card.json, /ucp and oauth-protected-resource returned 404."}, "capture": {"by": "contributors", "worker_pay": {"model": "paid per correctly and completely executed order; independent, not employees", "disclosed": false}}, "requester": {"checks": "AGB II: the request must not breach law (criminal, discriminatory, pornographic or racist content); POSpulse reviews each request by internal criteria and may decline to make an offer to individual customers.", "unknown": "Whether requests aimed at a person rather than a place are blocked is not stated."}, "verification": {"human": {"level": "none", "unknown": "Spotr register as members; no identity check is described on the pages read."}, "application": {"level": "none", "unknown": "Data is captured with the Streetspotr app, but no app or device attestation is described."}, "camera": {"level": "none", "unknown": "No signed capture or C2PA is described."}, "time": {"level": "claimed", "method": "Home page: 'GPS-Tracking, Datum-/Zeitstempeln' guarantee traceable surveys; spots are completed in a set time frame (normally 12 hours).", "unknown": "Source of the timestamp and whether it can be checked outside POSpulse are not published."}, "location": {"level": "claimed", "method": "Streetspotr page: workers check in on site 'in einem Umkreis von 400m'; home page cites GPS tracking.", "unknown": "The 400 m radius is stated for the app generally, not per order; some surveys can be done from anywhere; spoofing defences are not described."}, "content": {"level": "claimed", "method": "AGB V: POSpulse rejects datasets whose answers do not match the photos or are incomplete; home page adds AI image recognition and analyst quality control.", "unknown": "Review thresholds and error rates are not published; the customer receives accepted datasets, not the rejected ones."}, "corroboration": {"level": "none", "unknown": "Multiple Spotr cover many markets but each market is visited once; no cross-check is described."}}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "sources": [{"claim": "Services (store checks, mystery shopping, market insights, shopper feedback), Streetspotr community, GPS tracking and time stamps, AI image recognition, 'Schnittstellen', free demo", "url": "https://www.pospulse.com/"}, {"claim": "POS optimisation: placement and availability checks, promotion tracking", "url": "https://www.pospulse.com/service/pos-optimierung"}, {"claim": "AGB: offer-based contract, 5 working days to start, datasets belong to POSpulse, pay only for accepted datasets, 70% cancellation fee, request rules, Spotr independent, AI services may include Anthropic", "url": "https://www.pospulse.com/agbs"}, {"claim": "Streetspotr app page: tasks near you, 400 m check-in, normal 12-hour window, review within 7 days, Germany", "url": "https://www.streetspotr.com/"}]}, {"id": "precisely-ground-level-images", "name": "Precisely Ground Level Images (via DoorDash Tasks)", "status": "unclaimed", "provider_url": "https://www.precisely.com/data-guide/products/ground-level-images/", "short": "On-demand exterior photos of US commercial buildings. Quote only.", "summary": "A Precisely 'Places' data product: recent, high-resolution exterior photos of commercial properties 'captured on demand' through the DoorDash Tasks network, delivered with structured metadata and a PreciselyID linking to other property datasets. Pitched at insurance underwriting, real-estate due diligence, retail site evaluation, telecom and utilities planning. Available in select US places; pricing, unit of sale, turnaround and API are not published, and the page asks the reader to request information.", "tags": ["people", "photos", "property", "underwriting", "commercial", "buildings", "us", "gig", "data-product"], "capabilities": {"modalities": ["photo"], "tasks": ["commercial building exterior photo", "property condition assessment", "storefront condition", "site context for planning"]}, "pricing": {"model": "Not published; request more information", "from_usd": 0, "unit": "image", "notes": "The Specifications table lists 'Unit of Sale' with no value."}, "latency": {"typical": "'Fast turnaround' (no figure)", "notes": "Page: 'providing fast turnaround for specific commercial building locations'; update frequency 'On-demand'."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Features: 'On-demand capture ... providing fast turnaround'; no time given.", "formats": ["jpeg", "json"]}, "freshness": {"mode": "on_demand", "typical_age": "Recent; not quantified", "notes": "Page says 'recent' photos 'captured on demand'. Whether an order triggers a new visit or draws on prior captures is not stated, so check before relying on freshness."}, "coverage": {"regions": ["USA, select places"], "notes": "Page: 'currently available in select places in the United States'. The DoorDash Tasks programme excludes California, New York City, Seattle and Colorado; whether the same exclusions apply here is not stated.", "areas": ["US"]}, "licensing": {"summary": "No licence terms are on the product page. Rights, AI training and resale are not stated. The page itself says the product is 'designed to power AI and agentic AI workflows', but that is marketing, not a licence grant."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "approval"}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "'Request more information' / 'Get in touch' on the product page."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "Precisely advertises 'MCP-enabled APIs' for its platform in general; the product page does not tie them to this product."}, "notes": "No ordering API is documented for this product. The page says deliveries integrate 'into your data workflows' without detail."}, "payment": {"methods": [], "agent_can_pay": false, "prepaid": false, "notes": "Not published."}, "capture": {"by": "people"}, "requester": {"unknown": "Not published."}, "verification": {"human": {"level": "none", "unknown": "Who took each photo is not shown; the page says only that it is captured through the DoorDash Tasks network."}, "application": {"level": "none", "unknown": "No app or device attestation is described."}, "camera": {"level": "none", "unknown": "No capture signing is described."}, "time": {"level": "none", "unknown": "Photos are called 'recent'; no capture timestamp method is described, though structured metadata is delivered (fields not listed)."}, "location": {"level": "none", "unknown": "Images link to a PreciselyID for the property; how the photo location is proved is not described."}, "content": {"level": "none", "unknown": "'Standardized deliverables' are claimed; no check that the photo shows the right building is described."}, "corroboration": {"level": "none", "unknown": "None described."}}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "sources": [{"claim": "Product page: exterior photos of commercial buildings, captured on demand via DoorDash Tasks, structured metadata, PreciselyID, select US places, on-demand update frequency, unit of sale blank, request more information", "url": "https://www.precisely.com/data-guide/products/ground-level-images/"}, {"claim": "DoorDash Tasks programme coverage exclusions (context only)", "url": "https://about.doordash.com/en-us/news/introducing-doordash-tasks"}]}, {"id": "premise", "name": "Premise", "provider_url": "https://premise.com", "status": "unclaimed", "short": "Smartphone crowd in 140+ countries for photo, video and survey tasks; sold by contract, no public API.", "summary": "Premise turns a customer's questions into paid tasks in its mobile app. Contributors in over 140 countries complete them by taking photos, videos and audio recordings, answering surveys or reporting what they see at a place. Submissions go through automatic and manual quality control, and results reach the customer in a dashboard or as a raw export. It is sold for retail audits, price and market monitoring, point-of-interest mapping and verification, and situation monitoring for development and humanitarian work.", "tags": ["crowd", "ground truth", "survey", "photo", "video", "retail audit", "price monitoring", "point of interest", "global", "international development", "humanitarian"], "capabilities": {"modalities": ["photo", "video", "audio", "text-report"], "tasks": ["location surveys", "retail audits and store visits", "price and product availability monitoring", "location discovery and point-of-interest verification", "mapping infrastructure, services and businesses", "business hours and offerings", "situation analysis and remote monitoring", "video interviews (VideoAI)", "asset and site inspections"]}, "pricing": {"model": "per project (quote)", "from_usd": 0, "unit": "project", "notes": "No price published; the only route is Book a Demo. The SaaS Agreement bills in US dollars under an executed Order Document, with fees payable up front unless the Order Document says otherwise, auto-renewing terms (one year by default) and no refunds. Negotiated pricing is confidential. from_usd 0 means not published."}, "latency": {"typical": "Same-day data once a campaign is running (company-stated).", "notes": "The homepage says organisations 'can swiftly gather same-day data'. The 2019 brochure says a campaign 'can begin in as little as 24-48 hours' where a contributor network exists, and that recruiting and training a network in a new region takes 2-4 weeks. Contributor rejection appeals take 3-5 days."}, "coverage": {"regions": ["Global (over 140 countries)"], "notes": "Company-stated: 'over 140 countries', '6M+ Contributors Worldwide', '25M+ Submissions per Year', '2.3M+ Unique Points of Interest', and over 120,000 traditional-trade store visits a month (December 2024). No country list or density is published. The contributor terms exclude people resident in Cuba, Iran, North Korea, Sudan, Syria and Crimea. For new regions the 2019 brochure gives 2-4 weeks to recruit a network."}, "licensing": {"summary": "Under the public SaaS Agreement, data 'collected specifically for Customer' under an Order Document (Collected Data) is owned by the customer, and Premise assigns 'all intellectual property rights it has' in it. Data Premise sells to other customers too (Licensed Data) comes with a non-exclusive, non-transferable, perpetual licence for internal business purposes only and 'may not be resold or otherwise directly commercialized' (the resale bar applies to Licensed Data only; Collected Data is yours). A separately negotiated master agreement overrides these terms. Contributors keep their content but grant Premise a non-exclusive, perpetual, sublicensable licence to exploit it for any purpose, including by the customer and the customer's clients. The terms do not name AI training by buyers, or whether Premise trains on customer data.", "buyer_owns_output": true, "resale": "forbidden"}, "verification": {"human": {"level": "claimed", "method": "One account and one device per person, with no account sharing (Community Guidelines). Premise may run background and security checks at its discretion (Terms of Use), and the 2019 brochure lists account-duplication checks.", "evidence_url": "https://tos.premise.com/community-guidelines/en/", "unknown": "No identity check is required for ordinary tasks; sign-up is by Google or Apple credentials or a username and password. KYC applies only to the Premise Wallet. Contributors reach customers only as anonymous IDs, so a buyer cannot check who captured an item."}, "application": {"level": "claimed", "method": "Tasks are done only in the Premise mobile app; the guidelines ban other access and 'auto' or 'macro' software. The app collects the names of installed apps so Premise can detect ones that 'doctor' location data or the clock (an installed-app scan, not attestation).", "evidence_url": "https://tos.premise.com/privacy-policy/en/", "unknown": "No device or app attestation (such as Play Integrity or App Attest) is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Image Analysis in quality control checks that photos are 'not blurry or from a computer, and of the correct subject'. How screen or generated images are detected is not published. There is no C2PA or other signed capture, and Premise is not on the C2PA conforming products list."}, "time": {"level": "claimed", "method": "Submissions carry timestamps (2019 brochure). The app checks installed apps to catch any that 'doctor' the clock.", "evidence_url": "https://tos.premise.com/privacy-policy/en/", "unknown": "Whether the timestamp comes from the device or the server, and whether the buyer receives a capture time for each item, is not documented."}, "location": {"level": "claimed", "method": "The app records precise check-in and observation locations. Quality control includes location verification and machine-learning anti-spoofing. The guidelines ban mocking or spoofing location, and starting and finishing a task in different places.", "evidence_url": "https://premise.com/how-premise-works/", "unknown": "How the coordinates are checked is undocumented, and no public proof is offered for any item."}, "content": {"level": "claimed", "method": "Every submission goes through automatic (machine-learning) and manual quality control and fraud detection before it reaches the dashboard. The task brief defines the deliverable.", "evidence_url": "https://premise.com/how-premise-works/", "unknown": "Rejection and error rates are not published."}, "corroboration": {"level": "claimed", "method": "'crowdsourced confirmation' on top of manual quality control (2019 brochure).", "evidence_url": "https://premise.com/wp-content/uploads/2019/11/WhyPremiseBrochure_2019.pdf", "unknown": "Only the 2019 brochure mentions it, and current pages do not. How often items are confirmed, and by whom, is not stated."}}, "api": {"available": false, "self_serve": false, "notes": "No public API docs. Customers use dashboards and raw data export (CSV, KMZ, PDF), and the 2019 brochure mentions a 'Data API for real-time data access' to results. api.premise.com answers most paths, including /.well-known/oauth-protected-resource, with HTTP 400 'authorization header missing or malformed' (the bare root returned 200 with an empty body on 2026-10-28), so a private API exists but is undocumented (no public discovery metadata). Ordering is by sales contract; no tasking API is published.", "mcp": {"remote": null, "registry_name": null, "notes": "No Premise entry in the official MCP Registry (2026-10-26)."}}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "'If a network is already in place where your study is situated, your data acquisition campaign can begin in as little as 24-48 hours. For new regions, we can recruit and train a network in 2-4 weeks' (2019 brochure); 'swiftly gather same-day data' (homepage)."}, "freshness": {"mode": "on_demand", "typical_age": "same day to days", "notes": "Collected Data is captured for the customer's tasks. Licensed Data that Premise already holds is also sold, but it is not new capture."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment method is published. Fees follow an executed Order Document, are payable in US dollars at registration or renewal unless the Order Document says otherwise, are non-cancellable and non-refundable, and carry 1.5% a month on late payment."}, "capture": {"by": "contributors"}, "requester": {"checks": "No customer screening is published. Customers sign an Order Document, and the SaaS Agreement forbids unlawful use and material that violates third-party privacy. Contributors are told not to invade privacy or enter non-public spaces, and may leave any task where they feel unsafe.", "unknown": "Whether Premise reviews task briefs, for example ones that target a specific person or private place, before contributors see them."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "140+ countries, 6M+ contributors, 25M+ submissions a year, 2.3M+ points of interest, same-day data, validation algorithms, Book a Demo only", "url": "https://premise.com/"}, {"claim": "Configure, collect, QC and visualise workflow; manual and automatic QC; anti-spoofing ML; location verification; image analysis (not blurry or from a computer); dashboards and raw export", "url": "https://premise.com/how-premise-works/"}, {"claim": "Collected Data owned by the customer and IP assigned; Licensed Data for internal use only and not resold; Order Document; fees, renewal and refunds; scraping ban; master agreement overrides", "url": "https://tos.premise.com/saas-agreement/en/"}, {"claim": "Task types (survey, photos, video, screen shots, recordings); contributor licence to Premise and its clients; background checks; sanctioned-country exclusions; ban on invading privacy or entering non-public spaces; AI analysis", "url": "https://tos.premise.com/terms-of-use/en/"}, {"claim": "Precise check-in and observation location; app-name checks for apps that doctor location or the clock; device information; KYC only for the Premise Wallet; sharing of media with clients", "url": "https://tos.premise.com/privacy-policy/en/"}, {"claim": "One account and one device per person; location spoofing banned; app-only access, no auto/macro software; QC review and 3-5 day appeals", "url": "https://tos.premise.com/community-guidelines/en/"}, {"claim": "Business discovery, location verification, mapping, hours and offerings; photo-backed POI mapping", "url": "https://premise.com/products/geospatial-analytics/"}, {"claim": "VideoAI: video responses from the contributor network in over 140 countries", "url": "https://premise.com/products/ai-qualitative-insights-platform/"}, {"claim": "Situation analysis and remote monitoring; same-day data; observational tasks; access to non-permissive environments", "url": "https://premise.com/international-development/situation-analysis/"}, {"claim": "Market monitoring (price and availability); 6M+ survey panelists and auditors in 140 countries", "url": "https://premise.com/solutions/international-development/"}, {"claim": "Over 120,000 traditional-trade store visits a month; computer-vision product detection (Prime, December 2024)", "url": "https://premise.com/press-releases/premise-unveils-prime-a-breakthrough-solution-transforming-retail-data-insights/"}, {"claim": "2019 QC list (account duplication, GPS spoofing prevention, image analysis); ML review of every submission; crowdsourced confirmation; timestamps; 24-48 h start, 2-4 weeks for new regions; Data API; inspections", "url": "https://premise.com/wp-content/uploads/2019/11/WhyPremiseBrochure_2019.pdf"}, {"claim": "Contributor app on iOS and Android; payouts via PayPal, Payoneer or Bitcoin", "url": "https://contributors.premise.com/"}, {"claim": "Private API host requires an Authorization header; no public discovery documents", "url": "https://api.premise.com/.well-known/oauth-protected-resource"}, {"claim": "No Premise server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=premise"}, {"claim": "Premise not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}]}, {"id": "prolific", "name": "Prolific", "provider_url": "https://www.prolific.com", "status": "unclaimed", "tags": ["participant recruitment", "human data", "online", "surveys", "AI evaluation", "multimodal", "verified participants", "research", "API", "MCP"], "summary": "Online platform that recruits ID-verified adult participants in about 50 countries for paid studies and human-data collection, run through a web app, REST API, CLI or a first-party MCP server. Its AI Task Builder Collections let participants upload their own photos, recordings and files. Prolific prohibits in-person studies, including asking participants to visit specific locations, so it cannot send anyone to a place, and it does not verify where or when an uploaded file was captured.", "short": "ID-verified people in about 50 countries for paid online studies and uploads; no in-person or on-site tasks.", "capabilities": {"modalities": ["photo", "video", "audio", "text-report"], "tasks": ["online surveys and experiments, hosted on Prolific or on an external survey tool", "AI model evaluation, preference ranking and annotation (AI Task Builder Batches)", "original data collection with AI Task Builder Collections: free text, multiple choice and file upload with set file types, sizes and counts (Prolific's examples: photos, documents, recordings, egocentric video, speech samples)", "longitudinal and multi-wave studies with the same participants", "targeting by 300+ audience filters, custom screeners and representative samples"]}, "pricing": {"model": "pay as you go from a prepaid workspace balance: a participant reward you set plus a platform fee; managed services by custom quote", "from_usd": 0, "unit": "per participant submission (the reward you set, plus platform fee)", "notes": "The pricing page states a platform fee of usually 42.8% for corporate customers and 33.3% for academic or non-profit customers. The minimum reward is \u00a36.00 / $8.00 per hour, with \u00a39.00 / $12.00 recommended. No subscription or contract is needed for the platform; managed services use a Statement of Work. A submission's price depends on its estimated time, so no price per capture is published, and from_usd is 0. POST /study-cost-calculator/ returns a study's total including VAT and fees. Final cost can exceed a quote (underpaying adjustments, extra approvals, bonuses). Minimum top-up \u00a30.51 / $0.51."}, "latency": {"typical": "Prolific says self-serve studies typically launch in minutes and return first responses in hours. Most studies start recruiting quickly; contact support if recruitment has not started within two hours.", "notes": "Speed depends on time of day, filters, reward and the eligible pool. Prolific gives no guaranteed timeframe and says it cannot currently support time-sensitive studies. Webhooks (response.submitted, study.completed) allow incremental ingest. Funding by bank transfer can take up to 7 days; card top-ups are instant."}, "coverage": {"regions": ["49 supported countries, mostly OECD members, including the US, UK, Canada, EU countries, Japan, Korea, Australia and New Zealand, plus Brazil, Mexico, Chile, South Africa, the Gulf states, Hong Kong, Taiwan and Singapore", "Small participant populations in Algeria, Argentina, Colombia, Egypt, India, Indonesia, Kazakhstan, Kenya, Malawi, Malaysia, Morocco, the Philippines and Vietnam"], "notes": "Country means where a participant lives, filtered by screener; it says nothing about where a capture is made. Prolific describes particularly strong representation in the US, UK and Europe. Pool size: 300,000+ active participants (pricing page; 'our participant pool in numbers' page says 300k+ and 43 represented countries, 86 languages). The participant help page lists Egypt, India and Indonesia as supported, while the researcher page lists them as small populations. No city-level availability is published, and in-person tasks are prohibited, so coverage of a specific place is not offered.", "areas": ["AU", "AT", "BH", "BE", "BR", "BG", "CA", "CL", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HK", "HU", "IS", "IE", "IL", "IT", "JP", "KR", "LV", "LT", "LU", "MT", "MX", "NL", "NZ", "NO", "PL", "PT", "QA", "RO", "SA", "SG", "SK", "SI", "ZA", "ES", "SE", "CH", "TW", "AE", "GB", "US", "DZ", "AR", "CO", "EG", "IN", "ID", "KZ", "KE", "MW", "MY", "MA", "PH", "VN"]}, "licensing": {"summary": "Researcher Terms (full version, last updated 14 Aug 2026), section M: Prolific claims no rights in Studies or Submissions, and the Participant Terms ask participants to waive proprietary rights in a Submission to the Researcher and, where needed, assign them 'for their sole use'. Section B forbids researchers to 'sell, distribute, publish, sublicense, loan or copy any of the Submissions if not expressly permitted by the Terms', and the terms grant no such permission. The researcher is data controller and must give participants a privacy notice. Media (audio, video, images) must be flagged in the study description, must not include direct identifiers, and must not be used to re-identify anyone. The terms do not mention AI or machine-learning training by the buyer. For AI Task Builder studies Prolific holds Submissions as processor and says it 'will not use Study data or Submissions for our own purposes', but it may review them for compliance, safeguarding, troubleshooting and improving the platform. It also runs authenticity checks and deletes Submissions 6 months after the study completes. The terms do not mention model training by Prolific.", "resale": "forbidden", "buyer_owns_output": true}, "verification": {"human": {"level": "claimed", "method": "Waitlist entry, then identity verification with a live video selfie matched to a government-issued ID (Onfido/Entrust; vendor-reported fraud rate under 0.1%, false acceptance 0.01%), phone and email verification, IP validation and deduplication, VPN detection, an onboarding quality screen, surprise identity re-checks with new selfies, bi-monthly pool audits and behavioural monitoring. Prolific describes 110+ checks in its Protocol system. Optional bot authenticity checks, on by default in AI Task Builder; a '100% Human Guarantee' refunds double for bot-flagged submissions in eligible Qualtrics studies.", "unknown": "All figures are Prolific's or its ID vendor's; no independent audit is published. Prolific's pages disagree on the number of checks (40+, 50+, 110+). Whether the verified person is the one who made a given uploaded photo or recording is not checked.", "evidence_url": "https://researcher-help.prolific.com/en/articles/621821-methodological-justification-pack-how-prolific-protects-data-quality"}, "application": {"level": "none", "unknown": "AI Task Builder Collections take files through a browser file-upload field with allowed types and sizes. No controlled capture app or app attestation is documented."}, "camera": {"level": "none", "unknown": "No method confirms an upload came from a live camera rather than an existing file, a screen recording or a generator. Prolific is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "Exports carry a submission created_at timestamp; nothing establishes when an uploaded file was actually captured."}, "location": {"level": "none", "unknown": "No location verification. IP validation and the country filter concern where a participant lives and duplicate accounts, not where a file was captured, and studies asking participants to visit specific locations are prohibited."}, "content": {"level": "claimed", "method": "Protocol quality checks, LLM and bot authenticity checks (behavioural signals such as copy-paste, tab switching, mouse movement and pacing; Prolific reports 98.7% precision and 78.9% recall in its own testing), flags for exceptionally fast submissions, participant quality scores from researcher approvals and rejections, and manual review by a data-quality team. The researcher approves or rejects each submission.", "unknown": "These target bots, AI-written text and low effort in surveys. No public method checks whether an uploaded photo, video or audio file shows what it claims, or detects staged, reused or AI-generated media."}, "corroboration": {"level": "none", "unknown": "No independent cross-checking of a submission against other sources or second captures. A researcher can collect several participants per task and compare them."}}, "api": {"available": true, "self_serve": true, "docs_url": "https://docs.prolific.com/", "base_url": "https://api.prolific.com/api/v1", "auth": [{"type": "api_key_header", "header": "Authorization", "env_var": "PROLIFIC_API_TOKEN", "how_to_get": "In a Prolific researcher account open the API Tokens page (app.prolific.com/researcher/tokens/), click Create API Token, name it and copy it. Send it as 'Authorization: Token <your token>'. Tokens do not expire and carry the full permissions of the researcher account."}], "endpoints": [{"action": "quote", "method": "POST", "path": "/study-cost-calculator/", "params": "reward (cents, account currency), total_available_places", "notes": "Returns total_cost including VAT and fees. GET /studies/{id}/cost/?is_projected=true gives a draft study's projected cost."}, {"action": "order", "method": "POST", "path": "/data-collection/collections", "params": "name, workspace_id, task_details, collection_items (pages of free_text, multiple_choice, file_upload with accepted_file_types, max_file_size_mb, min/max_file_count)", "notes": "Defines an AI Task Builder Collection for participant uploads. Requires an account with Collections enabled. Attach it to a study with data_collection_method AI_TASK_BUILDER_COLLECTION and data_collection_id."}, {"action": "order", "method": "POST", "path": "/studies/", "params": "name, description, one of external_study_url / access_details / data_collection_method + data_collection_id, prolific_id_option, total_available_places, estimated_completion_time (minutes), reward (cents or pence); optional project (to bill workspace funds), filters, device_compatibility, peripheral_requirements, submissions_config, completion_codes", "notes": "Creates a draft (UNPUBLISHED) study; nothing is spent yet."}, {"action": "order", "method": "POST", "path": "/studies/{id}/transition/", "params": "action: PUBLISH, SCHEDULE_PUBLISH, CANCEL_PUBLISH, PAUSE, START, STOP; publish_at for SCHEDULE_PUBLISH", "notes": "PUBLISH spends real money from the workspace balance; there is no sandbox."}, {"action": "status", "method": "GET", "path": "/studies/{id}/", "notes": "Study status; GET /studies/{id}/submissions/counts/ counts submissions by status. Webhooks can push study and submission events."}, {"action": "list", "method": "GET", "path": "/studies/{id}/submissions/", "params": "ordering (started_at, completed_at, status, ip, time_taken, participant_id, study_code; prefix - for descending)", "notes": "Lists a study's submissions for review and approval."}, {"action": "fetch", "method": "POST", "path": "/data-collection/collections/{collection_id}/export", "notes": "200 with a presigned ZIP URL (valid 1 hour) or 202 with export_id; poll GET /data-collection/collections/{collection_id}/export/{export_id}. The ZIP holds responses.jsonl, collection.json and files/. AI Task Builder submissions are deleted 6 months after the study completes."}], "rate_limits": "Authenticated: 10 requests per second per account; unauthenticated: 30 requests per day per IP; POST /invitations/ 100 per hour. 429 when exceeded, and also under wallet contention on concurrent payment operations.", "sdk": "Prolific CLI (github.com/prolific-oss/cli), built from source in the docs' instructions.", "mcp": {"remote": null, "registry_name": null, "auth": "PROLIFIC_TOKEN environment variable, sent as 'Authorization: Token <token>'", "first_party": true, "notes": "prolific-oss/prolific-mcp (Apache-2.0, v1.0.0, linked from prolific.com/mcp) is a local stdio server run with 'uvx prolific-mcp' or a .mcpb bundle. Its tools cover filters, eligibility counts, workspaces, studies (create, publish, pause, stop), submissions, collections and exports, and webhooks; it warns that publish_study spends real money. Its README says it is listed on the official MCP Registry, but registry searches for 'prolific', 'prolific-mcp' and 'prolific-oss' returned no such server on 2026-10-26. Separately, docs.prolific.com/_mcp/server is a documentation-search MCP server."}, "notes": "Funds can only be added, and the balance only checked, in the web app; the API Supplement says payments and top-ups are not available through the API. Collections studies should be reviewed with the CLI or preview link, not the web app's review screen. Webhooks are signed and retried. The Researcher Terms forbid bots or programs that automate use of Prolific except integrations described in the help centre; the API Supplement licenses API use, including from your own platform."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "approval", "rate_limit": {"requests": 10, "per_seconds": 1, "scope": "per-account", "notes": "Authenticated. Unauthenticated: 30 requests per day per IP; POST /invitations/ 100 per hour. 429 when exceeded, and under wallet contention.", "source_url": "https://docs.prolific.com/api-reference/introduction/rate-limits-and-api-status.md"}}, "payment": {"methods": ["card", "invoice", "prepaid_balance"], "agent_can_pay": false, "prepaid": true, "notes": "Studies are funded upfront from a workspace balance. Top up by card (Visa, Mastercard, Amex, Maestro, Discover; via Braintree, instant) or by bank transfer against a generated invoice (Lloyds or Wise, up to 7 days). No cheques. Invoices are valid 45 days. The API can spend the balance but cannot add funds. Platform fees are not refundable."}, "capture": {"by": "people"}, "requester": {"checks": "Accounts registered with an institutional email are approved automatically if the institution has used Prolific before; other accounts are reviewed manually and must state their institution, study types and research aim. Email verification and a workspace office address are required before adding funds. Prolific prohibits studies involving in-person activities (including visiting specific locations), recruiting under-18s, collecting direct identifiers or special category data in AI Task Builder studies, and unlawful content. It may review AI Task Builder study content and submissions for compliance or safeguarding and can suspend data collection. Researchers act for their institution and may not let others use the account or post studies for a third party without Prolific's approval. API users listing studies for their own customers must identify those customers on request.", "unknown": "How strictly study briefs are screened before publication; whether a brief targeting a specific person is caught."}, "freshness": {"mode": "on_demand", "typical_age": "Collected after you publish; first responses usually within hours", "notes": "Submissions are new contributions, but an uploaded file can be older than the study: nothing establishes when it was captured. Prolific says it cannot currently support time-sensitive studies."}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Prolific: 'Self-serve studies typically launch in minutes and return first responses in hours.'"}, "adapter": "prolific", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Platform fee usually 42.8% corporate, 33.3% academic or non-profit; minimum pay \u00a36.00/$8.00 per hour, \u00a39.00/$12.00 recommended; no contract or subscription, pay as you go by adding funds to a wallet; managed services by SoW/custom quote; 300,000+ active participants; 40+ countries with strongest representation in US, UK and Europe; responses within hours", "url": "https://www.prolific.com/pricing"}, {"claim": "REST API, CLI and webhooks for agents; 'Self-serve studies typically launch in minutes and return first responses in hours'; idempotency keys on study creation (marketing claim)", "url": "https://www.prolific.com/for-agents"}, {"claim": "First-party MCP server page linking github.com/prolific-oss/prolific-mcp", "url": "https://www.prolific.com/mcp"}, {"claim": "prolific-mcp: local stdio server (uvx prolific-mcp), PROLIFIC_TOKEN sent as Authorization: Token, tool list, publish_study spends real money with no sandbox, Apache-2.0; README claims an MCP Registry listing", "url": "https://github.com/prolific-oss/prolific-mcp"}, {"claim": "MCP Registry search: no Prolific server returned for 'prolific' (only an unrelated server by user ajprolific), nor for 'prolific-mcp' or 'prolific-oss'", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=prolific"}, {"claim": "Docs index: API sections, AI Task Builder Collections endpoints, webhooks; documentation MCP server at docs.prolific.com/_mcp/server", "url": "https://docs.prolific.com/llms.txt"}, {"claim": "API token created on the API Tokens page; 'Authorization: Token <token>'; tokens never expire and are scoped to the researcher account; error codes including 429", "url": "https://docs.prolific.com/documentation/get-started/api-fundamentals.md"}, {"claim": "Rate limits: 10 requests/second per authenticated account, 30 requests/day per IP unauthenticated, POST /invitations/ 100/hour", "url": "https://docs.prolific.com/api-reference/introduction/rate-limits-and-api-status.md"}, {"claim": "429s also come from wallet contention on concurrent payment operations", "url": "https://docs.prolific.com/documentation/core-concepts/managing-high-loads.md"}, {"claim": "Balance can only be checked in the web app; publishing requires an available balance", "url": "https://docs.prolific.com/api-reference/introduction/account-balance.md"}, {"claim": "Collections: participants submit their own content (images, files, text); file_upload with accepted_file_types and size/count limits; account needs Collections enabled; project needed to bill workspace funds; ~40% service fee on workspace-billed studies; export ZIP with responses.jsonl (created_at) and files/, presigned URL valid 1 hour; submission statuses", "url": "https://docs.prolific.com/documentation/cookbooks/collecting-original-data-with-ai-task-builder-collections.md"}, {"claim": "POST /api/v1/data-collection/collections: name, workspace_id, task_details, collection_items", "url": "https://docs.prolific.com/api-reference/ai-task-builder/create-collection.md"}, {"claim": "POST /api/v1/data-collection/collections/{collection_id}/export", "url": "https://docs.prolific.com/api-reference/ai-task-builder/request-collection-export.md"}, {"claim": "GET /api/v1/data-collection/collections/{collection_id}/export/{export_id}", "url": "https://docs.prolific.com/api-reference/ai-task-builder/get-collection-export-status.md"}, {"claim": "POST /api/v1/studies/ creates a draft study; fields including data_collection_method AI_TASK_BUILDER_COLLECTION and data_collection_id", "url": "https://docs.prolific.com/api-reference/studies/create-study.md"}, {"claim": "POST /api/v1/studies/{id}/transition/ with PUBLISH, SCHEDULE_PUBLISH, CANCEL_PUBLISH, PAUSE, START, STOP", "url": "https://docs.prolific.com/api-reference/studies/publish-study.md"}, {"claim": "GET /api/v1/studies/{id}/", "url": "https://docs.prolific.com/api-reference/studies/get-study.md"}, {"claim": "GET /api/v1/studies/{id}/submissions/ with ordering", "url": "https://docs.prolific.com/api-reference/studies/get-study-submissions.md"}, {"claim": "POST /api/v1/study-cost-calculator/ returns total_cost including VAT and fees", "url": "https://docs.prolific.com/api-reference/studies/calculate-study-cost.md"}, {"claim": "GET /api/v1/studies/{id}/cost/ with is_projected", "url": "https://docs.prolific.com/api-reference/studies/get-study-cost.md"}, {"claim": "Prolific CLI repository", "url": "https://github.com/prolific-oss/cli"}, {"claim": "Researcher Terms full version (14 Aug 2026): section B bans bots except documented integrations, bans selling, distributing or copying Submissions unless expressly permitted, and bans posting for third parties without approval; section D requires media to be flagged; section M: Prolific claims no rights in Submissions and participants waive or assign rights to the Researcher; data-protection limits on media and re-identification", "url": "https://prolific.notion.site/Researcher-Terms-7787f102f0c541bdbe2c04b5d3285acb"}, {"claim": "Researcher Terms: summary (studies funded upfront by card or bank transfer; platform fees non-refundable), AI Task Builder Terms (submissions held by Prolific as processor; 'We will not use Study data or Submissions for our own purposes' but may review them for compliance, safeguarding, troubleshooting and improving the platform; authenticity checks; no direct identifiers or special category data; deletion 6 months after completion), Research Consultancy Terms ('we do not claim any intellectual property rights in relation to your Studies'), API Supplement (licence to use the API to create, list and launch studies, including for your own customers; payments and adding funds not available via the API; must identify customers on request)", "url": "https://prolific.notion.site/Researcher-Terms-7787f102f0c541bdbe2c04b5d3285acb"}, {"claim": "Studies involving in-person activities are prohibited, including asking participants to visit specific locations; no under-18s; PII collection unlikely to be supported; time-sensitive studies not fully supported", "url": "https://researcher-help.prolific.com/en/articles/445105-are-there-types-of-studies-that-aren-t-suitable-for-prolific"}, {"claim": "Supported countries (49) and small participant populations (13 more); participants must live in a supported country", "url": "https://researcher-help.prolific.com/en/articles/445224-who-are-the-participants-on-prolific"}, {"claim": "Participant-side country list (adds Egypt, India, Indonesia); over-18 and verified account required", "url": "https://participant-help.prolific.com/en/articles/445007-who-can-participate-in-studies-on-prolific"}, {"claim": "Pool page: 300k+ active participants, 43 represented countries, 86 languages", "url": "https://www.prolific.com/our-participant-pool-in-numbers"}, {"claim": "Recruitment speed depends on time of day, filters and pool; most studies start quickly, contact if not within two hours; time-sensitive studies not supported", "url": "https://researcher-help.prolific.com/en/articles/445202-how-long-does-it-take-to-recruit-participants-for-my-study"}, {"claim": "Protocol: 110+ checks; waitlist; live video selfie + government ID via Entrust (<0.1% fraud, 0.01% false acceptance); phone, email, IP dedup; surprise re-checks; bi-monthly audits; authenticity checks 98.7% precision, 78.9% recall in testing; fast-submission flags", "url": "https://researcher-help.prolific.com/en/articles/621821-methodological-justification-pack-how-prolific-protects-data-quality"}, {"claim": "Bot/AI detection overview: 110+ onboarding steps, also '50+ onboarding checks'; VPN detection; periodic ID re-checks", "url": "https://www.prolific.com/resources/how-prolific-detects-bots-and-ai-in-online-research"}, {"claim": "Duplicate-account prevention: IP detection, email/phone verification, Onfido face scan, continuous integrity monitoring", "url": "https://researcher-help.prolific.com/en/articles/445227-how-does-prolific-prevent-duplicate-participant-accounts"}, {"claim": "Data-integrity layers: IP validation 'confirms ... unique participants in your target locations', quality scores, specialist screeners", "url": "https://researcher-help.prolific.com/en/articles/494274-how-prolific-protects-your-data-integrity"}, {"claim": "LLM and bot authenticity checks; both on by default in AI Task Builder; not available for Taskflow", "url": "https://researcher-help.prolific.com/en/articles/445144-what-are-authenticity-checks"}, {"claim": "100% Human Guarantee: double credit for bot-flagged submissions in eligible Qualtrics studies", "url": "https://researcher-help.prolific.com/en/articles/624524-what-is-the-100-human-guarantee"}, {"claim": "AI Task Builder collects images, video and audio (egocentric video, image datasets, speech samples); via CLI and API", "url": "https://www.prolific.com/resources/what-s-new-longitudinal-projects-collect-multimodal-data-in-prolific-s-ai-task-builder-and-more"}, {"claim": "Ways to add money: card (Visa, Mastercard, Amex, Maestro; Braintree; instant) or bank transfer (Lloyds or Wise); no cheques; studies funded upfront", "url": "https://researcher-help.prolific.com/en/articles/445241-adding-money-to-your-workspace-overview"}, {"claim": "Card top-up details; minimum top-up \u00a30.51 / $0.51; Discover also accepted", "url": "https://researcher-help.prolific.com/en/articles/445242-adding-money-via-card-payment"}, {"claim": "Bank transfer: up to 7 days; invoices valid 45 days", "url": "https://researcher-help.prolific.com/en/articles/445243-how-to-add-money-via-bank-wire-transfer"}, {"claim": "Invoices: generated for top-ups or requested before paying; split rewards from platform fees", "url": "https://researcher-help.prolific.com/en/articles/445247-invoices"}, {"claim": "Quotes are estimates; final cost can be higher (underpaying adjustments, extra approvals, bonuses)", "url": "https://researcher-help.prolific.com/en/articles/445249-how-to-generate-a-quote-for-your-study"}, {"claim": "Account approval: institutional emails auto-approved if institution known; others reviewed manually with institution, study types and aims; email verification before funding", "url": "https://researcher-help.prolific.com/en/articles/445107-account-approval-and-verification"}, {"claim": "Prolific not listed on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Live video selfie and government ID check (Entrust); surprise identity re-checks", "url": "https://researcher-help.prolific.com/en/articles/621821-methodological-justification-pack-how-prolific-protects-data-quality"}]}, {"id": "proxypics", "name": "ProxyPics", "provider_url": "https://www.proxypics.com", "status": "unclaimed", "tags": ["property", "real estate", "exterior photos", "inspection", "on-demand", "crowd", "field agent", "mortgage", "insurance", "facility management", "proof of presence", "geotagged", "view360", "lidar", "floor plan", "us", "api", "sandbox", "webhooks"], "summary": "Marketplace that sends nearby 'Proxies' (independent-contractor data collectors) to a US address to take photos and answer questions in the ProxyPics app, ordered through a public, self-serve REST API with a sandbox and webhooks. A 'Direct' mode instead texts a point of contact (such as the homeowner or property staff) a link so they capture the photos themselves.", "short": "A nearby person goes to a US address and takes photos in the ProxyPics app.", "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["exterior property photos, address verification and street scenes", "custom photo tasks and question groups from a template", "interior photos by appointment (with access authorisation)", "View360 panoramic photos", "floor plan scans and 3D LiDAR scans", "photo or video evidence of claimed damage", "day or night photo requests, e.g. nighttime sign and lighting audits", "property condition / Uniform Property Dataset (UPD) reports", "appraisal requests", "PDF report and photo ZIP of the completed job"]}, "pricing": {"model": "per request; the Client pays a platform fee per request, with an optional price_boost", "from_usd": 0, "unit": "photo request (current price not published)", "notes": "from_usd 0 means not published, not free. No price list on proxypics.com or in the API docs. The Participation Agreement says Clients are charged a fee for each request, in USD, that fees may vary, and that Clients should check the fees each time they use the Platform; the Client is billed as soon as the Proxy submits. Each API photo request carries a `cost` in cents (including any `price_boost`), so the price is visible after the request is created, and a PhotoRequestCostUpdated webhook reports fee changes. A 2018 BuiltIn Chicago article reported a flat $5 per photo with the photographer keeping $3.25; that is eight years old and not used as the price."}, "latency": {"typical": "Under 24 hours (provider marketing); often under two hours in high-volume markets (HousingWire profile)", "notes": "Crowdsource page advertises 'Delivered Under 24 Hours'; the About page says Proxies 'often deliver results within hours if not minutes'. HousingWire's company profile says 96% of assignments are completed in under 24 hours. No contractual SLA found. Requests can be scheduled (`scheduled_at`) or given an expiry (`expires_at`); expired requests can be extended through the API. After submission the Client has 120 hours to reject."}, "coverage": {"regions": ["US"], "notes": "Advertised as nationwide US, 24/7 with no blackout dates, day or night. Network size claims vary by source: 180K+ data collectors (Crowdsource and Real Estate pages), 395,000-plus Proxy panel and 415,000+ assignments fulfilled in 2025 (HousingWire profile). Rural density and fill rates are not published.", "areas": ["US"]}, "licensing": {"summary": "ProxyPics owns the deliverables, not the buyer. Under the Participation Agreement (which covers Clients and Proxies) Proxy work product is a work made for hire for ProxyPics and all rights vest in ProxyPics; ProxyPics 'may grant Clients and its Affiliates the right to use, reproduce, distribute, display, and otherwise exploit such work product in connection with Client requests and ProxyPics's business'. The Platform Provider terms also assign all Submissions to ProxyPics. No public client licence states the scope of that grant, resale or AI training. ProxyPics processes work product and metadata for quality assurance, fraud prevention, support, product improvement and service delivery, and may use de-identified, aggregated data for analytics; AI or model training is not named.", "buyer_owns_output": false}, "verification": {"human": {"level": "claimed", "method": "Proxies register with true identity details (business name, address, phone, email, tax ID), may hold only one account, may not share it, and must personally perform each order; ProxyPics may require identity verification. Background checks by a third party are optional, paid by the Proxy, and needed only for interior-access and appointment orders. Marketing says 'Tiered Proxies (Licensed and Background Checked)'.", "evidence_url": "https://www.proxypics.com/participation-agreement", "unknown": "Most Proxies may not be background-checked: the check is voluntary and only gates interior and appointment orders, and the Participation Agreement says ProxyPics does 'not conduct any screening or other verification with respect to Clients or Proxies'. How identity is confirmed, and how account sharing is detected, is not published. Orders that need no licence go to all nearby Proxies."}, "application": {"level": "none", "unknown": "Photos must be taken inside the ProxyPics app (the FAQ says outside-app photos are refused by 'anti-fraud technology') and proxies may not spoof location, timestamps or device information, but no app-integrity or attestation check is documented, and emulators or modified clients are not addressed. In Direct mode the photo taker is the point of contact (often the owner). Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: 'Camera Roll Locked' feature so photos cannot be imported from the gallery. Whether a live camera pointed at a screen or printout is detected. No C2PA or other signed capture."}, "time": {"level": "claimed", "method": "'Time Stamped Photos ... validate the exact date and time the photo was taken'; terms require capture at or near the time of the visit", "evidence_url": "https://www.proxypics.com/anti-fraud", "unknown": "Whether the timestamp is device clock or server-side, and whether it is signed. The public API schema gives only order-level times (`completed_at`), not per-photo capture times. The FAQ says some clients 'require us to time stamp or geo-code the photos', suggesting it may not apply to every order."}, "location": {"level": "claimed", "method": "Georeference: photos get GPS coordinates and are pinned to a map; the app prevents taking photos outside a set radius of the subject; the FAQ says all photos are geo-tagged; GPS spoofing is banned in the Participation Agreement", "evidence_url": "https://www.proxypics.com/anti-fraud", "unknown": "Radius size and GPS-spoofing resistance are not published. The public API schema exposes only the request's latitude and longitude, not per-photo coordinates (they may appear in the PDF report)."}, "content": {"level": "claimed", "method": "AI plus a ProxyPics quality-control team review submissions for quality, order requirements and fraud, including orders the AI did not flag; the client can approve or reject each completed request through the API within 120 hours, for wrong property or work not requested, and rejected jobs are redone or reposted", "evidence_url": "https://www.proxypics.com/anti-fraud", "unknown": "Review criteria, error and fraud rates, and whether staged scenes or wrong-property photos are caught"}, "corroboration": {"level": "none", "unknown": "No public method for independent second captures or cross-checks of the same property"}}, "api": {"available": true, "self_serve": true, "docs_url": "https://docs.proxypics.com", "base_url": "https://api.proxypics.com/api/v3", "auth": [{"type": "api_key_header", "header": "x-api-key", "env_var": "PROXYPICS_API_KEY", "how_to_get": "Sign up at https://app.proxypics.com/auth/signup, then Profile > Integrations (https://app.proxypics.com/profile) to generate an API key and configure webhooks. Creating requests needs a credit card on the account. A sandbox (https://sandbox.proxypics.com/api/v3, web app https://sandbox-app.proxypics.com) simulates photo submission, approval and rejection and accepts the test card 4111 1111 1111 1111."}, {"type": "api_key_query", "env_var": "PROXYPICS_API_KEY", "how_to_get": "The same API key, passed as the `api_key` query parameter."}], "endpoints": [{"action": "list", "method": "GET", "path": "/photo-request-templates", "notes": "Lists templates (products) whose token can be passed as template_token."}, {"action": "order", "method": "POST", "path": "/photo-requests", "params": "address (required), latitude, longitude, city, state, zip, template_token (recommended) or photo_request_platform (crowdsource|direct) + tasks/question_groups, expires_at, price_boost (cents), scheduled_at, appointment, lockbox, additional_notes, external_id, contacts_attributes; Direct needs property_owner_phone and direct_due_date; UPD via uniform_property_dataset_report_attributes", "notes": "Creates a crowdsource (nearby Proxy) or Direct (SMS to a point of contact) request. The response includes `cost` in cents."}, {"action": "status", "method": "GET", "path": "/photo-requests/{id}", "notes": "Status is unassigned, assigned, completed, rejected, expired or fulfilled. Webhooks report added, assigned, upload started, completed, report generated, expired, cancelled, on hold, cost updated and more."}, {"action": "order", "method": "PUT", "path": "/photo-requests/{id}/approve", "notes": "Approve a completed request; after payment confirmation it is fulfilled and the PDF report generated. PUT /photo-requests/{id}/reject sends it back for re-capture."}, {"action": "fetch", "method": "GET", "path": "/photo-requests/{id}", "notes": "When fulfilled, the request carries download_photos_url (photo ZIP) and download_report_url (PDF report)."}, {"action": "list", "method": "GET", "path": "/photo-requests", "params": "page, per_page", "notes": "Paginated list of your photo requests."}, {"action": "order", "method": "DELETE", "path": "/photo-requests/{id}", "notes": "Cancel. Immediate if unassigned; otherwise support is notified to cancel."}, {"action": "order", "method": "POST", "path": "/appraisal-requests", "params": "type (appraisal product)", "notes": "Separate appraisal products; GET /appraisal-requests/{id} for status."}], "rate_limits": "Not stated in the public API docs", "mcp": {"remote": null, "registry_name": null, "notes": "No MCP server found; the official MCP Registry has no entry for ProxyPics (searched 2026-10-26)."}, "notes": "Also: duplicate, extend, messages, webhooks, API-key management and CSV-upload endpoints. Idempotency keys are not documented; `external_id` can tag a request with your own ID."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "payment": {"methods": ["card", "prepaid_balance"], "agent_rails": ["card_on_file_api"], "agent_can_pay": false, "prepaid": true, "notes": "A credit card on the account is needed to create requests, and the Client is billed when the Proxy submits. Clients can also prepay 'Prepaid Jobs' by credit card or a funded prepaid account (bank funds can take up to four days). API orders draw on the person's account; there is no agent-native payment rail."}, "capture": {"by": "people"}, "requester": {"checks": "Clients register with a name and a valid email, and need a credit card on the account to create requests. ProxyPics may require identity verification for access to the Platform or certain services, but its Participation Agreement says it does 'not conduct any screening or other verification with respect to Clients or Proxies'.", "unknown": "Whether ProxyPics reviews what is being requested at an address (for example, requests aimed at a person rather than a property) is not published."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after you order, usually within 24 hours (provider claim)", "notes": "No archive search; every request is a new capture at a given address."}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Crowdsource page: 'Delivered Under 24 Hours'; Real Estate page: 'we measure our completion times in hours'; HousingWire profile: 96% of assignments completed in under 24 hours, often under two hours in high-volume markets."}, "adapter": "proxypics", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Public OpenAPI 3.0.3 spec: live and sandbox base URLs, x-api-key header or api_key query auth, key generated in Profile > Integrations, sandbox test card, webhook events, photo-request, template, appraisal, webhook and other endpoints, create-request fields, `cost` in cents, statuses, download_photos_url and download_report_url, latitude/longitude per request only", "url": "https://docs.proxypics.com/public/swagger.json"}, {"claim": "API integration page: create photo requests, get status notifications, download photos and reports; integration pitched for automation", "url": "https://www.proxypics.com/api-integration"}, {"claim": "Self-serve signup link on the homepage; real-time photos of real estate across the United States; nighttime sign and light audits", "url": "https://www.proxypics.com/"}, {"claim": "Crowdsource: 'Delivered Under 24 Hours', panel of over 180K data collectors nationwide day or night, Tiered Proxies (Licensed and Background Checked), photos submitted on site via the app, QC team plus AI review, download via email or API", "url": "https://www.proxypics.com/crowdsource"}, {"claim": "Direct: point of contact (homeowner or property staff) gets an SMS with the app download link and submits on site", "url": "https://www.proxypics.com/direct"}, {"claim": "About: photos, videos, scans and questionnaires; results often within hours if not minutes", "url": "https://www.proxypics.com/about-us"}, {"claim": "Real Estate: nationwide, 24/7, no blackout dates, completion times measured in hours; View360, floor plan scan, 3D LiDAR scan; 180K+ Proxies", "url": "https://www.proxypics.com/real-estate"}, {"claim": "Insurance: photo or video evidence of claimed damage; LiDAR and floor plan scans", "url": "https://www.proxypics.com/insurance"}, {"claim": "Anti-fraud: georeferenced photos, capture blocked outside a radius of the subject, time-stamped photos, AI/ML review, camera roll locked, manual review of flagged and unflagged orders", "url": "https://www.proxypics.com/anti-fraud"}, {"claim": "FAQ: photos must be taken in the app; all photos geo-tagged with lat/long; some clients require time stamp or geo-code; client approves or rejects within 24-48 hours", "url": "https://www.proxypics.com/faq"}, {"claim": "Participation Agreement (updated 2026-04-22, covers Clients and Proxies): per-request Client fee; billed on submission; Prepaid Jobs by card or prepaid account; 120-hour rejection window; work product vests in ProxyPics, which may grant Clients use rights; data use for QA, fraud prevention and product improvement; no screening of Clients or Proxies; optional identity verification; one account, no sharing, no location spoofing", "url": "https://www.proxypics.com/participation-agreement"}, {"claim": "Platform Provider terms (updated 2026-07-22): Proxy registration details, one account; background checks optional, paid, needed only for interior and appointment orders; all Submissions assigned to ProxyPics; exterior-only access unless authorised", "url": "https://www.proxypics.com/terms"}, {"claim": "96% of assignments completed under 24 hours, often under two hours in high-volume markets; 395,000-plus Proxy panel; 415,000+ assignments in 2025; real-time AI validation plus human QC", "url": "https://www.housingwire.com/company-profile/proxypics/"}, {"claim": "2018 launch pricing: flat $5 per photo, photographer keeps $3.25 (article of 27 July 2018; historical, not used as price)", "url": "https://www.builtinchicago.org/articles/proxy-pics-chicago-demand-photography-startup"}, {"claim": "API orders bill the card on the client's account when the Proxy submits", "url": "https://www.proxypics.com/participation-agreement"}]}, {"id": "purpleair", "name": "PurpleAir", "status": "unclaimed", "provider_url": "https://www.purpleair.com", "tags": ["air quality", "sensor", "pm2.5", "pm10", "crowd-hosted", "api", "temperature", "humidity", "historical data"], "summary": "Network of over 35,000 consumer-owned optical particulate sensors that report every two minutes, read through a points-metered REST API (api.purpleair.com) with real-time and historical data back to 2016.", "short": "Crowd-hosted air-quality sensors reporting every 2 minutes, read through a prepaid points API.", "capabilities": {"modalities": ["sensor"], "tasks": ["PM1.0 / PM2.5 / PM10 air quality", "temperature", "humidity", "latest readings for all public sensors in a bounding box", "historical sensor data retrieval (real-time to yearly averages)"]}, "pricing": {"model": "prepaid API points, charged per call and per field per data row", "from_usd": 10, "unit": "minimum points purchase ($10 buys 1,000,000 points at 100,000 points per USD)", "notes": "New users get 1,000,000 points on sign-up. Live tier table (minimum purchase $10): $10-$49 at 100,000 points/USD, $50-$249 at 150,000, $250-$499 at 200,000, $500-$999 at 300,000, $1,000-$4,999 at 500,000, $5,000+ at 1,000,000. Cost per call = endpoint base cost + (cost of all fields x data rows); base cost is at most 5 points (get_sensor 1, get_sensor_history 2); fields cost 1-2 points per row in the published examples. Example: one sensor's pm2.5 every 10 minutes costs 432 points a day. The full per-field table is on the Developer Dashboard (login, not read). Sensor owners still spend points on their own sensors' data, but PurpleAir gives free points on request by email and plans to automate that. Values are subject to change. A points subscription also exists in the account area (terms not public)."}, "latency": {"typical": "Sensors report every 2 minutes; the real-time endpoints return each sensor's latest report", "notes": "PurpleAir's API guidelines say sensors report every two minutes and real-time data is held in memory, so querying more often than once a minute is unnecessary. Repeated calls return the same data until the sensor next reports; request last_seen to see when. No service level: the Fair Use Policy says availability and response times are not guaranteed. No new deployments to order: data comes only from sensors owners have already installed."}, "coverage": {"regions": ["Global (wherever owners have installed sensors; distribution uneven)"], "notes": "PurpleAir says over 35,000 sensors worldwide. Coverage is wherever owners have installed and registered sensors, and only public sensors are readable without the owner's read key. You cannot request a new placement. No per-country list or density figures are published.", "areas": ["*"]}, "licensing": {"summary": "PurpleAir's Terms (updated 18 July 2022) say PurpleAir owns all PurpleAir Data and any derivatives' underlying data. The licence is non-exclusive, non-transferable and non-sublicensable. You may use the data internally to test and develop your own product, and distribute that product commercially only to end users for their internal, non-commercial, non-public use, after written notice to PurpleAir. No raw data to third parties, no reselling the data or an API modelled on it, and no competing air-quality database without written permission. API calls must be made only by you, and keys must not be shared. A grantback licence gives PurpleAir rights in your derivatives, explicitly including AI algorithms trained on PurpleAir data and their outputs. You may not combine the data with open-source-licensed materials. Attribution is required: 'Data from PurpleAir' for direct use, 'Powered by PurpleAir' for derived data, with a link for APIs and ML models. Health or emergency uses need a disclaimer. The terms do not explicitly allow or forbid AI training; they attach the grantback to it.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Whether a sensor owner is a real, distinct person; owners register sensors themselves and API keys are tied to a developer account, not to sensor hosts"}, "application": {"level": "none", "unknown": "Whether readings come from unmodified PurpleAir firmware or hardware; the terms forbid modifying sensors, but no attestation or signing is documented"}, "camera": {"level": "none", "unknown": "Not applicable: this is a particulate sensor network and collects no imagery"}, "time": {"level": "none", "method": "The API exposes time stamps for each sensor's readings and a last_seen time, as the sensors and PurpleAir report them.", "unknown": "How sensor clocks are set or checked is not documented; no timing-integrity method is documented and nothing is signed."}, "location": {"level": "claimed", "method": "The Terms say each sensor's location is extrapolated from Google's Wi-Fi-based location services together with the location the owner enters, calculated on the sensor or on PurpleAir's servers. The owner sets the inside/outside label.", "unknown": "How the Wi-Fi fix and the owner's entry are reconciled, and whether a moved or misregistered sensor is detected; the Terms call the location 'likely' and publish no per-sensor check"}, "content": {"level": "none", "unknown": "Whether a sensor is exposed to staged or local sources (smoke, cooking, indoor placement); the provider disclaims accuracy and documents no tamper checks. The dual laser counters (A and B channels) are exposed as fields, but no provider-side flagging method is documented"}, "corroboration": {"level": "none", "unknown": "PurpleAir documents no per-sensor cross-check against reference monitors. The only independent check recorded here (AQ-SPEC) tested three units of one model near Los Angeles in 2016-2017 and says nothing about current models, other climates or any individual sensor in the network"}}, "attestations": [{"verifier": "South Coast AQMD AQ-SPEC", "scope": "Accuracy of the PurpleAir PA-II model against reference instruments (content/corroboration), three units", "result": "Field (12/18/2016-01/26/2017): PM1.0 R2 > 0.96, PM2.5 R2 > 0.93, PM10 R2 > 0.66; laboratory PM2.5 R2 > 0.99; data recovery 95%", "url": "https://www.aqmd.gov/docs/default-source/aq-spec/summary/purpleair-pa-ii---summary-report.pdf?sfvrsn=16"}], "api": {"available": true, "self_serve": true, "docs_url": "https://api.purpleair.com/", "base_url": "https://api.purpleair.com/v1", "auth": [{"type": "api_key_header", "header": "X-API-Key", "env_var": "PURPLEAIR_API_KEY", "how_to_get": "Log in to the Developer Dashboard (https://develop.purpleair.com) with a Google or Google-associated email (otherwise email contact@purpleair.com) and create a READ key. WRITE keys are only for creating and deleting groups and members. Private sensors also need each sensor's read_key."}, {"type": "api_key_query", "how_to_get": "The same key may be sent as the api_key query-string parameter (or in a POST JSON body); the docs prefer the header."}], "endpoints": [{"action": "search", "method": "GET", "path": "/sensors", "params": "fields (required, comma-separated), nwlat, nwlng, selat, selng (bounding box), location_type (0 outside, 1 inside), max_age (seconds; default 604800; 0 = any age), modified_since, show_only (comma-separated sensor_index list), read_keys", "notes": "Latest data from many sensors, by default every public sensor; no limit on the number of sensors per call. Use modified_since for repeated polling. Default rate limit 500 ms."}, {"action": "fetch", "method": "GET", "path": "/sensors/:sensor_index", "params": "fields, read_key", "notes": "Latest data for one sensor; repeated calls return the same data until the sensor next reports; request last_seen to see when. Default rate limit 100 ms."}, {"action": "fetch", "method": "GET", "path": "/sensors/:sensor_index/history", "params": "fields (required), start_timestamp, end_timestamp (UNIX seconds or ISO 8601), average (minutes: 0 real-time up to 30 days per request, 10 up to 60 days, 30 up to 90 days, 60 up to 180 days, 360 up to 1 year, 1440 up to 2 years, 10080 up to 5 years, 43200 up to 20 years, 525600 up to 100 years), privacy (auto or both), read_key", "notes": "Also /history/csv. Default rate limit 1000 ms. Supply both timestamps to save points."}, {"action": "list", "method": "GET", "path": "/groups/:group_id/members", "params": "fields, location_type, read_keys, show_only, modified_since, max_age, nwlat, nwlng, selat, selng", "notes": "Latest data for every sensor in a group you created (groups are created with a WRITE key via POST /groups and POST /groups/:group_id/members). Default rate limit 500 ms."}, {"action": "status", "method": "GET", "path": "/keys", "notes": "Checks a key's validity and type. Default rate limit 100 ms."}, {"action": "status", "method": "GET", "path": "/organization", "notes": "Information on the organization that owns the key. Default rate limit 1000 ms."}], "rate_limits": "Per-endpoint default rate limits (100 ms for /keys, single sensor and most group calls; 400 ms for /groups; 500 ms for /sensors and group members; 1 s for history and /organization). Exceeding one returns RateLimitExceededError; PurpleAir can adjust limits per key on request. Every call also spends prepaid points; with too few points the API returns PaymentRequiredError. The Fair Use Policy lets PurpleAir throttle or disable keys used for scraping or unusually heavy use, and asks bulk historical requests (thousands of sensors) to go by email instead.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No PurpleAir server in the official MCP Registry (search 'purpleair' returned 0 on 2026-10-26)."}, "notes": "The API docs are an apidoc site (version 1.0.15, generated 2026-09-09); the endpoint data is in https://api.purpleair.com/api_data.js. Keyless requests return 403 ApiKeyMissingError. The Terms say API calls must be made only by the key holder and keys must not be shared with any third party. Owners on the same network can also read a sensor locally at its IP address /json without the API."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "payment": {"methods": ["card", "hosted_checkout", "invoice"], "agent_can_pay": false, "prepaid": true, "notes": "Points are prepaid and bought in the PurpleAir store (minimum $10), which uses Shopify. The store accepts Visa, Mastercard, Amex and Discover cards, Shop Pay, PayPal, Google Pay, Apple Pay and Meta Pay. Purchase orders (Net 30) for schools, government, businesses and non-profits, and checks, money orders and wire transfers, go by emailing Billing@purpleair.com for an invoice. No agent payment protocol is published."}, "freshness": {"mode": "mixed", "typical_age": "About 2 minutes for the latest reading of an active sensor; history back to early 2016", "notes": "Sensors report every two minutes. last_seen shows each reading's age, and max_age and modified_since filter out stale sensors. History: raw data up to 30 days per request, longer windows at 10-minute to yearly averages. Nothing is captured on demand: only sensors owners have already installed."}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "PurpleAir API Use Guidelines: \"PurpleAir sensors report data every two minutes\" and \"Real-time data is instantly available in memory.\""}, "capture": {"by": "devices"}, "requester": {"checks": "API keys need a Developer Dashboard account behind a Google or Google-associated login. The Terms require accurate account information, legal age, and written notice to PurpleAir before commercial distribution.", "unknown": "No further identity or purpose vetting is documented. Requesters only read existing sensors and never direct anyone to a place."}, "adapter": "purpleair", "sources": [{"claim": "Base URL https://api.purpleair.com/v1; apidoc version 1.0.15, generated 2026-09-09", "url": "https://api.purpleair.com/api_project.js"}, {"claim": "Endpoints /sensors, /sensors/:sensor_index, /sensors/:sensor_index/history(/csv), /groups and members, /keys, /organization with their parameters (bounding box, location_type, max_age default 604800, modified_since, show_only, read_keys, average windows up to 525600, privacy); per-endpoint default rate limits; RateLimitExceededError; X-API-Key header preferred, api_key query string or POST body; READ vs WRITE keys; Developer Dashboard with Google login; 1 million free starting points; last_seen field", "url": "https://api.purpleair.com/api_data.js"}, {"claim": "API documentation home (renders client-side; content read from api_data.js)", "url": "https://api.purpleair.com/"}, {"claim": "Keyless request to /v1/sensors returns 403 ApiKeyMissingError (probed 2026-10-26)", "url": "https://api.purpleair.com/v1/sensors?fields=pm2.5"}, {"claim": "Live points tier table and $10 minimum purchase (public JSON behind the store)", "url": "https://www.purpleair.com/api/v1/store/api-points-tiers"}, {"claim": "Points-based billing; tier table; cost formula; base cost at most 5 points; get_sensor 1, get_sensor_history 2; field costs 1-2 points; 432 points a day example; one million starting points; values subject to change", "url": "https://community.purpleair.com/t/api-pricing/4523"}, {"claim": "Sensor owners' own-data pulls still use points; free points on request by email; earning points planned; the map stays free", "url": "https://community.purpleair.com/t/api-points-for-sensor-owners/7525"}, {"claim": "Account via Google login on develop.purpleair.com; 1 million points on sign-up; dataset back to early 2016; no limit on sensors per Get Sensors Data call; keys must not be shared", "url": "https://community.purpleair.com/t/about-the-purpleair-api/7145"}, {"claim": "Developer Dashboard structure (organizations, projects, keys); PaymentRequiredError when out of points", "url": "https://community.purpleair.com/t/new-api-online-dashboard/3981"}, {"claim": "Sensors report every two minutes; real-time data held in memory; modified_since; bulk historical requests by email; access may be lost for over-querying", "url": "https://community.purpleair.com/t/api-use-guidelines/1589"}, {"claim": "Terms of Service (updated 18 July 2022): PurpleAir owns all data; licence grants and end-user limits; no raw data to third parties or competing database; only the key holder makes API calls; grantback licence naming AI training data and outputs; no open-source materials; attribution; location from Google Wi-Fi location plus owner entry; health and emergency disclaimers; API Fair Use Policy (Exhibit A); Shopify payments", "url": "https://www.purpleair.com/api/v1/store/policies/terms-of-service"}, {"claim": "Terms of Service page (renders client-side; text read from the store policies JSON above)", "url": "https://www.purpleair.com/policies/terms-of-service"}, {"claim": "Data License (updated 18 July 2022): grantback, attribution, distribution limited to one level removed, cannot resell data or an API modelled on it, Fair Use Policy", "url": "https://www.purpleair.com/api/v1/pages/license"}, {"claim": "Data Attribution guide: 'Data from PurpleAir' for direct use, 'Powered by PurpleAir' for derived data, a link for APIs and ML models, health or emergency disclaimer", "url": "https://www.purpleair.com/api/v1/pages/attribution"}, {"claim": "Store payment methods: cards, Shop Pay, PayPal, Google Pay, Apple Pay, Meta Pay; purchase orders Net 30; checks, money orders, wire by invoice", "url": "https://www.purpleair.com/api/v1/community/pages/payment-methods"}, {"claim": "Over 35,000 sensors worldwide; real-time readings updated every 2 minutes; points bought in the store cart (site JavaScript bundle, since www.purpleair.com renders client-side)", "url": "https://www.purpleair.com/_expo/static/js/web/AppEntry-351c95d0fef2614f6dd6e82cb5ac94f5.js"}, {"claim": "No PurpleAir server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=purpleair"}, {"claim": "AQ-SPEC PA-II evaluation: three units, field PM1 R2>0.96, PM2.5 R2>0.93, PM10 R2>0.66, lab PM2.5 R2>0.99, 95% data recovery, deployment 12/18/2016-01/26/2017", "url": "https://www.aqmd.gov/docs/default-source/aq-spec/summary/purpleair-pa-ii---summary-report.pdf?sfvrsn=16"}, {"claim": "AQ-SPEC field evaluation of PA-II against GRIMM and BAM reference instruments", "url": "https://www.aqmd.gov/docs/default-source/aq-spec/field-evaluations/purple-air-pa-ii---field-evaluation.pdf?sfvrsn=2"}, {"claim": "Owners can read their sensor locally at its IP address /json without the API; one million points cover years of single-sensor data", "url": "https://community.purpleair.com/t/api-limits/4467"}], "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "quest", "name": "Quest", "provider_url": "https://hireahuman.quest", "status": "unclaimed", "tags": ["agent-native", "mcp", "bearer", "errand", "go and look", "gig", "human task", "local inspection", "mystery shopping", "photo evidence", "singapore", "malaysia", "philippines", "san francisco"], "summary": "Singapore-based local-task marketplace (Quest Hyphen Inc Pte. Ltd., also branded \"Quest: Hire a Human\") where a person, business or their AI agent posts a paid quest and nearby workers (\"Heroes\") send offers. It targets quick in-person tasks of under about 30 minutes: queue, collect or drop off, check whether a place is open or an item is in stock, photograph a shelf or location, mystery shop, run a short survey. An agent can post quests and browse open quests over a first-party remote MCP server with a Bearer API key; viewing offers, hiring, paying and approving completion are done by the person in the Quest app or on the website. Works in Singapore, Malaysia and the Philippines, with San Francisco as an early US market.", "short": "A local-task marketplace in Singapore, Malaysia, the Philippines and San Francisco; agents post tasks over MCP.", "capabilities": {"modalities": ["photo", "text-report"], "tasks": ["check whether a place is open or an item is in stock", "photograph a shelf or a location", "verify a listing or a business address on site", "mystery shopping with photos and a receipt", "short in-person surveys and user tests", "queue, collect or drop off an item, file paperwork", "event and business help (flyers, display checks, booth slots)"]}, "pricing": {"model": "the poster sets a budget in local currency and workers send offers; Quest takes 10% from the worker; a customer fee is described inconsistently (see notes)", "from_usd": 0, "unit": "quest (price set by the poster, one-time or per hour)", "notes": "from_usd 0 means not published: each quest's price is set by the poster (whole units of SGD, MYR, PHP or USD; scopeOfReach global posts in USD) and can be negotiated. The agent pages say 'No fee to post or hire. Quest takes 10% from the human after each completed hire.' But the Terms charge the Citizen a Connection Fee on top of the Agreed Price when an offer is accepted, the FAQ says Quest charges 'a fixed booking fee + processing fees to customer upon payment', and the home page says the customer pays 'a small, transparent service fee shown before you confirm'. The fee amount is not published. postQuest can return 'maximum price exceeded' with a maxPrice ceiling. Boost and Priority (Highlights/Notifications Blast) are optional paid upgrades; the FAQ says premium features are available on quests from $30. Cancellation: the party responsible pays a cancellation fee (10% of the quest price for a Hero; the Citizen forfeits the service fee)."}, "latency": {"typical": "Not published; offers usually arrive within hours, and the work happens at the date and time window the poster sets", "notes": "Quest's blog says that over the last 180 days every one of 25,741 posts got at least one offer (2.5 on average) and that 'most tasks start receiving offers within hours of posting'. That is time to an offer, not to delivery. The person must then pick an offer and pay in the app or on the website, since the MCP server cannot hire yet. postQuest takes dueDate (exact, before or range) and a timeRange, plus an optional urgent flag; new posts are moderated ('pending: posted, being checked, then shown to humans')."}, "coverage": {"regions": ["Singapore", "Malaysia", "Philippines", "USA: San Francisco (early market)"], "notes": "Provider: 'Singapore, Malaysia and the Philippines, with San Francisco as our early US market. Availability varies by area.' The home page claims 750k+ humans and '10+ countries', and the Terms carry country terms for further markets (AU, CA, HK, ID, JP, KR, PK, TH), but the agent docs name only these four markets. Worker counts are sign-ups, not verified local availability. San Francisco is coded as US-CA because ISO 3166 has no city codes.", "areas": ["SG", "MY", "PH", "US-CA"]}, "licensing": {"summary": "Terms (last updated April 2026) contain no assignment of rights in a Hero's work to the Citizen, and the Model Quest Contract is silent on ownership. Users grant Quest an unrestricted, worldwide, royalty-free licence to use, reproduce, modify and adapt content posted on the platform for publishing it, providing the service and promoting Quest. The Terms also say: 'any content (whether provided by Quest, a User or a third party) on the Quest Platform may not be used on third party sites or for other business purposes without Quest's prior written permission.' Proof photos are sent in Quest chat, so whether that clause covers them is not stated. Neither the Terms nor the Privacy Policy mention AI or machine-learning training or resale."}, "verification": {"human": {"level": "claimed", "method": "Guidelines require real names matching an official identification document; optional account verification on the profile page (Singapore only, per the FAQ); Identity Verification Services include phone verification, payment-information verification, social-media links and badges; ratings and reviews. Marketing pages say sensitive work is background-checked.", "evidence_url": "https://hireahuman.quest/faq", "unknown": "The Terms say Quest 'does not undertake any investigation' of Heroes (no criminal, licence or character checks), that its verification 'may not be fully accurate', and that badges are point-in-time checks. Outside Singapore account verification is not available. What 'background-checked' covers and who does it is not stated."}, "application": {"level": "none", "unknown": "Proof is sent through Quest chat in the app or website; no app or device attestation is documented."}, "camera": {"level": "none", "unknown": "Nothing says proof photos must be taken live with the device camera; gallery uploads, edited images or photos of a screen are not addressed."}, "time": {"level": "none", "unknown": "No trusted capture time is documented for proof; the chat message time is all a poster sees."}, "location": {"level": "none", "unknown": "The Privacy Policy says the app may collect precise device location, but no check that proof was captured at the quest address is documented."}, "content": {"level": "none", "method": "The poster states what done looks like (a photo, a receipt, a short message), reviews it and releases the held payment; Quest support mediates disputes and cancellations.", "unknown": "Quest disclaims the truth and accuracy of user information; staged or fabricated proof is caught only by the poster's own review."}, "corroboration": {"level": "none", "unknown": "No platform cross-check. A poster can ask for up to 20 humans per quest (numOffers), but independent captures would be buyer-arranged, not a provider guarantee."}}, "api": {"available": true, "self_serve": true, "docs_url": "https://hireahuman.quest/agents/docs", "base_url": "https://mcp.hireahuman.quest/mcp", "auth": [{"type": "bearer", "header": "Authorization", "env_var": "QUEST_API_KEY", "how_to_get": "Sign in at hireahuman.quest, open https://hireahuman.quest/profile/api-keys, click Generate new key and copy it (shown once; registry example prefix qmcp_). Send as 'Authorization: Bearer <key>'. Revocable on the same page. OAuth is not supported yet."}], "endpoints": [{"action": "order", "method": "MCP", "path": "postQuest", "params": "title, desc, startingCountry, dueDate, dueDateType [exact|before|range], timeRange, numberOfHours, numOffers (1-20), paymentRecurrence [one time payment|per hour], price (whole currency units), scopeOfReach [local|global]; optional startingAddress (required unless online), endingCountry, endingAddress, dateRangeEnd, requirements, screeningQuestions, additionalPurchasesPrice, priceNegotiable, urgent, portfolioLinkRequired", "notes": "Posts a quest; returns {status, questID} with status pending, duplicate, maximum price exceeded (with maxPrice and currency), illegal-content, auto-delete, admin-delete or user-banned. Account and country come from the key. Nothing is paid: the person picks an offer and pays in the app or on the website."}, {"action": "list", "method": "MCP", "path": "getQuestsV2", "params": "countryCode, category, subCategory, location [in-person|online], chosenLocations, lat, lng, radius (metres), sortOrder [nearby|price-min|price-max], minAmount, maxAmount (smallest currency unit), offset, currentPage", "notes": "Browse open quests to check going rates; returns questID, title, price, district, countryCode, startingCountry, startingLocation, datePosted, dueDate and offerCount, with no poster personal details."}, {"action": "status", "method": "MCP", "path": "whoAmI", "notes": "Returns userID, idMcpApiKey and calledAt for the key; a connection test, not order status. There is no MCP tool for offers, hiring, order status or fetching proof yet ('A hire tool is in development')."}], "mcp": {"remote": "https://mcp.hireahuman.quest/mcp", "registry_name": "quest.hireahuman/quest", "auth": "bearer", "first_party": true, "notes": "Streamable HTTP only. Registry entry v1.0.0, published 2026-10-21, requires an Authorization header. Coming soon per the provider: hireHuman (pick an offer and fund the quest), manageQuest (chat, approve completion, rate) and OAuth for OAuth-only clients such as ChatGPT."}, "notes": "Quest asks agents to confirm task, location, time and budget with their person before calling postQuest ('Real people will travel to do it') and to keep contact details out of descriptions. An agent operating a browser may also post, review offers, hire and pay on hireahuman.quest while signed in as its user, with the user's approval."}, "adapter": "quest", "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "payment": {"methods": ["card"], "agent_can_pay": false, "prepaid": true, "notes": "Credit or debit card (Visa or Mastercard) through Stripe, in the Quest app or on the website; PayNow is 'coming soon'. When the person accepts an offer, the Agreed Price is paid into Quest's Payment Account and held until they release it on completion. Over MCP an agent cannot hire or pay: 'Your user picks an offer and approves the payment.' Refunds go to the original card or as Stored Value."}, "account": {"agent_may_act": {"allowed": true, "source_url": "https://hireahuman.quest/agents"}}, "capture": {"by": "people"}, "requester": {"checks": "Posters must be natural persons over 16 with a Quest account; the API key ties every quest to that account. Posts are moderated (postQuest can return illegal-content, auto-delete, admin-delete or user-banned). User Guidelines ban quests 'that may result in the invasion of personal privacy', including 'investigating and/or gathering personal information without the concerned individual's consent or knowledge', plus illegal, deceptive and cash-based quests.", "unknown": "No identity check of posters is documented outside optional Singapore verification; whether moderation blocks a request to photograph or follow a specific person, as opposed to gathering their personal information, is not stated."}, "freshness": {"mode": "on_demand", "typical_age": "Captured when the hired worker does the task, at the date and time window the poster sets", "notes": "No archive; proof is whatever the poster asks for in the quest description."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No delivery time is published. Blog: 'Most tasks start receiving offers within hours of posting' (time to an offer, not to delivery); the poster sets the due date and time window."}, "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "What Quest is, task types (be there, go and look, show up for business), under about 30 minutes, MCP URL, Bearer key, no OAuth, three tools, hire/pay not over MCP, browser agents may hire with approval, no fee to post or hire, 10% from the human, Boost and Priority, coverage SG/MY/PH plus San Francisco", "url": "https://hireahuman.quest/llms.txt"}, {"claim": "MCP docs: Streamable HTTP, API key from profile/api-keys, postQuest required and optional inputs and return statuses, getQuestsV2 inputs and returns, whoAmI returns, hire tool in development, OAuth coming, confirm before posting", "url": "https://hireahuman.quest/agents/docs"}, {"claim": "Agent page: three live tools, hireHuman and manageQuest coming soon, user approves every hire and payment, agent cannot hire or pay on its own, Quest moderates posts and holds the payment", "url": "https://hireahuman.quest/agents"}, {"claim": "MCP Registry entry quest.hireahuman/quest v1.0.0, remote https://mcp.hireahuman.quest/mcp, required Authorization header (Bearer qmcp_ key), published 2026-10-21", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=hireahuman"}, {"claim": "Terms (April 2026): Connection Fee charged to the Citizen, 10% Hero Service Fee, Agreed Price paid into the Payment Account, no investigation of Heroes, Identity Verification Services may not be accurate, badges point-in-time, licence to Quest over posted content, content may not be used on third-party sites or for other business purposes without permission, users over 16 and natural persons, Stripe as payment provider, Singapore entity Quest Hyphen Inc Pte. Ltd.", "url": "https://hireahuman.quest/terms"}, {"claim": "Privacy Policy (April 2026): precise device location may be collected; no mention of AI or machine-learning training", "url": "https://hireahuman.quest/privacy"}, {"claim": "FAQ: account verification only in Singapore, card-only payment, 10% commission from heroes plus a fixed booking fee and processing fees to the customer, premium features from $30, cancellation and refund rules", "url": "https://hireahuman.quest/faq"}, {"claim": "Payments: Stripe card payments held until released by the Citizen, PayNow coming soon, dispute support", "url": "https://hireahuman.quest/payments"}, {"claim": "User Guidelines: real names matching official ID, ban on quests that invade personal privacy or gather personal information without consent, no cash-based or deceitful quests, Visa/Mastercard in-app payment", "url": "https://hireahuman.quest/user-guidelines"}, {"claim": "Cancellation policy: responsible Hero pays 10% of the quest price; responsible Citizen forfeits the service fee", "url": "https://hireahuman.quest/cancellation-policy"}, {"claim": "Home page: 750k+ humans, 10+ countries, service fee shown before you confirm, sensitive work is background-checked, field-data examples (photograph store shelves, verify a business address)", "url": "https://hireahuman.quest/"}, {"claim": "Mystery shopping page: photos and receipts come back with the report; payment held until the poster approves", "url": "https://hireahuman.quest/quests/field-data/hire/mystery-shopping"}, {"claim": "Blog (2026-09-30): all 25,741 posts in the last 180 days got at least one offer, average 2.5; most tasks start receiving offers within hours", "url": "https://hireahuman.quest/blog/100-percent-tasks-get-offers"}, {"claim": "Agents post quests over MCP; the user approves every hire and payment", "url": "https://hireahuman.quest/agents"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "rentahuman", "name": "RentAHuman", "provider_url": "https://rentahuman.ai", "status": "unclaimed", "tags": ["agent-native", "api", "bounty", "check-in", "errand", "field data", "gig", "global", "human task", "local inspection", "mcp", "mpp", "oauth", "photo evidence", "proof of presence", "video evidence", "webhooks", "x402"], "summary": "Agent-first marketplace (launched February 2026) where an AI agent posts a paid bounty, picks or auto-accepts applicants, and pays from a prepaid wallet once the worker submits photo, video, text or link evidence. Callable through a REST API, a local MCP server (rentahuman-mcp) or a remote OAuth MCP server; an agent can sign up for a key over the API without a browser.", "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["local inspection with photo evidence", "physical field data collection", "errands, pickups and deliveries", "attend a place or event with timed selfie check-ins", "photo/video/document upload collection", "line standing (NYC, LA, SF, Toronto, Vancouver)", "remote microtasks, research participation, human QA"]}, "pricing": {"model": "poster sets the worker's pay (fixed or hourly) plus an 18% service fee", "from_usd": 0, "unit": "bounty (price set by the poster)", "notes": "from_usd 0 because there is no fixed price: the poster chooses the pay, and RentAHuman adds 18% on top (a $100 task costs $118). In-person bounties may have a location-specific minimum hourly pay (GET /api/bounties/location-minimum). Optional per-seat bonuses. Wallet top-ups $1-$10,000. Line standing is listed at $23.60/hour fees included (NYC, LA, SF, Toronto, Vancouver; book 12+ hours ahead). The 18% fee is stated in the escrow docs, not the Terms, and may change."}, "latency": {"typical": "Not guaranteed; set by the bounty's deadline and completion window", "notes": "The provider states that 'a posted task is a request, not a booking. Local coverage and response times aren't guaranteed.' Posters can set deadline, completionWindowHours, startWindowMinutes, scheduledStartAt and a ghost response window. After submission the poster has a four-day review window; if they don't review, payment is not auto-released; RentAHuman's team reviews the proof. A rejection opens a 48-hour worker appeal."}, "coverage": {"regions": ["Global (self-registered workers)"], "notes": "Public stats endpoint reported 872,945 humans available, 32,664 agents connected and 17,446 bounties total (2026-10-26); the public bounty list showed 49 live bounties that day, 17 of them in person (14 US, 1 each IN, JP, PH). Worker counts are self-registered sign-ups, not verified availability; the provider states local coverage and response times aren't guaranteed. Search by city/country is free via GET /api/humans. Users in countries under comprehensive US sanctions are excluded by the Terms.", "areas": ["*"]}, "licensing": {"summary": "Terms (updated 2026-07-20): each user retains ownership of their User Content (bounties, uploaded photos, submissions) but grants RentAHuman a worldwide, perpetual, royalty-free, sublicensable, transferable licence, including to develop, train and fine-tune AI/ML models and to build aggregated or de-identified datasets; no opt-out is stated. RentAHuman does not endorse, verify or guarantee User Content. The Terms do not say whether the poster receives ownership, exclusive rights, resale rights or AI-training rights in a worker's evidence.", "vendor_trains_on_data": "yes"}, "verification": {"human": {"level": "claimed", "method": "Optional per bounty: identityRequired (account-level government ID verification) and linkedinVerifiedRequired; poster reviews applicant profiles and reviews", "evidence_url": "https://rentahuman.ai/docs", "unknown": "Off by default. ID-check vendor, pass rates and multi-account detection are not documented. Trade licences and insurance are explicitly not verified."}, "application": {"level": "none", "unknown": "A mobile app exists (attendance tracking, per the Terms), but no app or device attestation is documented"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: liveCaptureRequirement ('photo' or 'video') requires completion evidence captured live with the device camera; live video up to 60 s / 250 MiB. Off by default. Whether browser camera capture can be fed by a virtual camera, or a screen be photographed, is not addressed."}, "time": {"level": "claimed", "method": "Optional live selfie check-ins every 5-240 minutes during in-person shifts; poster sees each photo with server time", "evidence_url": "https://rentahuman.ai/docs", "unknown": "Whether the main completion evidence carries a trusted capture time, and whether timestamps are signed"}, "location": {"level": "claimed", "method": "Optional location-stamped check-ins with server-computed distance and flags, an attendance radius of 50-2000 m around the job site (default 150 m), and opt-in requirePreciseLocation, which lets the poster see each hired worker on a map after the worker accepts the notice in the app. The attendance list itself excludes worker coordinates.", "evidence_url": "https://rentahuman.ai/docs", "unknown": "Uses phone/browser location; GPS-spoofing resistance is not documented. Off by default, and completion evidence itself is not documented as location-stamped."}, "content": {"level": "none", "method": "The poster (or the agent) reviews submitted evidence against completionCriteria and can request up to three rounds of changes; RentAHuman staff review only disputes", "unknown": "The platform says it does not verify User Content; staged or fabricated evidence is caught only by the poster's own review"}, "corroboration": {"level": "none", "unknown": "No platform cross-check. A poster could fund several seats (spotsAvailable) to get independent captures, but that is buyer-side, not a provider guarantee."}}, "api": {"available": true, "docs_url": "https://rentahuman.ai/docs", "base_url": "https://rentahuman.ai/api", "auth": [{"type": "api_key_header", "header": "X-API-Key", "env_var": "RENTAHUMAN_API_KEY", "how_to_get": "Headless: POST https://rentahuman.ai/api/agents/signup with email, acceptTerms: true, country and city sends a 6-digit code; POST /api/agents/signup/verify with the code returns a rah_ key once. Or create keys (up to 25) at https://rentahuman.ai/account/api-keys, or sign up over x402 for $10 USDC (early access). Searching humans and listing bounties need no key."}, {"type": "bearer", "header": "Authorization", "env_var": "RENTAHUMAN_API_KEY", "how_to_get": "The same rah_ account key sent as Authorization: Bearer (OpenAPI BearerAuth also accepts a Firebase ID token for a signed-in user); accepted on the REST API and the remote MCP endpoint."}, {"type": "oauth2", "resource_metadata": "https://rentahuman.ai/.well-known/oauth-protected-resource/api/mcp", "scopes": ["mcp:tools", "mcp:read"], "dynamic_registration": true, "pkce": "S256", "transport": "mcp", "how_to_get": "Remote MCP at https://rentahuman.ai/api/mcp: OAuth 2.0 authorization code with PKCE S256, dynamic client registration at /api/mcp/oauth/register, public clients (token auth none). mcp:tools is the full marketplace scope (smaller tool set than the local server); mcp:read is a read-only workspace (seven reading tools, no posting or payments). Dynamic client registration is deprecated by the MCP specification of 2026-07-28 in favour of Client ID Metadata Documents (CIMD); whether RentAHuman accepts CIMD is not stated."}], "endpoints": [{"action": "search", "method": "GET", "path": "/humans", "params": "skill, name, minRate, maxRate, city, country, countryCode, limit, cursor", "notes": "Search public worker profiles; free, no key needed."}, {"action": "list", "method": "GET", "path": "/bounties", "notes": "List public open bounties; no key needed."}, {"action": "quote", "method": "GET", "path": "/bounties/location-minimum", "notes": "Minimum hourly pay for an in-person location (no key; returns null when no configured area applies). POST /bounties with dryRun: true returns a preview with the funding total; GET /bounties/{id}/funding-quote prices a pending bounty."}, {"action": "order", "method": "POST", "path": "/bounties", "params": "title, description, price, estimatedHours (required); completionCriteria, evidenceTypes [text|photo|video|link], liveCaptureRequirement, checkIns {enabled, intervalMinutes}, location {country, isRemoteAllowed, ...}, deadline, spotsAvailable, attendanceRadiusMeters, requirePreciseLocation, identityRequired, autoAccept, submissionMode, bonuses, dryRun, idempotencyKey", "notes": "Docs require showing the dryRun preview and posting only after the account owner approves. Unfunded bounties come back as pending_deposit with a deposit_url."}, {"action": "status", "method": "GET", "path": "/bounties/{id}", "notes": "Fetch one bounty. GET /bounties/{id}/applications lists applicants; PATCH /bounties/{id}/applications/{appId} accepts or rejects. Signed webhooks cover applications, submissions, messages, escrow and payments."}, {"action": "fetch", "method": "GET", "path": "/bounties/{id}/submissions", "notes": "Evidence submitted by workers. PATCH /bounties/{id}/submissions/{submissionId} reviews it; GET /bounties/{id}/applications/dataset downloads all accepted uploads as a zip with manifest.json."}, {"action": "fetch", "method": "GET", "path": "/bounties/{id}/attendance", "notes": "Attendance sessions (check-ins) for hired workers on in-person bounties."}], "sdk": "rentahuman-mcp 4.2.0 (npm, MIT); MCP Registry io.github.rentahuman-ai/rentahuman v4.1.0 (stdio); OpenAPI 3.1 at https://rentahuman.ai/openapi.json", "rate_limits": "Signup: 1 per minute and 5 per hour per email, 10 per hour per IP; verification: 30 per hour per IP, 5 wrong codes", "self_serve": true, "mcp": {"remote": "https://rentahuman.ai/api/mcp", "registry_name": "io.github.rentahuman-ai/rentahuman", "first_party": true, "notes": "Remote endpoint is a smaller tool set than the local stdio package; the MCP Registry entry lists only the stdio npm package."}, "notes": "Terms allow AI agents through the API and MCP, provided automation does not pose as a human. Docs require showing the dryRun preview and posting only after an explicit yes, with an Idempotency-Key on writes. Automation is allowed through the API and MCP only; the Terms ban driving the web interface with automation and scraping. mcp:read is advertised only in the authorization-server metadata, not the protected-resource metadata, so a client following the resource document alone requests mcp:tools only."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after you post and a worker accepts; depends on deadline you set", "notes": "No archive. Live camera capture and check-ins are opt-in per bounty."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "Provider: 'A posted task is a request, not a booking. Local coverage and response times aren't guaranteed.'"}, "updated": "2026-10-28", "sources": [{"claim": "Agent marketplace summary, headless API signup, X-API-Key header, REST base, local and remote MCP, dryRun-then-post workflow, 18% fee, wallet top-ups ($1-$10,000), MPP and x402, paid from prepaid wallet, 'a posted task is a request, not a booking', coverage and response times not guaranteed, licences/insurance not verified, line standing $23.60/hour", "url": "https://rentahuman.ai/llms.txt"}, {"claim": "Docs: bounty fields (evidenceTypes, liveCaptureRequirement with 60 s / 250 MiB live video, checkIns 5-240 min with server time and location stamps, attendanceRadiusMeters 50-2000 default 150, requirePreciseLocation map view, identityRequired government ID, linkedinVerifiedRequired), remote MCP smaller tool set with OAuth/X-API-Key/Bearer, mcp:read workspace, listing policy refusal codes, location-minimum", "url": "https://rentahuman.ai/docs"}, {"claim": "OpenAPI 3.1 spec: /api/humans, /api/bounties (create/fetch/applications/submissions/attendance/dataset/funding-quote), wallet endpoints, location-minimum, ApiKeyAuth and BearerAuth schemes", "url": "https://rentahuman.ai/openapi.json"}, {"claim": "Escrow: four-day review window from submission, no auto-release (dispute opens), 48-hour appeal on rejection, up to three change rounds, 18% fee on top ($100 task costs $118), returned funds not cashable to bank, card refunds where available", "url": "https://rentahuman.ai/docs/escrow"}, {"claim": "Terms (updated 2026-07-20): User Content licence to RentAHuman including AI/ML training and datasets; RentAHuman does not verify User Content; AI agents may use the API and MCP; agent disclosure; no background checks; sanctions exclusion; 18+", "url": "https://rentahuman.ai/terms"}, {"claim": "Stats on 2026-10-26: 872,945 humans available, 32,664 agents connected, 17,446 bounties total", "url": "https://rentahuman.ai/api/stats"}, {"claim": "Public bounty list on 2026-10-26: 49 bounties, 17 in person (14 US, 1 each IN, JP, PH)", "url": "https://rentahuman.ai/api/bounties?limit=100"}, {"claim": "Launch coverage (2026-02-03): built by a crypto engineer; registrations passed 1,000 within days and briefly crashed the site", "url": "https://decrypt.co/356784"}, {"claim": "Remote MCP OAuth metadata: dynamic client registration, PKCE S256, public clients, scopes mcp:tools and mcp:read", "url": "https://rentahuman.ai/.well-known/oauth-authorization-server"}, {"claim": "OAuth protected-resource metadata for the remote MCP server (resource https://rentahuman.ai/api/mcp)", "url": "https://rentahuman.ai/.well-known/oauth-protected-resource/api/mcp"}, {"claim": "Signup and verification rate limits; public keyless endpoints (/api/humans, /api/bounties); x402 signup $10", "url": "https://rentahuman.ai/agents.json"}, {"claim": "x402 wallet deposits: USDC on Base (eip155:8453), early access", "url": "https://rentahuman.ai/docs/x402"}, {"claim": "MCP Registry entry io.github.rentahuman-ai/rentahuman, latest v4.1.0, stdio npm package", "url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.rentahuman-ai%2Frentahuman/versions/latest"}, {"claim": "rentahuman-mcp npm latest 4.2.0, MIT", "url": "https://registry.npmjs.org/rentahuman-mcp/latest"}, {"claim": "Line standing: $23.60/hour fees included in NYC, LA, SF, Toronto, Vancouver; book at least 12 hours ahead", "url": "https://rentahuman.ai/services/line-standing"}, {"claim": "Account: headless signup by API (email code) or over x402; agent rails x402 and MPP for wallet top-ups", "url": "https://rentahuman.ai/llms.txt"}, {"claim": "Terms: an AI agent may act as a Poster Agent through the API and MCP, the poster fully responsible", "url": "https://rentahuman.ai/terms"}, {"claim": "MCP specification 2026-07-28: dynamic client registration deprecated in favour of Client ID Metadata Documents", "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration"}], "spec_version": "2026-10-26", "adapter": "rentahuman", "short": "An agent-first marketplace for paid, in-person tasks done by people.", "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "people"}, "payment": {"methods": ["hosted_checkout", "mpp", "x402", "prepaid_balance"], "agent_rails": ["x402", "mpp"], "agent_can_pay": true, "prepaid": true, "notes": "Tasks are paid from a prepaid RentAHuman wallet. Top-ups $1-$10,000 via hosted (Stripe) checkout, MPP (card or Link) or x402 (USDC on Base, early access). Returned bounty money stays as wallet balance and can't be cashed out to a bank; card top-ups can be refunded to the card where available. Whether an agent can pay over the OAuth MCP is not documented: the remote server posts bounties only after an owner-approved dry run, and payment tools are in the local server."}, "account": {"headless_signup": true, "kyc": "email", "agent_may_act": {"allowed": true, "source_url": "https://rentahuman.ai/terms"}}, "requester": {"checks": "Posters verify an email (or pay $10 over x402) and give a country and city at sign-up, accept the Terms (18+, not in a comprehensively sanctioned country), and must disclose automation rather than pose as a human. Bounty listings are screened by a listing policy (bounty_content_refused, brand_impersonation, bounty_content_flagged).", "unknown": "The Terms say RentAHuman does not run background checks and need not verify users; no poster identity check is documented, and how the listing policy screens requests to watch or follow a specific person is not stated."}}, {"id": "satellogic", "name": "Satellogic", "status": "unclaimed", "provider_url": "https://satellogic.com/", "short": "High-resolution optical satellites tasked by contract through the Aleph Orders API, with 3-hour rush delivery.", "tags": ["satellite", "satellite imagery", "optical", "multispectral", "high resolution", "tasking", "rush tasking", "site monitoring", "NewSat", "earth observation", "remote sensing", "aerial", "api", "STAC", "signed deliverables", "global"], "summary": "Operator of the NewSat constellation of high-resolution (70 cm native, 50 cm super-resolved on Mark V) multispectral RGB-NIR satellites. Its Aleph platform and Orders API (v2) let contract holders analyse future capture opportunities and order new captures: Standard Tasking of a point, Standard Area Coverage of a polygon, Rush Tasking, Rush Tasking with Rapid Delivery (3 hours from capture to delivery) and Site Monitoring. Products, defaults and prices are set per contract by account managers; the free trial has no tasking or API access. Delivery packages carry an RSA-signed SHA-256 manifest.", "capabilities": {"modalities": ["aerial", "photo"], "tasks": ["Standard Tasking of a point (SKU TSKPOI-M): new optical capture, up to 50 km2, delivered within 24 h of capture at L1D or L1D_SR", "Standard Area Coverage of a polygon (TSKARE-M): up to 500 km2, delivered within 24 h of capture", "Rush Tasking (TSKRSH-M.NN.NN): up to 25 km2, L1B delivered within 6 h of capture", "Rush Tasking with Rapid Delivery (TSKRRD-M.NN.NN): up to 25 km2, L1B delivered within 3 h of capture", "Site Monitoring of a point (SITEMON-M.01.03)", "opportunity analysis for future point captures, with cloud-cover forecasts up to 7 days, before ordering", "track orders (Received, In Progress, Closed), captures (Queued, Collecting, Acquired, Failed) and deliverables (Processing, Delivered, Not Delivered) through event streams", "processing levels L0, L1A, L1B, L1C, L1D and L1D_SR; GeoTIFF with STAC metadata", "signed delivery packages: SHA-256 manifest signed with Satellogic's RSA-4096 key"]}, "pricing": {"model": "per contract (products, defaults and the price for delivered quantities are set in the contract)", "from_usd": 0, "unit": "per tasked capture (price not published)", "notes": "from_usd 0 means unknown, not free. Satellogic publishes no price list and no price endpoint; contracts are set up by account managers, and its licence says prices are quoted in USD unless the order form says otherwise and that rights options change the price. Reseller UP42 lists Satellogic tasking from 30,000 credits per scene (100 credits = EUR 1, so about EUR 300) and archive from 500 credits per km2."}, "latency": {"typical": "Capture to delivery: 3 h (Rush with Rapid Delivery), 6 h (Rush), 24 h (Standard point or area). Tasking can be placed up to 6 h before capture (vendor deck).", "notes": "Delivery times are from Satellogic's Tasking Products page; the licence says tasked imagery is available 'typically no longer than 24 hours from capture' unless the contract says otherwise. Time from order to capture depends on satellite passes, sun angle and cloud and is not stated. Revisit claims vary: '> daily revisit at equator from ~20 satellites' (Satellogic deck, March 2026) vs 'up to 4 times a day' (UP42). In the v1 web UI, tasks can be cancelled up to 12 h before a planned capture; later cancellations may carry fees."}, "coverage": {"regions": ["Global (subject to orbit passes, sun angle and cloud)"], "notes": "Optical: needs daylight and clear sky. Tasking needs an account with tasking permissions on a contract. Imagery of listed conflicted or restricted areas (including parts of Afghanistan, China, India, Iran, Israel, Gaza, Pakistan, Russia, Ukraine's Crimea, Donetsk and Luhansk, Venezuela and others) is 'prohibited from general sale' and needs a case-by-case determination with enhanced due diligence on the customer; Satellogic may delay delivery or reduce resolution there.", "areas": ["*"]}, "licensing": {"summary": "Imagery End User Licence Agreement (July 2025): a limited, non-transferable, non-exclusive, non-sublicensable licence for the customer's internal use or stated business purpose; derivatives only as minor adaptations, and products shared outside the organisation must contain no imagery pixels. Title and all IP stay with Satellogic. Resale, redistribution, public display and third-party training are forbidden without extra rights (Integrator, Group, Government, Media or Commercial Redistribution grants). Model training is prohibited unless explicitly authorised in an executed agreement, and no machine learning, AI or biometric technology may be used to identify natural persons (clause 1.3(a)(iv)). Attribution 'Powered by SATELLOGIC (c) [YEAR]' is required. Satellogic may later put licensed imagery in a public archive unless an archive holdback (48 h, 30 days or permanent) is bought.", "ai_training": "forbidden", "resale": "forbidden", "buyer_owns_output": false}, "freshness": {"mode": "on_demand", "typical_age": "New capture after ordering; delivered 3-24 h after capture depending on product", "notes": "Satellogic also sells archive imagery (ARCIMG-M) through the same API; irlpls lists it for new tasked captures."}, "api": {"available": true, "self_serve": false, "docs_url": "https://developers.satellogic.com/aleph-v2/api/introduction.html", "base_url": "https://api.satellogic.com/v2", "auth": [{"type": "oauth2", "header": "Authorization", "env_var": "SATELLOGIC_CLIENT_ID", "how_to_get": "OAuth 2.0 client credentials: in Aleph Web (aleph.satellogic.com) a user with the Imagery User role creates an API credential (role 'M2M Imagery Integrator v2', tied to one or more contracts) and gets a client ID and secret, then exchanges them at https://auth.platform.satellogic.com/oauth/token (audience https://api.satellogic.com/) for a 24-hour bearer token. Every call also sends the header x-satellogic-contract-id. Self-onboarded trial accounts cannot create API credentials; roles and contracts come from Satellogic (tasking@satellogic.com).", "scopes": ["deliverables:read", "deliverables:reject"], "dynamic_registration": false, "transport": "rest"}], "endpoints": [{"action": "list", "method": "GET", "path": "/products", "notes": "Products (SKUs) assigned to the contract in x-satellogic-contract-id."}, {"action": "quote", "method": "POST", "path": "/analysis/opportunities", "params": "GeoJSON FeatureCollection of order features, all with the same tasking sku", "notes": "Future capture opportunities (feasibility, not price); result at GET /analysis/opportunities/{analysis_id}."}, {"action": "order", "method": "POST", "path": "/orders", "params": "GeoJSON Feature: geometry (Point or Polygon) and properties order_name, sku (e.g. TSKPOI-M, TSKRRD-M.NN.NN) and parameters (start, end, revisit_period, processing levels as the contract allows); header x-satellogic-contract-id", "notes": "Creates tasking or archive orders. Cancellation: DELETE /orders/{order_id}."}, {"action": "status", "method": "GET", "path": "/orders/{order_id}/events", "notes": "Order, capture and deliverable events; also GET /orders/{order_id}/captures and /orders/{order_id}/deliverables."}, {"action": "list", "method": "GET", "path": "/orders", "notes": "Orders as a GeoJSON FeatureCollection, paginated."}, {"action": "fetch", "method": "GET", "path": "/deliverables/{deliverable_id}", "notes": "Deliverable with status, footprint and assets (href to GeoTIFF on api.satellogic.com/assets)."}, {"action": "search", "method": "POST", "path": "/archive/search", "notes": "STAC API search of the existing archive (not new captures)."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No Satellogic server in the official MCP Registry and none found elsewhere."}, "rate_limits": "Not stated in the docs or the OpenAPI file.", "notes": "OpenAPI 3 spec (Aleph API v2, 2.0.0-beta.3) at https://developers.satellogic.com/aleph-v2/api/satellogic_api_v2.yml, server https://api.satellogic.com with paths under /v2. No RFC 9728 protected-resource metadata (api.satellogic.com/.well-known/* returns 403). The Auth0 authorization server publishes RFC 8414 metadata at https://auth.platform.satellogic.com/.well-known/oauth-authorization-server, with no registration endpoint. Signed-package public key: https://api.satellogic.com/.well-known/publickey.pem. Sample packages for every processing level are in the public S3 bucket satellogic-sample-data (eu-west-1)."}, "adapter": "satellogic", "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "contract"}, "payment": {"methods": ["invoice"], "agent_can_pay": false, "notes": "Paid under a contract or order form; the licence refers to invoiced amounts, payment terms and 1.5% monthly late interest. No card or self-serve checkout. Through UP42 instead, tasking is paid from prepaid UP42 credits."}, "capture": {"by": "devices"}, "requester": {"checks": "Customers sign a contract set up by an account manager. They must comply with export controls and sanctions, must not deal with denied or sanctioned parties, and must give Satellogic compliance documents on request. Orders for listed conflicted or restricted areas get 'enhanced due diligence on the requesting customer'. Use must be peaceful and lawful and must not violate privacy or identify natural persons. Each order is accepted only after Satellogic confirms it can capture it.", "unknown": "What identity or KYC checks are done when the contract is set up is not published."}, "verification": {"human": {"level": "none", "unknown": "Captured by Satellogic satellites, not people."}, "application": {"level": "none", "unknown": "No device or ground-segment attestation is documented. The signed delivery manifest is a statement over delivered files, recorded under provenance.receipt."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Captures come from Satellogic's own NewSat satellites; package names carry the satellite (e.g. SN43). Sensor identity is operator-asserted."}, "time": {"level": "claimed", "method": "Capture time is in the package's STAC metadata and the capture events (CaptureCollectionStarted, CaptureAcquired); the signed delivery manifest (provenance.receipt) covers the metadata files.", "unknown": "How capture times are validated is not documented, and the signature only dates from processing."}, "location": {"level": "claimed", "method": "Orthorectified products; geoaccuracy measured against an ESRI basemap (CE90 and RMSE, at least 30 match points). Vendor deck: 30 m CE90 for L1 Basic and Ortho-Ready, 10 m CE90 for Ortho (with ground control points).", "unknown": "Satellogic says the ESRI reference basemap's accuracy is 'variable and unknown'; per-image accuracy reports were not found in public docs."}, "content": {"level": "none", "unknown": "Capture and deliverable quality-control steps exist (QC events), but there is no documented method for detecting manipulated imagery."}, "corroboration": {"level": "none", "unknown": "No documented cross-check against other sensors for delivered scenes (radiometric cross-calibration with Sentinel-2 is a calibration step, not corroboration)."}}, "provenance": {"receipt": {"level": "claimed", "method": "Since 8 September 2025 every delivery package includes a SHA-256 manifest of all files, signed with Satellogic's RSA-4096 key (PKCS#1 v1.5) when the package is generated; the public key is at https://api.satellogic.com/.well-known/publickey.pem.", "evidence_url": "https://developers.satellogic.com/data/digital-signature.html", "unknown": "Not evidenced: on 2026-10-26 none of 102 signed public sample packages verified against the published key, though their file hashes matched their manifests; re-tested 2026-10-28 on an SN43 Baotou L0 package, verification failed with an RSA padding error (a different key). Signed at processing, not capture: it shows files are unchanged since Satellogic generated the package, not what the sensor recorded, and it is not bound to your request or a nonce.", "sources": [{"claim": "Delivery packages carry a SHA-256 manifest signed with Satellogic's RSA 4096-bit key", "url": "https://developers.satellogic.com/data/digital-signature.html"}]}}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Satellogic Tasking Products page, capture to delivery latency: 'Standard Tasking (POI) 24Hs ... Rush Tasking 6Hs ... Rush Tasking with Rapid Delivery 3Hs'. Vendor deck: 'Tasking: Up to 6hrs before capture'."}, "sources": [{"claim": "Orders always within a Contract (products, defaults, price for delivered quantities); SKUs TSKPOI-M, TSKARE-M, TSKRSH-M.NN.NN, TSKRRD-M.NN.NN, SITEMON-M.01.03, ARCIMG-M.NN.NN; contracts set up by Account Managers; order, capture and deliverable states and events; GeoJSON orders; cloud-cover forecasting up to 7 days; OAuth2; example base https://api.satellogic.com/v2", "url": "https://developers.satellogic.com/aleph-v2/api/introduction.html"}, {"claim": "API v2 structure: STAC archive search, POST /analysis/opportunities, POST /orders, GET /orders/{order_id}/events; processing levels L0 through L1D_SR; OAuth2 with contract-based access control", "url": "https://developers.satellogic.com/aleph-v2/api/api-overview.html"}, {"claim": "OpenAPI spec 2.0.0-beta.3: server https://api.satellogic.com, /v2 paths (products, orders, deliverables, captures, analysis/opportunities, archive/search), x-satellogic-contract-id header, OAuth2 scopes deliverables:read and deliverables:reject, deliverable assets with href; no rate limits stated", "url": "https://developers.satellogic.com/aleph-v2/api/satellogic_api_v2.yml"}, {"claim": "Capture-to-delivery latency 24 h (Standard POI and AOI), 6 h (Rush), 3 h (Rush with Rapid Delivery); maximum areas 50, 500, 25 and 25 km2; mandatory processing levels", "url": "https://developers.satellogic.com/aleph-v2/web-ui/tasking-products.html"}, {"claim": "OAuth 2.0 client credentials flow; contracts define products and tasking; M2M Imagery Integrator role for systems that automatically interact with the APIs; roles granted via tasking@satellogic.com", "url": "https://developers.satellogic.com/api-authentication/getting_started.html"}, {"claim": "Credentials created in Aleph Web with role M2M Imagery Integrator v2 tied to contracts; self-onboarded trial accounts cannot create API credentials", "url": "https://developers.satellogic.com/api-authentication/create_credentials.html"}, {"claim": "Token endpoint https://auth.platform.satellogic.com/oauth/token, audience https://api.satellogic.com/, client_credentials grant, 24-hour bearer token", "url": "https://developers.satellogic.com/api-authentication/get_access_token.html"}, {"claim": "Authorization server metadata: issuer auth.platform.satellogic.com, grant types include client_credentials, PKCE S256 supported, no registration endpoint", "url": "https://auth.platform.satellogic.com/.well-known/oauth-authorization-server"}, {"claim": "Free trial: archive search and preview with watermark only; ordering, tasking and API access need the sales team", "url": "https://developers.satellogic.com/aleph-v1/web-ui/getting_started.html"}, {"claim": "Tasking available for accounts with tasking permissions; special requirements via tasking@satellogic.com; cancellation up to 12 h before capture, fees may apply later", "url": "https://developers.satellogic.com/aleph-v1/web-ui/tasking_with_aleph.html"}, {"claim": "Since 8 September 2025 all delivery packages include a SHA-256 manifest signed with Satellogic's RSA-4096 private key (PKCS#1 v1.5); public key at api.satellogic.com/.well-known/publickey.pem; verification optional", "url": "https://developers.satellogic.com/data/digital-signature.html"}, {"claim": "Published RSA-4096 public key for verifying delivery signatures (fetched without authentication)", "url": "https://api.satellogic.com/.well-known/publickey.pem"}, {"claim": "Public sample packages for every processing level in S3 bucket satellogic-sample-data (eu-west-1)", "url": "https://developers.satellogic.com/data/data-samples.html"}, {"claim": "Signed sample package whose manifest signature did not verify against the published key on 2026-10-26 (one of 102 checked; file hashes matched the manifest)", "url": "https://satellogic-sample-data.s3.eu-west-1.amazonaws.com/L0/Baotou/0392e349-af81-4b9f-90ca-283070dc4dbb/1_1_0/20240601_064039_SN43_MS_L0_203086/20240601_064039_SN43_MS_L0_203086_manifest.txt.sig"}, {"claim": "Geoaccuracy measured against an ESRI basemap (RMSE, CE90, at least 30 match points); ESRI basemap accuracy 'variable and unknown'", "url": "https://developers.satellogic.com/data/image-processing/geoaccuracy.html"}, {"claim": "Imagery EULA (July 2025): internal-use licence, non-transferable and non-sublicensable; no resale or redistribution without extra rights; model training prohibited unless authorised in an agreement; title stays with Satellogic; attribution; archive holdback options; public archive clause; tasked imagery typically within 24 h of capture; invoiced amounts and late interest; prices in USD; export-control and sanctions compliance; orders placed in Aleph UI or API", "url": "https://satellogic.com/license-agreement"}, {"claim": "Conflicted / restricted areas prohibited from general sale; case-by-case determination with enhanced due diligence on the requesting customer; delivery may be delayed or resolution reduced", "url": "https://satellogic.com/conflicted-restricted-areas/"}, {"claim": "Vendor deck (March 2026): NewSat Mk-V 70 cm native / 50 cm SR, > daily revisit at equator from ~20 satellites, tasking up to 6 h before capture, delivery up to 3 h after capture (L1 Basic), geolocation 30 m / 10 m CE90 with GCPs", "url": "https://science.nasa.gov/wp-content/uploads/2026/03/csda-vendor-focus-satellogic-3-25-26.pdf"}, {"claim": "Reseller listing: more than 30 NewSat satellites, up to 4 times a day; tasking from 30,000 credits per scene, catalog from 500 credits per km2", "url": "https://docs.up42.com/data/satellogic"}, {"claim": "UP42: 100 credits are equivalent to EUR 1", "url": "https://docs.up42.com/getting-started/credit-management"}, {"claim": "No Satellogic server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=satellogic"}, {"claim": "Signed delivery manifest (SHA-256 per file, RSA-4096) since 8 September 2025", "url": "https://developers.satellogic.com/data/digital-signature.html"}], "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "satvu", "name": "SatVu", "adapter": "satvu", "status": "unclaimed", "provider_url": "https://www.satellitevu.com/", "tags": ["satellite", "satellite imagery", "thermal", "thermal infrared", "infrared", "MWIR", "mid-wave infrared", "heat", "heat signature", "surface temperature", "night", "HotSat", "tasking", "assured tasking", "earth observation", "remote sensing", "aerial", "api", "STAC", "global"], "short": "Thermal infrared satellite images of heat, day or night, tasked by API under a SatVu contract.", "summary": "SatVu (Global Satellite Vu Ltd, London) operates the HotSat mid-wave infrared satellites, which image heat at up to 3.5 m resolution, day and night. Contract holders use its web app, REST API or Python SDK to run a free feasibility check, get a price and place Standard tasking orders (a date window of at least 7 days) or Assured orders (a chosen pass in the next 8 days), including recurring series. SatVu states delivery within 72 hours of capture, 95% of the time. HotSat-2 has been in commercial operation since June 2026. HotSat-3 launched in October 2026 and is being commissioned. SatVu tasking is also sold through SkyFi.", "capabilities": {"modalities": ["aerial", "sensor"], "tasks": ["Standard tasking of a new thermal infrared capture of a point target within a date window of at least 7 days, placed at least 24 hours ahead, with off-nadir (0-45 degrees), cloud cover (25-100%) and day/night/both settings", "Assured tasking of a specific satellite pass in the next 8 days, at the highest priority, delivered regardless of cloud cover", "recurring order series over the same location on a repeating cadence", "free feasibility check before ordering (usually under a minute)", "price check before placing an order, including licence-level and catalog-withhold add-ons", "track, modify or cancel orders; order-status webhooks", "Primary (all frames, radiometrically corrected) and Surface Brightness Temperature (orthorectified, in kelvin) products", "heat signatures of industrial sites, buildings and activity, day or night"]}, "pricing": {"model": "per tasked scene, at prices set in each contract (GBP or EUR), plus percentage uplifts for licence level and catalog withhold", "from_usd": 0, "unit": "per tasked scene (price not published)", "notes": "from_usd 0 means not published, not free. Each contract has its own product prices and a credit limit. The price endpoint returns base, add-on and total amounts in minor currency units before you order. SatVu's documented example contract shows licence uplifts of 0% (Evaluation), 50% (single entity) and 100% (2-5 entities), and a 30% uplift for a 7-day catalog withhold. Contracts can carry a minimum purchase per term. SatVu says SkyFi also sells its imagery with published pricing and no long-term contract."}, "latency": {"typical": "Capture within your window (Standard, at least 7 days) or chosen pass (Assured, next 8 days), then delivery within 72 hours of capture, 95% of the time", "notes": "Feasibility usually returns in under a minute and is not a capture guarantee. Standard orders are delivered only when their parameters are met; SatVu retries at later opportunities and guarantees no minimum capture rate. The capture-to-delivery target comes from SatVu's preliminary Tasking Terms of Service v1.0 (May 2026)."}, "coverage": {"regions": ["Global (any point on Earth, subject to satellite passes and your contract's geographical access)"], "notes": "Point targets only. A scene is about 3.5 x 4.5 km at nadir, and an order is fulfilled only if a 1 km radius around the point is fully in the scene. Each contract sets its geographical access, either global or a region. Cloud blocks thermal infrared; Standard orders set a cloud-cover limit, Assured orders do not. One satellite is operational today: HotSat-2 has been in commercial operation since June 2026. HotSat-3 launched in October 2026 and is being commissioned; SatVu says two satellites will give a 1-2 day revisit anywhere, and up to 12 a day at northern latitudes. SkyFi's announcement on SatVu's site says HotSat-3 tasking is expected in early 2027. HotSat-1 suffered an anomaly in December 2023.", "areas": ["*"]}, "licensing": {"summary": "SatVu's EULA (22 July 2026) grants a non-exclusive, non-transferable licence. Products are 'licenced, not sold' and SatVu keeps the IP. You choose a licence level per order. Commercial levels are single organisation, 2-5 entities, more than 5 entities, or public release. They allow internal non-commercial use, plus small web extracts with no georeferencing, at most 2048 x 2048 px and attributed '(c) [YEAR] SatVu'. Clause 3.1.3 bans selling or supplying imagery or derivatives to third parties beyond your licence level; reselling needs a separate reseller contract. Data Derivatives (contain no imagery and are irreversible) and algorithms you develop with the products stay yours (clause 10.3), but commercial use must be disclosed to SatVu first. The EULA does not mention AI or machine-learning training by buyers.", "resale": "forbidden", "buyer_owns_output": false}, "freshness": {"mode": "on_demand", "typical_age": "New capture after ordering; delivered within 72 hours of capture (95%)", "notes": "SatVu also sells a catalog of past captures, including other customers' tasking orders after any withhold period. irlpls lists SatVu for new tasked captures."}, "api": {"available": true, "docs_url": "https://docs.satellitevu.com/developers/api/overview", "base_url": "https://api.satellitevu.com/otm/v2", "auth": [{"type": "oauth2", "header": "Authorization", "env_var": "SATVU_CLIENT_ID", "how_to_get": "OAuth2 client credentials: copy the Client ID and Client Secret from your user profile in the SatVu web app, then POST grant_type=client_credentials with audience https://api.satellitevu.com/ to https://auth.satellitevu.com/oauth/token. Send the result as 'Authorization: Bearer <token>'; tokens last 60 minutes. You only get an account after SatVu sets up a contract with your organisation.", "dynamic_registration": false, "transport": "rest"}], "endpoints": [{"action": "quote", "method": "POST", "path": "/{contract_id}/tasking/feasibilities/", "notes": "Feasibility request: free and places no order. Statuses: pending, processing, failed, feasible, not feasible. For Assured orders, GET /{contract_id}/tasking/feasibilities/{id}/response returns the available passes, each with the signature used to order it."}, {"action": "quote", "method": "POST", "path": "/{contract_id}/tasking/price/", "notes": "Price for the order parameters plus licence_level and addon:withhold. Returns base, add-on and total amounts in minor units. Standard orders use the same payload as feasibility and order."}, {"action": "order", "method": "POST", "path": "/{contract_id}/tasking/orders/", "notes": "Places a Standard or Assured tasking order; the price is deducted from the contract credit limit. No idempotency key is documented. Recurring series: POST /{contract_id}/tasking/series/. Cancel while staged: POST /{contract_id}/tasking/orders/{order_id}/cancel."}, {"action": "status", "method": "GET", "path": "/{contract_id}/tasking/orders/{order_id}", "notes": "Order statuses: staged, in progress, fulfilled, failed, cancelled, expired, with status_history. Task attempts: GET .../tasks. Webhook topic tasking:order_status (Standard Webhooks, signed)."}, {"action": "list", "method": "GET", "path": "/{contract_id}/tasking/orders/"}, {"action": "search", "method": "POST", "path": "/{contract_id}/search/", "notes": "Searches your own orders and feasibility requests, e.g. by intersecting geometry. Archive search is a separate STAC Catalog API."}, {"action": "fetch", "method": "GET", "path": "/{contract_id}/tasking/orders/{order_id}/download", "notes": "Returns a link to a .zip of the delivered data once the order is fulfilled: Cloud Optimized GeoTIFFs, STAC JSON metadata, UDM and PNG previews."}], "sdk": "satvu (PyPI, Python 3.10+), version 0.12.0", "rate_limits": "Not published.", "self_serve": false, "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "SatVu has no entry in the official MCP Registry. SatVu tasking can also be ordered through SkyFi's MCP server (see the skyfi card)."}, "notes": "Public OpenAPI file: https://api.satellitevu.com/otm/v2/openapi.json. The authorization server is https://auth.satellitevu.com, which publishes metadata at /.well-known/oauth-authorization-server and /.well-known/openid-configuration. It has no registration endpoint, and the API publishes no protected-resource metadata. A separate integration contract returns simulated 'NotSat' data free of charge for testing. Other APIs: Policy (/policy/v1, list contracts), Wallet (credit balance), ID (webhooks), Catalog (STAC), Orders (catalog orders), Reseller."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "contract"}, "payment": {"methods": ["invoice"], "agent_can_pay": true, "prepaid": false, "notes": "An API order is charged to the contract's credit limit with no checkout step, so an agent holding the credentials can buy within that limit. SatVu invoices a tasking order only after it delivers data that meets the order's parameters. Invoices are due in 30 days unless the contract says otherwise, paid by ACH, wire or similar; no cheques. Cancelling a staged order is free."}, "capture": {"by": "devices"}, "requester": {"checks": "Organisations sign an agreement and pass KYC before they get platform access. Resellers must register each end-user organisation (name, company, country) for KYC before ordering for it; most approvals take about 5 minutes, some 1-3 business days. The EULA forbids giving access to people or organisations from, or controlled from, China, Russia, Syria, Belarus, North Korea or Iran.", "unknown": "What the direct-customer KYC checks is not published, and no screening of individual targets or purposes is documented."}, "verification": {"human": {"level": "none", "unknown": "Captured by SatVu satellites, not people."}, "application": {"level": "none", "unknown": "Delivered files carry STAC metadata but no published signature or checksum, so tampering after delivery cannot be detected. Only webhook notifications are signed. The order 'signature' field is an HS256 feasibility token, not a data signature."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Captured by a HotSat mid-wave infrared (MCT) frame camera, as 'snap videos' of up to 25 frames in one second. The Primary product delivers every frame with its calibration parameters. Sensor origin is SatVu's own statement; it is not signed or C2PA-attested."}, "time": {"level": "claimed", "method": "Each frame carries an acquisition-start timestamp in the frame index file and STAC metadata. The order API gives acquisition details and a timestamped status history.", "unknown": "Timestamps are set by SatVu and not signed or independently time-stamped."}, "location": {"level": "claimed", "method": "Georeferencing starts from onboard attitude and orbit (AOCS) telemetry and is refined with tie points against Sentinel-2 mosaics, then orthorectified on the Copernicus GLO-30 DEM. Stated accuracy is 15 m CE90 or better for Surface Brightness Temperature (0-30 degrees off-nadir), or 200 m CE90 when refinement fails. An order is fulfilled only if a 1 km circle around the target is inside the scene.", "unknown": "SatVu says its georeferencing accuracy was independently validated, but the Product Quality Assurance Report has not been published yet."}, "content": {"level": "claimed", "method": "At delivery SatVu checks that the capture meets the order: the target circle is in the scene and cloud cover is within the limit (every image is cloud-assessed, with a per-pixel quality mask).", "unknown": "Nothing is published for detecting altered imagery. Cloud classification is less accurate by day."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms individual captures. SatVu says its temperature calibration was checked against NOAA's VIIRS sensor, with results still to be published."}}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "\"Capture-to-Delivery: \u2264 72 hours, measured monthly at 95% performance.\" Standard orders \"require a minimum 7-day imaging window\" and must be placed \"\u2265 24 hours prior to TOI\"; Assured passes can be chosen \"only... for the next 8 days\". (source: SatVu Tasking Terms of Service PDF; the 72 h figure is not on the product pages)"}, "sources": [{"claim": "Standard tasking (target, timeframe, off-nadir, cloud cover, day/night) and Assured tasking (specific pass, higher priority); recurring series; price estimation; REST API and web app; tasking needs a contract with the tasking product", "url": "https://docs.satellitevu.com/guides/tasking/overview"}, {"claim": "Feasibility is free, places no order, usually takes under a minute, and is not a capture guarantee; statuses pending/processing/failed/feasible/not feasible; Assured feasibility is mandatory and limited to the next 8 days; not available for series", "url": "https://docs.satellitevu.com/guides/tasking/feasibility"}, {"claim": "Order parameters; Assured delivery guaranteed regardless of cloud; series; licence and withhold add-ons; order and task statuses; 1 km circle fulfilment rule; scene about 4.5 x 3.5 km; free cancellation while staged", "url": "https://docs.satellitevu.com/guides/tasking/order"}, {"claim": "Bearer tokens valid 60 minutes; Client ID/Secret from the user profile; contract ID in the URL path; base https://api.satellitevu.com/otm/v2/", "url": "https://docs.satellitevu.com/developers/key-principles"}, {"claim": "OAuth2 client_credentials token request to https://auth.satellitevu.com/oauth/token with audience https://api.satellitevu.com/; list of APIs (ID, Wallet, Policy, Catalog, Orders, Tasking, Reseller)", "url": "https://docs.satellitevu.com/developers/api/overview"}, {"claim": "Authorization server metadata: client_credentials and other grants, no registration endpoint", "url": "https://auth.satellitevu.com/.well-known/oauth-authorization-server"}, {"claim": "Tasking API OpenAPI: feasibility, price, order, status, list, search, download, series, outage endpoints; OrderStatus enum; Price in minor units; OpenID Connect security scheme", "url": "https://api.satellitevu.com/otm/v2/openapi.json"}, {"claim": "Standard tasking flow by API: feasibility, price with licence_level and addon:withhold, order, download link to a .zip", "url": "https://docs.satellitevu.com/developers/api/standard-tasking"}, {"claim": "Assured tasking flow: passes with signature from the feasibility response; order by signature", "url": "https://docs.satellitevu.com/developers/api/assured-tasking"}, {"claim": "Order status history, tasks endpoint, order search, modify and cancel endpoints", "url": "https://docs.satellitevu.com/developers/api/track-and-manage-tasking-orders"}, {"claim": "Access only after an agreement with SatVu; contract credit limit; tasking invoiced only after successful delivery matching requirements", "url": "https://docs.satellitevu.com/guides/account/accessing-the-satvu-platform"}, {"claim": "Contract parameters: credit limit, products, licence options, geographical access (global or a region), catalog withhold options", "url": "https://docs.satellitevu.com/guides/account/contract-restrictions"}, {"claim": "Example licence uplifts 0/50/100% and 7-day withhold uplift 30%; product currencies GBP/EUR; Policy API", "url": "https://docs.satellitevu.com/developers/api/contract-information"}, {"claim": "Webhooks follow Standard Webhooks, signed with a per-webhook secret; tasking:order_status topic", "url": "https://docs.satellitevu.com/guides/account/webhooks"}, {"claim": "Integration contract with simulated 'NotSat' data, not billed", "url": "https://docs.satellitevu.com/developer-guides/integration-environment"}, {"claim": "Reseller contracts; end-user KYC (name, company, country), usually about 5 minutes, sometimes 1-3 business days", "url": "https://docs.satellitevu.com/guides/resellers/reseller-overview"}, {"claim": "Python SDK 'satvu' on PyPI, Python 3.10+", "url": "https://docs.satellitevu.com/developers/python-sdk/overview"}, {"claim": "satvu SDK version 0.12.0", "url": "https://pypi.org/pypi/satvu/json"}, {"claim": "Capture-to-delivery within 72 hours at 95%; Standard window at least 7 days; orders at least 24 hours before TOI; 15 m / 200 m CE90; no minimum capture rate; Assured limited during the preliminary phase", "url": "https://cdn.prod.website-files.com/664e1cfdaf0f190ac9bb6e1e/6a0aff21befcf9b2884fd667_SatVu%20Tasking%20Terms%20of%20Service%20v1.0.pdf"}, {"claim": "Snap videos of up to 25 frames; per-frame timestamps; AOCS georeferencing refined with Sentinel-2 tie points; GLO-30 orthorectification; independent validation and VIIRS comparison with results to be published in a PQAR; tasking product table", "url": "https://cdn.prod.website-files.com/664e1cfdaf0f190ac9bb6e1e/6abb8384157c8e23961d35d5_SatVu%20Imagery%20Guide%20v2.3.pdf"}, {"claim": "Up to 3.5 m resolution, day and night; HotSat-2 commercially operational; HotSat-3 launched October 2026 and entering commercial operations shortly", "url": "https://www.satellitevu.com/"}, {"claim": "MWIR sensor, 15 m CE90, scene about 3.5 x 4.5 km, all imagery cloud-assessed; deliverables COG, STAC JSON metadata, UDM, PNG", "url": "https://www.satellitevu.com/products/thermal-imagery"}, {"claim": "Standard and Assured tasking; 'Contact Sales'; feasibility and price check before ordering", "url": "https://www.satellitevu.com/products/tasking"}, {"claim": "EULA: non-exclusive, non-transferable licence; licence levels; ban on selling or supplying to third parties beyond the licence level (3.1.3); products licensed not sold (10.1); Data Derivatives; restricted territories (3.2); API licence for your own interfaces", "url": "https://www.satellitevu.com/end-user-licence-agreement"}, {"claim": "Invoicing monthly or as agreed; payment within 30 days by ACH, wire or similar; minimum fees per term", "url": "https://www.satellitevu.com/terms-and-conditions"}, {"claim": "HotSat-2 launched March 30, 2026 on Transporter-16", "url": "https://www.satellitevu.com/news/satvu-set-to-revolutionise-earth-intelligence-with-the-successful-launch-of-their-hotsat-2-thermal-satellite"}, {"claim": "HotSat-2 Start of Commercial Operations, June 29, 2026", "url": "https://www.satellitevu.com/news/satvu-declares-hotsat-2-start-of-commercial-operations"}, {"claim": "HotSat-3 launched on Transporter-18 and entering commissioning; with two satellites, revisit every 1-2 days, up to 12 times a day at northern latitudes", "url": "https://www.satellitevu.com/news/satvu-launches-hotsat-3-doubling-constellation-capacity-and-advancing-high-resolution-thermal-intelligence-from-space"}, {"claim": "SkyFi sells SatVu archive and HotSat-2 Standard/Assured tasking with published pricing and no long-term contract, including through its MCP; HotSat-3 tasking expected early 2027", "url": "https://www.satellitevu.com/news/skyfi-integrates-satvu-to-deliver-high-resolution-thermal-satellite-imagery"}, {"claim": "HotSat-1 anomaly announced December 15, 2023", "url": "https://www.satellitevu.com/news/hotsat-1s-pathfinder-success-transforms-setback-into-opportunity-for-satvu"}, {"claim": "No SatVu server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=satvu"}, {"claim": "Assured tasking: the order signature is a feasibility token (JWT, HS256)", "url": "https://docs.satellitevu.com/developers/api/assured-tasking"}], "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "sensor-community", "name": "Sensor.Community", "status": "unclaimed", "provider_url": "https://sensor.community", "adapter": "sensor_community", "tags": ["air quality", "particulate matter", "pm2.5", "pm10", "temperature", "humidity", "air pressure", "noise", "citizen science", "low-cost sensor", "open data", "luftdaten", "near me", "europe", "free", "no key"], "summary": "Sensor.Community (formerly Luftdaten.info) is a contributor-driven global network of DIY, low-cost sensors that publishes open environmental data: particulate matter (PM10, PM2.5), temperature, humidity, air pressure and, from some stations, noise. About 17,000 sensors in 72 countries reported in the last 5 minutes on 2026-10-26, most of them in Europe. A keyless API returns every measurement of the last 5 minutes, filterable by radius, box, country or sensor type, plus 1-hour and 24-hour averages. It reports what volunteers' sensors already measure; it cannot place new sensors.", "short": "Citizen PM2.5/PM10, temperature, humidity and noise sensors in 70+ countries, last 5 minutes, no key.", "capabilities": {"modalities": ["sensor"], "tasks": ["particulate (PM10, PM2.5) readings near a point, in a box or by country", "temperature, humidity and air pressure near a point", "noise level (LAeq, min, max) where a DNMS noise sensor reports", "latest readings from one sensor by its API ID", "5-minute, 1-hour and 24-hour averages for every sensor", "filter by sensor type (e.g. SDS011, BME280)"]}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "Free: the API serves data by GET request with no credentials. No paid tier is offered; the project asks for donations."}, "latency": {"typical": "Last 5 minutes", "notes": "The filter and per-sensor endpoints return measurements from the last 5 minutes. The docs say data are not immediately available: an endpoint covering the last minute is updated every minute, and one covering the last 24 hours every 5 minutes. A probe returned readings 1 to 6 minutes old."}, "freshness": {"mode": "live", "typical_age": "Under 5 minutes", "notes": "Continuously reported by volunteers' sensors. A daily CSV archive also exists (archive.sensor.community), but it is history, not in scope."}, "coverage": {"regions": ["Global (dense in Europe)"], "notes": "Wherever volunteers have installed sensors. The all-sensors feed on 2026-10-26 held 17,291 sensors in 72 countries; Germany (6,792), the Netherlands (2,636), Poland, Bulgaria and Belgium had the most, and the US had 80. Outside Europe coverage is sparse."}, "licensing": {"summary": "The site footer licenses the database contents under the Open Data Commons Database Contents License (DbCL) 1.0, the firmware under GPL-3.0 and photos under CC0 1.0. DbCL grants a worldwide, royalty-free, perpetual copyright licence that 'explicitly include[s] commercial use' and sublicensing, on condition that you comply with the ODbL, which covers the database itself; the footer does not link the ODbL separately. Contents come 'as is' without warranty. No terms of use beyond these licences and a privacy notice were found, and nothing mentions AI training, resale or ownership."}, "verification": {"time": {"level": "claimed", "method": "The server sets the timestamp when it receives the data; the docs tell senders not to send a timestamp.", "unknown": "The timestamp is the server's receive time, not the sensor's measurement time, and nothing is signed. The feed gives no time zone; the probe values matched UTC."}, "location": {"level": "claimed", "method": "Each sensor's owner sets its location in the devices.sensor.community configuration site.", "unknown": "Self-reported by the volunteer and not checked. Records carry an exact_location flag: in a probe, flagged stations gave full-precision coordinates and the rest 3 decimals (about 100 m), but the flag's meaning is not documented. An indoor flag is also self-reported."}, "content": {"level": "claimed", "method": "Readings come from named low-cost sensor models (e.g. Nova Fitness SDS011, BME280, DHT22), reported as raw values.", "unknown": "Low-cost sensors with no calibration or quality control documented for the API, and no correction (e.g. for humidity) is stated."}, "human": {"level": "none", "unknown": "Volunteers register sensors with an account; no identity check is documented, and owners are not named in the data."}, "application": {"level": "none", "unknown": "The firmware is open source (GPL-3.0), but nothing attests that a device runs unmodified firmware, and data are pushed with only a sensor ID header."}, "camera": {"level": "none", "unknown": "Not a camera source."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms individual readings; neighbouring sensors can be compared by the user, but the provider documents no cross-check."}}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "API docs: '/airrohr/v1/filter/{query} - all measurements of the last 5 minutes filtered by query'; 'An endpoint covering data in the last minute is updated every minute.'"}, "capture": {"by": "contributors"}, "requester": {"checks": "None. The data endpoints need no account or key; the docs ask only for a User-Agent header that lets the operators contact the source of excessive requests.", "unknown": "Nothing is commissioned; nobody is sent to a place."}, "api": {"available": true, "self_serve": true, "docs_url": "https://github.com/opendata-stuttgart/meta/wiki/EN-APIs", "base_url": "https://data.sensor.community", "auth": [{"type": "none", "how_to_get": "No credentials. Send a User-Agent header that identifies you and lets the operators contact you (required since 2022-11-04)."}], "endpoints": [{"action": "search", "method": "GET", "path": "/airrohr/v1/filter/area={lat},{lon},{km}", "notes": "All measurements of the last 5 minutes within a radius in km."}, {"action": "search", "method": "GET", "path": "/airrohr/v1/filter/box={lat1},{lon1},{lat2},{lon2}", "notes": "All measurements of the last 5 minutes inside a bounding box."}, {"action": "search", "method": "GET", "path": "/airrohr/v1/filter/country={CC,CC}", "notes": "Comma-separated country codes. Filters can also be type={SDS011,BME280,...}."}, {"action": "fetch", "method": "GET", "path": "/airrohr/v1/sensor/{apiID}/", "notes": "Last 5 minutes for one sensor. Use the API ID shown on maps.sensor.community, not the chip ID."}, {"action": "list", "method": "GET", "path": "/static/v1/data.json", "notes": "All measurements of the last 5 minutes for all sensors (about 18 MB)."}, {"action": "list", "method": "GET", "path": "/static/v2/data.1h.json", "notes": "Per-sensor averages over the last hour. Also data.json (5 min), data.24h.json, data.dust.min.json and data.temp.min.json."}], "rate_limits": "No numeric limit published. The User-Agent is required so operators can contact the source of excessive requests.", "notes": "Use data.sensor.community for reading; api.sensor.community is optimised for receiving data and the docs say not to request data from it. The root of data.sensor.community returns 403, but the documented paths work.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No server in the official MCP Registry for sensor.community, luftdaten or airrohr (searched 2026-10-26)."}}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none"}, "payment": {"methods": [], "notes": "Free; no payment."}, "sources": [{"claim": "Keyless GET API; endpoints for last 5 minutes (area, box, country, type, sensor), v2 5-min/1h/24h averages; User-Agent required since 2022-11-04; update frequency; data.sensor.community for reading, not api.sensor.community; server sets timestamp; daily CSV archive", "url": "https://github.com/opendata-stuttgart/meta/wiki/EN-APIs"}, {"claim": "Live check: 71 records within 3 km of Berlin, 1 to 6 minutes old; SDS011, DHT22, BME280, BMP180 and DNMS noise sensors; exact_location 0 records with 3-decimal coordinates and exact_location 1 with full precision (2026-10-26)", "url": "https://data.sensor.community/airrohr/v1/filter/area=52.52,13.405,3"}, {"claim": "17,291 sensors in 72 countries reported in the last 5 minutes; per-country counts (2026-10-26)", "url": "https://data.sensor.community/static/v1/data.json"}, {"claim": "Contributor-driven global sensor network creating open environmental data; footer licences: firmware GPL-3.0, DB contents DbCL 1.0, photos CC0; donations", "url": "https://sensor.community/en/"}, {"claim": "DbCL 1.0 terms: worldwide royalty-free copyright licence including commercial use and sublicensing, conditional on ODbL compliance, as-is", "url": "https://opendatacommons.org/licenses/dbcl/1-0/"}, {"claim": "Only an imprint and privacy notice (last modified 2020-02-20); no terms of use", "url": "https://sensor.community/en/privacy-terms/"}, {"claim": "Sensor owners configure their sensor's location themselves after logging in", "url": "https://devices.sensor.community/"}, {"claim": "api.sensor.community serves only push-sensor-data and now endpoints", "url": "https://api.sensor.community/"}, {"claim": "No Sensor.Community MCP server in the official registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=sensor.community"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27"}, {"id": "shaip", "name": "Shaip", "provider_url": "https://www.shaip.com", "status": "unclaimed", "tags": ["training data", "custom collection", "image collection", "video collection", "egocentric video", "first-person video", "wearable", "mobile app", "consented", "crowd", "contributors", "managed service", "speech collection", "field collection"], "summary": "Managed AI training-data vendor whose contributors and in-house workforce capture custom image, video and speech datasets to a spec (subject, volume, locales, demographics, consent), using the Shaip Work app in the field or head-mounted rigs for first-person video. Every project is scoped and quoted by sales under a contract, starts with a pilot, and passes multi-stage QA before delivery.", "capabilities": {"modalities": ["photo", "video", "audio", "sensor"], "tasks": ["custom image collection to a spec (objects, people, faces, documents, food, landmarks, hand gestures), with documented participant releases", "custom egocentric (first-person) video with head-mounted or wearable rigs and full-body and hand motion tracking, in homes, kitchens, factories, warehouses, offices or outdoors", "custom speech and audio collection (scripted, spontaneous, dialogue, wake words) in 150+ languages and dialects", "on-site and field collection at a location you name, and capture on specific mobile devices or custom cameras", "multi-sensor and teleoperation capture for physical AI (depth, LiDAR, IMU, hand and eye tracking, GPS), time-synchronized", "field capture by taskers in the Shaip Work mobile app", "pilot batch before full collection; annotation of the collected data on request"]}, "pricing": {"model": "Custom quote after a scoping call", "from_usd": 0, "unit": "project (hours, clips or batch)", "notes": "from_usd 0 means not published. Shaip says there is no flat rate and it does not publish fixed rates. Image cost depends on volume, type, regions, metadata and consent; egocentric video on hours or clips, task complexity, environments, participant diversity and annotation depth; larger milestone-based programs are priced per batch. Quotes usually arrive within two business days."}, "latency": {"typical": "Weeks (pilot: weeks from signed brief to first batch)", "notes": "Shaip says typical physical-AI pilot timelines run in weeks from signed brief to first-batch delivery; studio and egocentric captures are faster, multi-sensor rigs slower. Quotes usually within two business days. One case study reports 10,000 valid hours of egocentric VR motion data from about 4,000 participants delivered in a single month."}, "coverage": {"regions": ["Global contributor network, 100+ countries (list not published)"], "notes": "Company figures: 500,000+ crowd-scale contributors, 10,000+ in-house workforce, 100+ countries, 150+ languages and dialects; 30K+ vetted egocentric collectors and 50 cities of egocentric coverage; one landmark project covered 40+ countries. Shaip names no countries, so availability in a specific city is not published."}, "licensing": {"summary": "Marketing pages say images are 'fully-consented' with 'documented participant releases', every egocentric clip is captured under signed commercial-use participant releases with a 'commercial-use license', de-identification is available, and datasets ship with an auditable provenance record. The public Terms of Service cover the website, plus a payments clause that refers to the platform; customer purchases are governed by a Master Services Agreement or Statement of Work that is not public. Buyer ownership, AI-training rights, resale and whether Shaip reuses delivered data are not stated publicly."}, "verification": {"human": {"level": "claimed", "method": "Contributors are described as a 'vetted' and 'credentialed' network plus a 10,000+ in-house workforce; participants sign releases.", "unknown": "How vetting works, whether identity is checked, and duplicate-account controls are not documented. The Shaip Work App Store listing tells contributors 'No special skill or experience required'."}, "application": {"level": "none", "unknown": "Field capture uses the Shaip Work app (web, iOS; the Android link on Shaip's site returns 404 on Google Play), but no app or device integrity checks are documented."}, "camera": {"level": "none", "unknown": "Automated checks for blurry images, faces and duplicate images are described, but nothing checks for gallery imports, re-captured screens or generated media. The platform page says taskers collect 'real-world or synthetic data'."}, "time": {"level": "none", "unknown": "Delivered with metadata and, for multi-sensor rigs, time-synchronized streams, but no trusted capture time is documented."}, "location": {"level": "none", "unknown": "The Shaip Work App Store privacy label says the app may collect precise location (developer's statement, not verified by Apple), but no geolocation check on delivered images or video is documented."}, "content": {"level": "claimed", "method": "Six Sigma stage-gate QA with multi-stage validation, gold tasks and compliance checks on every batch; AI-assisted checks (duplicate, blurry image, face, landmark, content moderation, diversity) before human review; accuracy, visibility and consistency checks with retakes for egocentric video.", "unknown": "Error rates and acceptance criteria are not published. Shaip says each dataset ships with an 'auditable provenance record'; its contents (consent records vs. per-file custody) are not published."}, "corroboration": {"level": "none", "unknown": "No independent cross-check of submissions is described."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "No API. Contact sales through the form on shaip.com ('Contact Us', 'Request a sample dataset'); work is placed under a Master Services Agreement or Statement of Work."}], "rate_limits": "Not applicable; ordering is through sales.", "mcp": {"remote": null, "registry_name": null, "notes": "No Shaip server in the official MCP Registry (searched 'shaip', 2026-10-26)."}, "notes": "No public API docs. shaip.com serves a Rank Math llms.txt (a page index only); every /.well-known/ path probed returns 410 Gone."}, "freshness": {"mode": "on_demand", "typical_age": "Captured for your project after scoping", "notes": "Shaip also sells off-the-shelf datasets and synthetic data; only the custom collection service is described here."}, "delivery": {"modes": ["commission"], "speed": "weeks", "basis": "Physical AI FAQ: 'Typical pilot timelines run in weeks from signed brief to first-batch delivery.'"}, "updated": "2026-10-28", "sources": [{"claim": "Custom image collection: subject, volume, locales, demographics, formats and consent; pilot; vetted global contributor network; Six Sigma QA with multi-stage validation, gold tasks and compliance checks; fully-consented sourcing with documented participant releases; no flat rate, custom quote; image types; landmark images from 40+ countries", "url": "https://www.shaip.com/offerings/image-data-collection/"}, {"claim": "Egocentric video: head-mounted/wearable rigs with full-body and hand motion tracking; 30K+ collectors, 100K+ clips, 50 cities; signed commercial-use releases, commercial-use license, de-identification; multi-stage QA with retakes; .mp4/.json/keypoint delivery; quote usually within two business days; pricing by hours/clips/complexity/environments, milestone programs per batch; 10,000 hours in a single month case study", "url": "https://www.shaip.com/offering/egocentric-video-data-collection/"}, {"claim": "Shaip Work: taskers collect real-world or synthetic data in the field with the Shaip mobile app; metadata at tasker/asset/subject level; QA teams with multi-level audits; Shaip Intelligence automated checks (duplicate, blurry image, face detection) before human validation", "url": "https://www.shaip.com/data-platform/"}, {"claim": "500,000+ contributors, 10,000+ in-house workforce, 100+ countries, 150+ languages; ShaipCloud app on web, Android and iOS; speech, on-site, field and device-specific collection; CCTV/surveillance video collection; no fixed rates published", "url": "https://www.shaip.com/data-collection/"}, {"claim": "Pilot timelines run in weeks from signed brief to first batch; sensor modalities (depth, LiDAR, IMU, hand and eye tracking, GPS); signed consent and auditable provenance record", "url": "https://www.shaip.com/physical-ai/"}, {"claim": "Website terms only; customer payments and refunds governed by the MSA or SOW, otherwise final and non-refundable; Shaip legal entities", "url": "https://www.shaip.com/terms-of-service/"}, {"claim": "Shaip Work app: 'No special skill or experience required'; privacy label lists precise location, photos or videos and audio data (developer's statement, not verified by Apple)", "url": "https://apps.apple.com/us/app/shaip-work/id6447959870"}, {"claim": "No Shaip server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=shaip"}, {"claim": "'every dataset ships with an auditable provenance record'", "url": "https://www.shaip.com/physical-ai/"}], "spec_version": "2026-10-26", "short": "A managed vendor whose contributors capture consented custom image, video and speech datasets to your spec.", "access": {"cost": "quote", "tested_live": null, "gate": "contract"}, "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "people"}, "payment": {"agent_can_pay": false, "notes": "No buyer payment method is published. The Terms of Service say customer payments and refunds are governed by the Master Services Agreement or Statement of Work, and are otherwise final and non-refundable."}, "requester": {"checks": "The sales contact form asks for name, email, phone, company and country; work proceeds only under a signed MSA or SOW.", "unknown": "No check of who a buyer is or what a commission is for is documented. Shaip also advertises CCTV and surveillance video collection, with no stated limits on person-targeting."}}, {"id": "skyfi", "name": "SkyFi", "status": "unclaimed", "provider_url": "https://skyfi.com", "tags": ["satellite", "satellite imagery", "aerial", "earth observation", "remote sensing", "tasking", "archive", "SAR", "multispectral", "optical", "thermal", "hyperspectral", "stereo", "basemap", "sentinel", "open data", "geotiff", "api", "webhooks", "global", "marketplace", "planet", "umbra", "vantor", "iceye", "satellogic", "mcp", "oauth"], "summary": "Self-serve marketplace that resells archive and newly tasked satellite and aerial imagery from many operators (Vantor, Planet, Umbra, ICEYE US, Satellogic, Sentinel open data and others) through one web app, a REST Platform API and a first-party remote MCP server (OAuth 2.1 with dynamic client registration), with per-km\u00b2 or per-scene pricing, validate-before-order price checks, webhooks and delivery to S3/GCS/Azure.", "capabilities": {"modalities": ["aerial", "video"], "tasks": ["search the existing imagery archive by AOI polygon, date, resolution, product type, provider, cloud cover and off-nadir angle", "order archive scenes (cropped to an AOI)", "task a new satellite capture over an AOI within a time window (DAY, NIGHT, VIDEO, MULTISPECTRAL, HYPERSPECTRAL, SAR, STEREO, THERMAL product types)", "feasibility / pass checks before tasking (Planet, Umbra, SatVu)", "free Sentinel-1/Sentinel-2 open data orders", "archive notifications to a webhook when new imagery matches a filter", "basemaps and tile streaming tokens", "run paid analytics (NDVI, NDWI, building, vessel and vehicle detection) on delivered imagery (MCP)"]}, "pricing": {"model": "pay per order, per km\u00b2 or per scene; no subscription or minimum spend", "from_usd": 5, "unit": "per km\u00b2 (optical archive, High resolution; smallest per-km\u00b2 imagery price stated besides $1/km\u00b2 basemaps)", "notes": "From skyfi.com/pricing: optical archive from $5/km\u00b2 and new optical tasking from $8/km\u00b2 (Vantor, Planet, Satellogic; 15 cm to 1 m); optical archive tops out at $100/km\u00b2 for Ultra High 7.5 cm aerial; SAR from $450/scene archive and $675/scene tasking (e.g. Umbra); 3D products (DSM/DTM/point clouds) from $7.50/km\u00b2; basemap mosaics from $1/km\u00b2; open data free; no subscriptions, contracts or minimum spend. The same page's summary cards say single archive image from $15, single tasking image from $200, aerial from $35, analytics from $5. Minimums: SkyFi's FAQ says minimum tasking area is 25 km\u00b2 and a 25 km\u00b2 tasking request starts at $200; Planet Select orders need a 25 km\u00b2 minimum AOI (from $6/km\u00b2 archive >30 days, $12/km\u00b2 flexible tasking). Archive minimums are per scene: each search result carries minSqKm/maxSqKm, priceForOneSquareKm and priceFullScene/fullSceneOnly. Exact prices come from the API (POST /pricing, /tasking/products, the */validate endpoints; MCP validate tools return estimatedCostCents). A 'full pricing sheet' download exists but was not read. Free accounts can place 1 open-data order per day and paid orders with a card on file; Pro accounts 5 open-data orders per day plus advanced billing (Pro price not found). The MCP connector itself is free. Check: the static pricing page shows only the per-image starting prices ($15 archive, $200 tasking, SAR $450, aerial $35); the per-km2 rates, the $675 SAR tasking figure and the 25 km2 minimum were not visible on it in a later check, so confirm them in the app or the pricing sheet."}, "latency": {"typical": "Archive: usually within 24 hours. Tasking: within 48 hours of capture, capture timing set by your tasking window", "notes": "Per the Platform API docs: 'Archival imagery order delivery is usually within 24 hours' and 'Tasking orders will deliver within 48 hours of image capture.' Archive results include a deliveryTimeHours field. The pricing page FAQ mentions a guaranteed 'Next Available Capture' tasking mode that 'delivers imagery within 24 hours regardless of weather' (which providers and terms apply was not found). Order status changes can be pushed to a webhook (2 s timeout, up to 3 retries)."}, "coverage": {"regions": ["Global (subject to each operator's archive and orbit coverage)"], "notes": "SkyFi says it aggregates 50+ provider partners and 300+ satellite and aerial sources (llms.txt; the pricing and API pages say 300+ sources) and serves users in 179 countries. In-app providers named on the pricing page: Vantor, Planet, ICEYE, Umbra, Satellogic, Vexcel, Pixxel, GEOSAT, IMPRO and SIIS. The API's provider enum also lists Sentinel-1/2 (Creodias), Urban Sky, NSL, BlackSky, SatVu and Constellr. AOIs must be simple convex WKT polygons, max 500 vertices; archive searches max 500,000 km\u00b2. Tasking offerings can be excluded with reason AOI_RESTRICTED (criteria unpublished). Actual availability per location and date depends on the underlying operator; Vantor imagery needs a separate EULA acceptance (else 403). The EULA bars making products available to embargoed or sanctioned countries, regions or parties under US export rules.", "areas": ["*"]}, "licensing": {"summary": "SkyFi EULA: limited, non-exclusive, non-transferable, revocable licence for the end user's own internal purposes; you may create value-added products (VAP) and derivative works, share with contractors under written terms, and post or print extracts for promotion only; products may not be resold, redistributed or shared, and only derivative works that contain no imagery data and are irreversible may be distributed. Imagery remains the satellite provider's property (EULA 4.1); markings must not be removed. The EULA does not address AI/ML training. The MCP Terms say imagery is 'licensed, not sold' and bar reselling or redistributing it except as the provider licence permits; some operators (e.g. Vantor) have their own EULA. On SkyFi's own use of your data: the main privacy notice says data submitted through its AI-based tools may be logged and, once anonymised, used in training models; the MCP privacy policy says it does not use personal information to train AI models.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Not applicable in the usual sense: captures are made by satellite/aircraft operators, not individual people; SkyFi documents no operator-level attestation."}, "application": {"level": "none", "unknown": "No public description of how SkyFi checks that delivered files are unmodified operator products; no signing or checksum scheme is documented in the API spec."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each archive record names provider, constellation, product type, resolution/GSD; pricing page lists sensor specs per satellite (e.g. WorldView-3 31 cm). Sensor identity is metadata asserted by the operator and passed through by SkyFi; no independent check documented. SkyFi was not found on the C2PA conforming products page."}, "time": {"level": "claimed", "method": "Archive records carry a captureTimestamp; tasking captures fall inside the requested window", "unknown": "How capture times are derived or validated is not documented by SkyFi; relies on operator metadata"}, "location": {"level": "claimed", "method": "Archive records include a footprint geometry; deliverables include GeoTIFF/COG", "unknown": "Georeferencing accuracy (CE90 etc.) per product was not found in SkyFi's public docs"}, "content": {"level": "none", "unknown": "No public method for detecting manipulated or synthetic imagery; cloud cover and off-nadir are reported per scene but are quality, not integrity, measures"}, "corroboration": {"level": "none", "unknown": "SkyFi does not document cross-checking one operator's capture against another; a buyer could compare multiple providers' archive scenes themselves"}}, "freshness": {"mode": "mixed", "typical_age": "Archive: whatever is in the catalog (filter by fromDate/toDate); tasking: captured after you order, inside your window, delivered within 48 h of capture", "notes": "Archive search covers existing imagery; tasking orders new captures. Notifications can alert a webhook when new archive imagery matching a filter arrives."}, "api": {"available": true, "docs_url": "https://app.skyfi.com/platform-api/redoc", "base_url": "https://app.skyfi.com/platform-api", "auth": [{"type": "oauth2", "resource_metadata": "https://mcp.skyfi.com/.well-known/oauth-protected-resource", "scopes": ["skyfi:read", "skyfi:write", "skyfi:order"], "dynamic_registration": true, "pkce": "S256", "transport": "mcp", "how_to_get": "Point an MCP client at https://mcp.skyfi.com/mcp; it registers itself (RFC 7591, /oauth/register) and the person signs in with a free SkyFi account and accepts the Terms. Public clients only (no secret); authorization_code and refresh_token grants. skyfi:order is needed to place orders. Dynamic client registration is deprecated by the MCP specification of 2026-07-28 in favour of Client ID Metadata Documents (CIMD); whether SkyFi accepts CIMD is not stated."}, {"type": "api_key_header", "header": "X-Skyfi-Api-Key", "env_var": "SKYFI_API_KEY", "how_to_get": "Sign up at app.skyfi.com; API keys are available to all accounts (including free) at app.skyfi.com/profile/api-keys-management. Paid orders need a credit card on the profile or advanced billing (api@skyfi.com)."}, {"type": "bearer", "how_to_get": "POST /auth/sign-in with identifier (email or username) and password returns an auth_context JWT and refresh token (OAuth2PasswordBearer in the OpenAPI spec)."}], "endpoints": [{"action": "search", "method": "POST", "path": "/archives", "params": "aoi (WKT polygon, required), fromDate, toDate, maxCloudCoveragePercent, maxOffNadirAngle, resolutions, productTypes, providers, openData, minOverlapRatio, pageSize", "notes": "Returns archive records with archiveId, captureTimestamp, footprint, cloudCoveragePercent, minSqKm/maxSqKm, priceForOneSquareKm, priceFullScene, deliveryTimeHours, thumbnailUrls. Continue with GET /archives?page=<nextPage>."}, {"action": "fetch", "method": "GET", "path": "/archives/{archive_id}", "notes": "Details for one archive image"}, {"action": "quote", "method": "POST", "path": "/pricing", "params": "aoi (optional)", "notes": "All product/resolution/provider options with pricing and constraints (described for tasking)"}, {"action": "list", "method": "POST", "path": "/tasking/products", "params": "all filters optional", "notes": "Taskable products with offerings: provider, optionId, pricing, capture timing, accepted AOI shapes; excludedReasons explains non-matches"}, {"action": "list", "method": "GET", "path": "/providers", "notes": "Providers by product type and resolution, with whether each supports tasking, archive or both"}, {"action": "quote", "method": "POST", "path": "/feasibility", "params": "aoi, productType, resolution, startDate, endDate (required); maxCloudCoveragePercent, priorityItem, requiredProvider (PLANET, UMBRA or SATVU), optionId", "notes": "Async; poll GET /feasibility/{feasibility_id}. Pass providerWindowId/providerMetadata into the tasking order to pin a pass."}, {"action": "quote", "method": "POST", "path": "/order-archive/validate", "params": "same body as /order-archive", "notes": "Returns estimated cost and resolved provider without creating an order"}, {"action": "quote", "method": "POST", "path": "/order-tasking/validate", "params": "same body as /order-tasking", "notes": "Returns estimated cost and resolved provider without creating an order"}, {"action": "order", "method": "POST", "path": "/order-archive", "params": "aoi, archiveId (required); deliveryDriver (S3/GS/AZURE), deliveryParams, webhookUrl, metadata, productParameters", "notes": "Charges the account"}, {"action": "order", "method": "POST", "path": "/order-tasking", "params": "aoi, windowStart, windowEnd, productType, resolution (required); priorityItem, maxCloudCoveragePercent, maxOffNadirAngle, requiredProvider, optionId, providerWindowId, SAR options, deliveryDriver, deliveryParams, webhookUrl", "notes": "New capture; charges the account"}, {"action": "list", "method": "GET", "path": "/orders", "params": "orderType, search, myOrders, pageNumber, pageSize", "notes": "Customer's orders"}, {"action": "status", "method": "GET", "path": "/orders/{order_id}", "notes": "Order with status history (CREATED ... PROVIDER_PENDING ... DELIVERY_COMPLETED / *_FAILED)"}, {"action": "fetch", "method": "GET", "path": "/orders/{order_id}/{deliverable_type}", "params": "deliverable_type: image, payload, cog, view-ready", "notes": "Redirects to a signed download URL"}], "sdk": "Remote MCP server at https://mcp.skyfi.com/mcp (Streamable HTTP, OAuth 2.1; validate-then-confirm order tools). No official client SDK found; the OpenAPI spec includes Python/JS request examples.", "rate_limits": "No request rate limit published in the OpenAPI spec or MCP docs; the MCP privacy policy says it enforces rate limits, and order endpoints can return 429 'An order limit was reached'. Documented quotas: open-data orders 1/day (free) or 5/day (Pro); AOI max 500 vertices; archive search AOI max 500,000 km\u00b2.", "self_serve": true, "mcp": {"remote": "https://mcp.skyfi.com/mcp", "registry_name": null, "auth": "OAuth 2.1: PKCE S256, dynamic client registration, scopes skyfi:read, skyfi:write, skyfi:order; sign in with a SkyFi account (no API key)", "first_party": true, "notes": "Not in the official MCP Registry (search=skyfi returns 0). Tools include skyfi_search_archive, skyfi_check_feasibility, skyfi_get_pricing, skyfi_validate_archive_order/skyfi_validate_tasking_order (no charge), skyfi_place_archive_order/skyfi_place_tasking_order (billable, confirm=True), skyfi_get_order, skyfi_download_deliverable and paid analytics."}, "notes": "No STAC in Platform API v2.0.0; deliverables image, payload, cog or view-ready via a signed redirect; no checksums. Swagger UI at /platform-api/docs. The OAuth flow is for the MCP server; the REST API uses the API key or a sign-in JWT."}, "adapter": "skyfi", "sources": [{"claim": "OpenAPI spec (v2.0.0): base path /platform-api, X-Skyfi-Api-Key header and OAuth2PasswordBearer sign-in, endpoint list and request fields, archive response fields, provider/product/payment-type enums, Stripe payment flag, delivery drivers, AOI limits, AOI_RESTRICTED reason, webhook statuses and retry policy, 429 order limit, delivery times (archive usually within 24 h, tasking within 48 h of capture), API keys for all accounts, free 1/day and Pro 5/day open-data orders, Vantor EULA 403", "url": "https://app.skyfi.com/platform-api/openapi.json"}, {"claim": "Human-readable API docs (Redoc)", "url": "https://app.skyfi.com/platform-api/redoc"}, {"claim": "Optical archive from $5/km\u00b2, tasking from $8/km\u00b2; SAR from $450/scene archive, $675/scene tasking; 3D from $7.50/km\u00b2; basemaps from $1/km\u00b2; up to $100/km\u00b2 for 7.5 cm aerial; no subscriptions or minimum spend; starting-at cards ($15 archive image, $200 tasking image, $35 aerial, $5 analytics); Planet Select 25 km\u00b2 minimum AOI and $6/$12 per km\u00b2; in-app provider list; 300+ sources; Next Available Capture within 24 hours", "url": "https://skyfi.com/en/pricing"}, {"claim": "Minimum tasking size 25 km\u00b2; a 25 km\u00b2 tasking request starts at $200", "url": "https://learn.skyfi.com/frequently-asked-questions-faqs/whats-the-minimum-order-size-for-skyfi/"}, {"claim": "50+ provider partners, 300+ satellite and aerial sources, users in 179 countries", "url": "https://skyfi.com/llms.txt"}, {"claim": "SkyFi MCP server at https://mcp.skyfi.com/mcp (Streamable HTTP), OAuth 2.1 public clients with PKCE S256, dynamic client registration at /oauth/register, scopes, tool names, validate-confirm-charge flow", "url": "https://mcp.skyfi.com/docs"}, {"claim": "MCP setup: endpoint URL, free SkyFi account, sign in and accept Terms", "url": "https://mcp.skyfi.com/how-to-setup"}, {"claim": "MCP is free, needs no API key, orders placed only after confirmation; designed for autonomous agents", "url": "https://skyfi.com/en/mcp"}, {"claim": "MCP Terms: the Service exposes ordering to AI agents acting on the user's behalf under OAuth scopes; charges to payment method or credits; imagery licensed not sold; no resale except as provider licence permits", "url": "https://mcp.skyfi.com/tos"}, {"claim": "MCP privacy: rate limits enforced; personal information not used to train AI models", "url": "https://mcp.skyfi.com/privacy"}, {"claim": "Protected-resource metadata: resource https://mcp.skyfi.com/mcp, scopes skyfi:read, skyfi:write, skyfi:order", "url": "https://mcp.skyfi.com/.well-known/oauth-protected-resource"}, {"claim": "Authorization-server metadata: registration_endpoint, S256 PKCE, token auth none, authorization_code and refresh_token grants", "url": "https://mcp.skyfi.com/.well-known/oauth-authorization-server"}, {"claim": "Not in the official MCP Registry (0 results)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=skyfi"}, {"claim": "EULA: limited non-transferable licence for internal purposes, no resale/redistribution, only irreversible derivative works without imagery may be distributed, satellite provider owns imagery, export/sanctions certification; no AI training clause", "url": "https://skyfi.com/en/end-user-license-agreement"}, {"claim": "Terms of Service: general use terms, payment by card on file, prohibition on automated tools accessing the Services (5(a)(xi))", "url": "https://skyfi.com/en/terms-of-service"}, {"claim": "Privacy notice: data submitted through AI-based tools may be logged and, once anonymised, used in training models", "url": "https://skyfi.com/en/privacy-policy"}, {"claim": "MCP Terms: ordering exposed to AI agents acting on the user's behalf; orders charge the account's payment method or credits", "url": "https://mcp.skyfi.com/tos"}, {"claim": "MCP specification 2026-07-28: dynamic client registration deprecated in favour of Client ID Metadata Documents", "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration"}], "updated": "2026-10-28", "delivery": {"modes": ["commission"], "speed": "days", "basis": "API docs: 'Tasking orders will deliver within 48 hours of image capture', with capture timing set by your tasking window; archive 'usually within 24 hours'. The pricing FAQ also names a 'Next Available Capture' mode that 'delivers imagery within 24 hours regardless of weather'."}, "short": "A self-serve marketplace for satellite imagery, including new captures on request.", "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none"}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}, "payment": {"methods": ["card", "prepaid_balance", "invoice"], "agent_rails": ["card_on_file_api"], "agent_can_pay": false, "notes": "Credit card on file (the API reports whether the customer has a valid Stripe payment method), organisation budget, per-member assigned budget with a per-order spending limit, user token balance/credits, or user/organisation invoice (PaymentType enum). No agent-native payment rail (x402, MPP, UCP/ACP checkout) found; MCP orders charge the account's payment method or credits after a validated price is confirmed."}, "account": {"agent_may_act": {"allowed": true, "source_url": "https://mcp.skyfi.com/tos"}}, "requester": {"checks": "The buyer signs in with a SkyFi account and, under EULA 3.1, certifies it is not on the US Consolidated Screening List or UN Security Council list and not 50%+ owned by OFAC-sanctioned parties; Vantor imagery also needs acceptance of Vantor's EULA.", "unknown": "Whether SkyFi screens buyers itself (identity or export checks) is not documented; tasking offerings can be excluded as AOI_RESTRICTED but the criteria are unpublished."}}, {"id": "skywatch", "name": "SkyWatch EarthCache", "adapter": "skywatch", "provider_url": "https://skywatch.com", "short": "One API to search and task satellite imagery from many providers.", "summary": "SkyWatch Space Applications (Canada) runs EarthCache, an aggregator of satellite, aerial and open imagery from many providers behind one REST API (api.skywatch.co/earthcache, x-api-key), a public keyless MCP endpoint for search and pricing, and a signed-in MCP server (mcp.skywatch.com, OAuth) that can place archive and tasking orders. Tasking orders (offering search, cost calculation, then a pipeline order) need a window of at least 7 days and are placed at least 2 days before start.", "tags": ["satellite", "aggregator", "earth observation", "tasking", "archive", "SAR", "optical", "aerial", "sentinel", "landsat", "api", "mcp", "oauth", "webhooks", "canada"], "capabilities": {"modalities": ["aerial", "video"], "tasks": ["search the imagery archive by polygon, date, cloud cover and resolution (REST, WebSocket, MCP)", "calculate price and probability of collection before ordering", "browse offerings and configurations for a location (search by partner, category archive or tasking)", "order archive imagery and create tasking orders (future captures, recurring interval of 7 days or more) as pipelines", "webhooks on pipeline events; AOI monitors; DirectView/WMTS tiles"]}, "pricing": {"model": "per km2 by offering and resolution; quoted by the price calculator", "from_usd": 0, "unit": "not published; use POST /price/calculate", "notes": "No public rate card found. Docs: tasking requires max_cost taken from the cost calculator; archive minimum AOI above 1 km2; Sentinel-2 is free; 'Orders are machine-to-machine, no refunds'."}, "latency": {"typical": "Tasking: order at least 2 days before start; minimum window 7 days", "notes": "Docs: 'Place taskings at least 2 days before start to allow provider scheduling/cancellation if needed'; cannot cancel within 48 hours of start; fulfilment treated as complete at about 80-85% AOI coverage. Delivery times per offering are not stated in the docs read."}, "coverage": {"regions": ["Global, subject to each provider's offerings"], "notes": "Docs: missing offerings mean 'access restrictions or provider constraints (territory, embargo, high/low demand regions)'. SAR, elevation and some Airbus/Planet configurations are 'Non-Standard' and need coordination with support before ordering.", "areas": ["*"]}, "licensing": {"summary": "No SkyWatch imagery licence or terms of service was found on skywatch.com or the docs site (the site footer lists only privacy and cookie policies). Imagery comes from third-party providers whose own licences presumably apply; SkyWatch's rights terms are not stated here. Resale, AI training and ownership are therefore left unstated."}, "verification": {"human": {"level": "none", "unknown": "Captured by satellites or aircraft of the underlying providers; no person is identity-checked."}, "application": {"level": "none", "unknown": "No attestation of delivered files is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). Offerings and search results carry provider and sensor metadata passed through from the operator."}, "time": {"level": "claimed", "unknown": "Search results carry capture timestamps from the provider; no independent check documented."}, "location": {"level": "claimed", "unknown": "Results have footprints and GeoTIFF outputs; georeferencing accuracy is not stated."}, "content": {"level": "none", "unknown": "No integrity or anti-manipulation method is documented."}, "corroboration": {"level": "none", "unknown": "No cross-provider checking is documented, though the MCP search has a compare_providers mode a buyer could use."}}, "freshness": {"mode": "mixed", "typical_age": "Archive: whatever exists; tasking: captured after you order inside a window of 7 days or more", "notes": "Archive search and tasking share one order API."}, "api": {"available": true, "self_serve": false, "docs_url": "https://docs.skywatch.com/docs/", "base_url": "https://api.skywatch.co/earthcache", "openapi_url": "https://docs.skywatch.com/openapi-spec.json", "auth": [{"type": "oauth2", "resource_metadata": "https://mcp.skywatch.com/.well-known/oauth-protected-resource", "scopes": ["offline_access"], "dynamic_registration": false, "pkce": "S256", "transport": "mcp", "how_to_get": "Add https://mcp.skywatch.com/mcp to an MCP client and sign in with a SkyWatch Explore (free, self-service) or Hub account. The authorization server advertises client_id_metadata_document_supported, public clients (token auth none) and S256 PKCE, but no registration_endpoint, so an agent cannot self-register by RFC 7591. Explore accounts can order archive imagery and standard tasking; the assistant shows price and asks to confirm before ordering."}, {"type": "api_key_header", "header": "x-api-key", "env_var": "SKYWATCH_API_KEY", "how_to_get": "Log in to a SkyWatch Hub account, open account settings and copy the API key (no 'Bearer' prefix). Hub accounts are by invitation from an organisation admin per the MCP docs."}, {"type": "none", "how_to_get": "Public MCP v1 endpoint https://api.skywatch.co/mcp needs no account: search_archive_imagery, calculate_pricing, get_satellites, get_offerings only."}], "endpoints": [{"action": "search", "method": "POST", "path": "/archive/search", "notes": "Results at GET /archive/search/{id}/search_results; WebSocket alternative"}, {"action": "list", "method": "POST", "path": "/products/offerings/search/", "params": "location (required), resolution_low, resolution_high, product_name, partner_name, category archive|tasking"}, {"action": "quote", "method": "POST", "path": "/price/calculate", "params": "resolution, location, start_date, end_date, interval, product.configuration.offering_id"}, {"action": "order", "method": "POST", "path": "/pipelines", "params": "name, future dates, max_cost from calculator, interval >= 7d, aoi, output geotiff, product.configuration.offering_id", "notes": "Creates archive or tasking orders"}, {"action": "status", "method": "GET", "path": "/pipelines/{id}", "notes": "Interval results at /pipelines/{id}/interval_results"}, {"action": "fetch", "method": "GET", "path": "/outputs/{id}"}, {"action": "list", "method": "GET", "path": "/pipelines"}], "rate_limits": "Not stated in the docs read (limits-errors page covers geometry and cost rules only).", "mcp": {"remote": "https://mcp.skywatch.com/mcp", "registry_name": null, "auth": "OAuth sign-in with a SkyWatch account, S256 PKCE, scope offline_access, no dynamic registration endpoint advertised", "first_party": true, "notes": "Not in the official MCP Registry (search=skywatch returned 0). Unsigned: 5 tools. Explore accounts: 24 tools including ordering. The older public server at https://api.skywatch.co/mcp answered a JSON-RPC initialize without credentials (server skywatch-mcp-server 1.0.0)."}, "notes": "Constraints from llms.txt: single polygon only, max 500 vertices recommended, tasking output geotiff with mosaic unstitched, min_aoi_coverage_percentage typically 85 or less."}, "delivery": {"modes": ["commission"], "speed": "weeks", "basis": "Docs: 'Minimum interval: 7 days' and 'Place orders at least 2 days before start'."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "gate": "approval"}, "capture": {"by": "devices"}, "payment": {"methods": ["card", "invoice"], "agent_can_pay": false, "notes": "Docs list a payment-methods API and budgets per project, and the MCP says orders charge the account after a confirmed price; the actual methods (card, invoice, credits) were not itemised in the pages read, so this list is the Hub/Explore norm, not verified."}, "requester": {"checks": "Account sign-in; Hub roles Reader, Creator and SuperAdmin decide who can order; SuperAdmin approves orders waiting for approval.", "unknown": "Whether SkyWatch screens buyers (identity, sanctions, end use) is not documented in the pages read."}, "providers": [{"name": "SkyWatch Space Applications Inc.", "roles": ["reseller"], "url": "https://skywatch.com"}], "sources": [{"claim": "Base URL, x-api-key auth, categories, constraints (tasking min interval 7 days, order 2 days ahead, cannot cancel within 48 h), servers", "url": "https://docs.skywatch.com/llms.txt"}, {"claim": "OpenAPI 3.1 paths, servers, x-api-key and Bearer JWT schemes", "url": "https://docs.skywatch.com/openapi-spec.json"}, {"claim": "MCP manifest v1.7", "url": "https://docs.skywatch.com/.well-known/mcp.json"}, {"claim": "API key from Hub account settings", "url": "https://docs.skywatch.com/docs/general/api-authentication"}, {"claim": "Tasking workflow: offerings search, cost calculation, POST /earthcache/pipelines", "url": "https://docs.skywatch.com/docs/tasking/tasking-workflow"}, {"claim": "Offerings search and Standard vs Non-Standard offerings", "url": "https://docs.skywatch.com/docs/products/offerings-and-configs"}, {"claim": "Price calculation, max_cost required for tasking", "url": "https://docs.skywatch.com/docs/pricing/pricing"}, {"claim": "Limits: single polygon, tasking max_cost must match", "url": "https://docs.skywatch.com/docs/limits-errors"}, {"claim": "MCP v2.0: sign-in, Explore vs Hub abilities, confirm before order, tools", "url": "https://docs.skywatch.com/docs/mcp/setup-guide"}, {"claim": "Public MCP v1 at api.skywatch.co/mcp, no key, search/pricing tools", "url": "https://docs.skywatch.com/docs/mcp/mcp-server"}, {"claim": "Protected-resource metadata for mcp.skywatch.com", "url": "https://mcp.skywatch.com/.well-known/oauth-protected-resource"}, {"claim": "Authorization-server metadata: S256, CIMD supported, no registration_endpoint", "url": "https://mcp.skywatch.com/.well-known/oauth-authorization-server"}, {"claim": "Not in MCP Registry (0 results)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=skywatch"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "status": "unclaimed", "updated": "2026-10-28", "expires": "2027-10-27"}, {"id": "snappr", "name": "Snappr", "provider_url": "https://www.snappr.com", "status": "unclaimed", "short": "Book a vetted professional photographer or videographer to a location; images back via API.", "summary": "On-demand professional photo and video shoots by independent-contractor photographers matched by Snappr. Enterprise customers can check coverage and availability, book a shoot by lat/lng or address, and fetch the delivered images and videos through a REST API with an OpenAPI 3.1 description, a sandbox and webhooks. The same API also runs editing jobs and AI-generated 'Magic' menu images, which are not new captures.", "tags": ["photography", "videography", "on-demand", "professional", "real estate", "storefront", "restaurant menu", "automotive", "video"], "capabilities": {"modalities": ["photo", "video"], "tasks": ["on-location photoshoot", "on-location video shoot", "real estate listing photos and virtual tours", "storefront/menu photos", "automotive listing photos and 360 walkarounds", "e-commerce product photos", "headshots and portraits", "event coverage", "image editing jobs"]}, "pricing": {"model": "per shoot; API bookings draw down prepaid credits", "from_usd": 0, "unit": "shoot", "notes": "Pay as you go: free, 15% service fee per shoot; Pro (USA only) $49/yr (limited time, list $99), 9% fee; Enterprise: custom pricing, annual contract with credits, no service fee, unused credits roll over monthly. Per-shoot rates are shown only in the booking flow; the /shoots page says 'Fixed prices from less than $100' without a figure. Terms: one Credit costs $1.00 USD (Pro credits). Each API booking returns the credits charged. from_usd 0 means not published."}, "latency": {"typical": "gallery typically within 48 hours of the shoot (events up to 72)", "notes": "Shoot time is booked via GET /availability; on-demand shoots can be booked 'with as little as 2 hours notice' (/shoots page). Enterprise turnaround is set per program, standard 48 hours after the shoot."}, "coverage": {"regions": ["US", "CA", "AU", "NZ", "GB", "EU", "SG"], "notes": "FAQ: instant booking across the US, Australia, Canada, the UK, the EU, Singapore and New Zealand, covering ~90% of the population in those markets; shoots also possible in parts of the Philippines and Israel. Enterprise: 'Worldwide', by scaling the creator network to a program's countries and metros. Areas list the instant-booking markets (EU = its 27 member states); PH, IL and enterprise 'worldwide' are partial or by arrangement. GET /coverage answers per location and shoot type.", "areas": ["US", "CA", "AU", "NZ", "GB", "SG", "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE"]}, "licensing": {"summary": "FAQ: customers 'retain full rights to the delivered content and may use the images and videos however you choose'. Terms (last updated July 31, 2026): photographers assign all Photograph Content and IP to Snappr; on full payment Snappr assigns the content in 'Purchased Prints' to the customer, and anything not purchased stays Snappr's. Customers grant Snappr a perpetual, irrevocable, sublicensable licence to use the photos for marketing and advertising, and 'Snappr may use all Photograph Content distributed via the Platform to train, develop, and improve Snappr's machine learning algorithms and artificial intelligence systems.' Customer AI-training and resale rights are not named; treat as unstated. Enterprise contracts may differ and are not public.", "buyer_owns_output": true, "vendor_trains_on_data": "yes"}, "verification": {"human": {"level": "claimed", "method": "FAQ: every creator passes multi-step vetting (portfolio, experience, equipment, reliability) and is rated per shoot. Terms: photographers must consent to a third-party background check (e.g. Checkr) before activation. Assigned photographer's name and id are returned on each booking.", "evidence_url": "https://www.snappr.com/terms", "unknown": "The Terms contradict themselves: one section requires a background check, another says Snappr 'may, but is not required to, conduct background checks on Photographers'. Snappr may also swap the photographer after booking. No public proof of who was on site."}, "application": {"level": "none", "unknown": "Photographers use their own professional cameras; no capture app or device attestation is described."}, "camera": {"level": "none", "unknown": "Deliverables are edited JPEGs (RAW optional for Enterprise). Editing services include object removal, retouching, virtual staging and sky/lawn replacement, and Snappr also sells AI image generation, so delivered pixels may be altered. No sensor provenance or C2PA; Snappr is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "The API exposes the booked start_at and record created_at/updated_at, not per-image capture time."}, "location": {"level": "none", "unknown": "Booking lat/lng is the requested place, not a verified capture location; image objects carry no coordinates."}, "content": {"level": "claimed", "method": "On-demand: each project gets a quality review against the shoot brief. Enterprise: every asset reviewed by automated workflows plus human QC against the client's style guide and shot list; flagged shots re-edited or re-shot.", "evidence_url": "https://www.snappr.com/faq", "unknown": "On-demand galleries edited by the photographer 'may not undergo our standard quality-control review'. QC criteria are not public."}, "corroboration": {"level": "none", "unknown": "None described."}}, "api": {"available": true, "docs_url": "https://docs.snappr.com/", "base_url": "https://api.snappr.com", "auth": [{"type": "bearer", "header": "Authorization", "env_var": "SNAPPR_API_KEY", "how_to_get": "Snappr for Enterprise customers only; get or regenerate the key in the Snappr portal (one active key per user). Sandbox https://sandbox.snappr.com uses a separate sandbox key and returns dummy data. Optional header accept-version: 1.0.0 (the only version)."}], "endpoints": [{"action": "search", "method": "GET", "path": "/coverage", "params": "latitude+longitude or address; shoottype (required); creator_id", "notes": "Boolean coverage for a place and shoot type, independent of date."}, {"action": "search", "method": "GET", "path": "/availability", "params": "latitude+longitude or address; shoottype, duration (minutes), date (required); days_span (1-50); creator_id", "notes": "Available start times, returned in UTC."}, {"action": "list", "method": "GET", "path": "/shoottypes", "notes": "Shoot type names for the shoottype parameter."}, {"action": "order", "method": "POST", "path": "/bookings", "params": "latitude+longitude or address, shoottype, start_at (UTC, or null to let the end-customer pick via scheduling_url), duration, customer_firstname, customer_email, customer_mobilephone (required); title, location_notes, style_notes, customer_surname, customer_company, internal_id, creator_id, tags", "notes": "Charges credits immediately (402 InsufficientCredits if the balance is short). 400 NotAvailable/NoCoverage if no photographer. No idempotency key documented; internal_id can tag bookings."}, {"action": "list", "method": "GET", "path": "/bookings", "params": "limit, offset, status"}, {"action": "status", "method": "GET", "path": "/bookings/{booking_uid}", "notes": "status e.g. paid, paid_pending_schedule, completed, cancelled; credits charged; assigned creator."}, {"action": "fetch", "method": "GET", "path": "/bookings/{booking_uid}/images", "params": "limit, offset", "notes": "Signed url_original and url_thumb per image."}, {"action": "fetch", "method": "GET", "path": "/bookings/{booking_uid}/videos", "params": "limit, offset", "notes": "Signed url_original per video."}], "rate_limits": "1,000 requests per minute per API key (OpenAPI RateLimit response); 429 on excess, respect X-RateLimit-Remaining.", "self_serve": false, "mcp": {"remote": null, "registry_name": null, "notes": "No entry in the official MCP Registry (searched 2026-10-26)."}, "notes": "OpenAPI 3.1: https://docs.snappr.com/openapi.json. Webhooks (set in the portal) POST on booking creation and update and on Magic Job images_delivered. Also: /editing-jobs (beta) and /magic-jobs (AI-generated menu images from a restaurant's listing, not captures), each with /images, plus /presets and /editing-job-types. The Terms ban data mining, robots and scraping of the site, so automation is allowed only through the Enterprise API, which is the sanctioned channel. Ownership passes to the customer only on full payment, for purchased content."}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "FAQ: gallery 'typically within 48 hours after any shoot type other than events. Event photoshoots may take up to 72 hours'; Enterprise standard turnaround 48 hours after the shoot."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "enterprise", "rate_limit": {"requests": 1000, "per_seconds": 60, "scope": "per-key", "notes": "429 on excess; respect X-RateLimit-Remaining.", "source_url": "https://docs.snappr.com/openapi.json"}}, "payment": {"methods": ["card", "prepaid_balance"], "agent_can_pay": true, "prepaid": true, "notes": "On-demand: card, debit card or bank account at booking; payments are final and non-refundable except as stated. Pro members can buy Credits ($1.00 each). Enterprise: annual contract with credits; each API booking deducts credits from the prepaid balance, so an agent can pay within the balance, but top-ups happen only in the portal."}, "capture": {"by": "people"}, "requester": {"checks": "Account registration with true, accurate information; under-13s barred and under-18s need a parent's approval. API access only on an Enterprise contract, after a demo with sales. Each API booking names an end-customer with email and mobile phone.", "unknown": "No identity verification or review of what is being photographed is documented for requesters."}, "updated": "2026-10-27", "sources": [{"claim": "API, endpoints, parameters, auth, sandbox, credits, webhooks, errors, Enterprise-only, Magic and editing jobs", "url": "https://docs.snappr.com/"}, {"claim": "OpenAPI 3.1 description: servers, bearer auth, sandbox key, booking statuses, days_span, rate limit 1,000/min per key", "url": "https://docs.snappr.com/openapi.json"}, {"claim": "Tiers and fees, Enterprise API access, credit rollover", "url": "https://www.snappr.com/tiers"}, {"claim": "Regions, turnaround, vetting, QC and its on-demand exception, editing services, formats, customer rights", "url": "https://www.snappr.com/faq"}, {"claim": "IP assignment and transfer of Purchased Prints, marketing licence, ML/AI training, background checks (required and optional), Credits at $1, payment methods, registration, scraping ban", "url": "https://www.snappr.com/terms"}, {"claim": "Fixed prices from less than $100, booking with 2 hours notice, 48-hour delivery", "url": "https://www.snappr.com/shoots"}, {"claim": "Upfront pricing in the booking flow, video shoots, 48-72 hour galleries", "url": "https://www.snappr.com/pay-as-you-go"}, {"claim": "No MCP Registry entry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=snappr"}, {"claim": "Not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "adapter": "snappr"}, {"id": "spexi", "name": "Spexi", "provider_url": "https://www.spexi.com", "status": "unclaimed", "tags": ["drone", "aerial", "oblique", "orthomosaic", "panorama", "tasking", "pilot network", "layerdrone", "property", "insurance", "construction", "north america", "us", "canada", "api", "h3"], "summary": "Drone imagery company whose pilots fly standardized, app-automated missions over H3 hexagon zones with sub-250 g DJI Mini drones. Its Developer API searches existing drone imagery and, through a Tasking API, orders new captures (images, panoramas, orthomosaics) of a polygon or set of zones, tracked per product from submission to delivery.", "capabilities": {"modalities": ["aerial", "photo"], "tasks": ["new drone capture of an area (tasking)", "oblique and nadir drone images", "panoramas", "orthomosaics (standard, or aligned to customer ground control)", "search existing drone imagery by point, bbox or polygon", "coverage lookup by H3 zone"]}, "pricing": {"model": "quote / contract; reseller list price per km2 for tasked ortho", "from_usd": 450, "unit": "km2 of tasked Spexi-Ortho (3 cm) via SkyWatch, minimum order 0.5 km2", "notes": "Spexi does not publish prices on its own site or API docs; new-capture requests are 'typically linked to your service agreement', and Charges are set in an Order Form (rising 5% at each 12-month renewal). The $450/km2 figure is SkyWatch's indicative reseller rate for Spexi-Ortho tasking as of June 2026, not a direct Spexi price. A free-trial account exists with a limited image-search quota and view-only rights."}, "latency": {"typical": "Hours to weeks depending on area size (provider: 'typically delivers datasets as small as 25 acres, and as big as full cities in hours to weeks'; fastest to date 11 hours). Homepage: 'days, not months'.", "notes": "No SLA for capture time. Orders pass through review, feasibility check (site access, airspace, terrain), customer confirmation, planning, capture, processing and QA. Spexi decides flight timing; preferred capture windows are honoured where possible but 'cannot be guaranteed due to weather and operational conditions'. The Data Terms note collection timelines may be affected by adverse weather."}, "coverage": {"regions": ["US", "Canada"], "notes": "Pilots must be located in the United States or Canada; API docs describe 'high-resolution aerial coverage across North America', and Spexi's location pages list only US and Canadian cities. Archive of 6.5M+ acres (company claim). Restricted airspace may be unfulfillable or need exemptions. Per-area fill rates are not published; coverage endpoints show existing coverage only.", "areas": ["US", "CA"]}, "licensing": {"summary": "Spexi Data Terms (updated 2025-12-03): a paid Order grants a non-exclusive, worldwide licence for the Term to copy, store, edit and make derivative works for the customer's internal business purposes. The customer must not publish, sell, license, sub-license or redistribute the Content, and must not use it to compete with Spexi or to train, verify or test AI systems that compete with Spexi's services. All Content, including bespoke captures the customer ordered, stays owned by Spexi, and access ends at termination. Free-trial users may only view. Other AI training is not addressed, so treat it as not granted.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "claimed", "method": "Pilots apply with an onboarding quiz and their Part 107 certificate number where required (US); Canadian sub-250 g pilots need no certificate. Pilots must be in the US or Canada and represent they hold the licences required; Spexi 'reserves the right to verify your eligibility'.", "evidence_url": "https://www.spexi.com/blog/the-spexi-network-pilot-eligibility-compatible-drones", "unknown": "Whether Spexi actually checks certificate numbers or pilot identity; no public record of pilot vetting"}, "application": {"level": "claimed", "method": "Missions are flown through the Spexi App, which runs an automated, standardized flight; uploads are matched server-side to the app's flight record before a capture is marked 'verified' (a flight-record match, not attestation).", "evidence_url": "https://docs.spexi.com/fly-and-earn/after-you-fly.md", "unknown": "Images are copied manually from the drone's SD card and uploaded via the Spexi Explorer, so the matching method's resistance to substituted files is not documented. No C2PA signing documented; Spexi is not on the C2PA Conforming Products List"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Only supported DJI Mini 2/3/3 Pro/4 Pro drones with phone-based controllers; images delivered as JPEG with EXIF. Whether images are signed or tamper-evident; no C2PA signing documented and neither Spexi nor DJI is on the C2PA Conforming Products List"}, "time": {"level": "claimed", "method": "Each image carries a capture timestamp ('precise date and time of image acquisition') and EXIF data, returned as capturedAt by the API; uploads are matched to the app's flight record", "evidence_url": "https://learn.spexi.com/api-reference/core-concepts.md", "unknown": "How the timestamp is produced (drone clock or phone) and whether it is checked against the flight record; nothing signed or publicly checkable"}, "location": {"level": "claimed", "method": "Per-image camera position, altitude, heading, pitch and footprint geometry; uploads matched to the flight record of the automated mission over the assigned zone", "evidence_url": "https://learn.spexi.com/api-reference/core-concepts.md", "unknown": "GPS-spoofing resistance; standard orthomosaics are accurate only to about 5 m absolute"}, "content": {"level": "claimed", "method": "Every ordered product passes a 'qa' status before 'delivered'; FAQ lists lighting and flight-time controls", "evidence_url": "https://learn.spexi.com/api-reference/order-api/tasking-api.md", "unknown": "QA criteria and rejection rates"}, "corroboration": {"level": "none", "unknown": "No documented independent re-capture or cross-check. LayerDrone markets 'blockchain verification' of uploads but publishes no method or public record a buyer can check; overlapping images of the same feature exist but are not presented as verification"}}, "api": {"available": true, "docs_url": "https://learn.spexi.com/api-reference/introduction", "base_url": "https://world.spexi.com/developer-api", "auth": [{"type": "api_key_header", "header": "x-api-key", "env_var": "SPEXI_API_KEY", "how_to_get": "Log in to Spexi World (https://world.spexi.com; free-trial signup at /auth/signup), Settings > API Keys > Create New Key; shown once. Keys inherit the account's permissions; submitting tasking orders needs the org_owner or org_admin role or a Developer API key, and new-capture access is 'typically linked to your service agreement'."}, {"type": "api_key_query", "env_var": "SPEXI_API_KEY", "how_to_get": "The same key, passed as the api_key query parameter (OpenAPI ApiKeyQuery)."}], "endpoints": [{"action": "order", "method": "POST", "path": "/api/v1/order/tasking", "params": "intent 'new_capture', products [{product_type: image|panorama|orthomosaic, product_sub_type: standard|aligned for ortho}], zones (H3 ids) OR geometry (GeoJSON Feature Polygon), customer_org_name, customer_first_name, customer_last_name, customer_email (required); preferred_capture_start/end, external_order_id, control_data_url, notes", "notes": "Returns spexi_order_id with status 'submitted'. Each product moves independently through submitted > in_review > feasibility_check > pending_confirmation > in_planning > capture_in_progress > processing > qa > delivered (or cancelled/unfulfillable)."}, {"action": "status", "method": "GET", "path": "/api/v1/order/tasking/{spexi_order_id}", "notes": "Per-product status and per-zone status (uncaptured, captured, delivered, removed)."}, {"action": "list", "method": "GET", "path": "/api/v1/order/tasking", "params": "limit (max 100), cursor, search, status (current|past), sort", "notes": "Your organisation's tasking orders."}, {"action": "search", "method": "GET", "path": "/api/v1/image", "params": "p (lon,lat[,radius m]) or bbox or polygon (WKT, max 1 km2 bbox), heading, pitch, altitude, captured_at, capture_type, focused, pixel_bounds, limit (max 1000), cursor", "notes": "Existing drone images with camera pose, capture time and S3 URL. Free-trial accounts have a search quota."}, {"action": "search", "method": "GET", "path": "/coverage-map/query", "params": "bbox or p (radius max 1000 m) or polygon; captureTypes, startDate, endDate, limit, entitled", "notes": "H3 zones with existing coverage, latest capture date and mission count."}, {"action": "fetch", "method": "GET", "path": "/api/v1/order/{spexi_order_id}/images", "params": "limit (max 1000), cursor", "notes": "Images delivered against an order, as GeoJSON with download links; empty until delivered."}, {"action": "fetch", "method": "GET", "path": "/api/v1/order/{spexi_order_id}/orthomosaic", "notes": "Presigned download URLs for delivered orthomosaic products, with sub type and status."}, {"action": "fetch", "method": "GET", "path": "/api/v1/image/{imageId}/download", "params": "zoom, highlight, aoi (WKT), marker, padding", "notes": "Downloads one JPEG, optionally cropped to or marked with an area of interest."}], "rate_limits": "Not published; usage limits depend on account tier", "self_serve": false, "notes": "Endpoint paths are relative to base_url. The OGC examples in the quick start use https://api-world.spexi.com/api/ogc/v1 with Authorization: Bearer, but that host did not resolve on 2026-10-26. The API host sits behind an AWS WAF that answered a keyless GET with a 202 challenge. The Data Terms allow API use only by applications Spexi has approved in writing. learn.spexi.com and docs.spexi.com run GitBook documentation MCP servers (docs search only, no ordering); Spexi has no entry in the MCP Registry. The Data Terms also bar systematic or automated scraping, mining or extraction through the service (4.4.15); automation_allowed is left unstated because API use needs an application Spexi has approved in writing (4.3.4)."}, "freshness": {"mode": "mixed", "typical_age": "Tasked captures are new (days after order); archive images have a capturedAt date", "notes": "Archive orders through the API are marked 'coming soon'; archive images can be searched and downloaded via the Image API."}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "Spexi homepage: 'From request to real-world data in days, not months.'"}, "updated": "2026-10-28", "sources": [{"claim": "API intro: drone imagery across North America; Coverage, Image and Order APIs; Order API requests new drone captures", "url": "https://learn.spexi.com/api-reference/introduction.md"}, {"claim": "Authentication: keys from Spexi World Settings > API Keys, x-api-key header, base https://world.spexi.com/developer-api; limits by account tier", "url": "https://learn.spexi.com/api-reference/authentication.md"}, {"claim": "Tasking API: zones or GeoJSON polygon, per-product status lifecycle including feasibility_check and qa; Archived Orders 'coming soon'", "url": "https://learn.spexi.com/api-reference/order-api/tasking-api.md"}, {"claim": "POST /developer-api/api/v1/order/tasking schema; only org_owner/org_admin or a Developer API key may submit", "url": "https://learn.spexi.com/api-reference/order-api/tasking-api/submit-tasking-order.md"}, {"claim": "GET tasking order details and list endpoints, per-zone status", "url": "https://learn.spexi.com/api-reference/order-api/tasking-api/list-tasking-order-details.md"}, {"claim": "Image search endpoint parameters and free-trial search quota", "url": "https://learn.spexi.com/api-reference/image-api/search-images.md"}, {"claim": "Coverage query endpoint", "url": "https://learn.spexi.com/api-reference/coverage-api/query-coverage.md"}, {"claim": "Requesting new imagery is typically linked to the service agreement; preferred dates not guaranteed; ortho standard accuracy within 5 m", "url": "https://learn.spexi.com/spexi-world-viewer/requesting-new-imagery.md"}, {"claim": "Customer-docs FAQ: DJI Mini drones; QC procedures; GSD about 2.8 cm; public sharing depends on contract; imagery altitude prevents identifying faces", "url": "https://learn.spexi.com/spexi-world-viewer/faqs.md"}, {"claim": "Homepage: 'From request to real-world data in days, not months', 1-3 cm pixels, 6.5M+ acres archive, LayerDrone pilot network, delivery via API", "url": "https://www.spexi.com"}, {"claim": "Pilot requirements: Part 107 in the US, supported DJI Mini models, Spexi App on Android", "url": "https://docs.spexi.com/get-started/what-you-need-to-fly.md"}, {"claim": "Automated missions via the Spexi App; uploads matched to flight record and marked verified", "url": "https://docs.spexi.com/fly-and-earn/after-you-fly.md"}, {"claim": "SkyWatch lists Spexi-Ortho 3 cm tasking at $450/km2, min 0.5 km2, indicative as of June 2026", "url": "https://skywatch.com/geospatial-data-providers/spexi/"}, {"claim": "Core concepts: per-image camera position, altitude, footprint, capture timestamp and EXIF; JPEG delivery", "url": "https://learn.spexi.com/api-reference/core-concepts.md"}, {"claim": "Spexi Data Terms (2025-12-03): internal-business licence, no redistribution or resale, no competing AI training, Spexi owns all Content incl. Bespoke, API only by approved applications, invoice payment within 10 business days, 5% renewal increase", "url": "https://www.spexi.com/policy/terms-spexi-data"}, {"claim": "Free Trial Terms (2026-07-31): view-only licence; no copying or storing; competitors barred; 18+", "url": "https://www.spexi.com/policy/free-trial-terms-and-conditions"}, {"claim": "Spexi Platform Terms (2026-03-17): pilots assign all rights in Mapped Data to LayerDrone and Spexi; eligibility may be verified; sanctions and 18+ rules", "url": "https://www.spexi.com/policy/terms-spexi-platform"}, {"claim": "Customer FAQ: new areas delivered in hours to weeks depending on size, fastest 11 hours; Spexi decides flight timing", "url": "https://www.spexi.com/faq"}, {"claim": "Pilots must be located in the US or Canada", "url": "https://docs.spexi.com/get-started/become-a-drone-pilot-on-the-spexi-app.md"}, {"claim": "Pilot application includes Part 107 certificate number where required", "url": "https://www.spexi.com/blog/the-spexi-network-pilot-eligibility-compatible-drones"}, {"claim": "Missions flown at 80 m AGL with terrain following", "url": "https://docs.spexi.com/beyond-the-basics/flight-execution.md"}, {"claim": "Order API: list images in an order; Archived Orders coming soon", "url": "https://learn.spexi.com/api-reference/order-api.md"}, {"claim": "GET /developer-api/api/v1/order/{id}/images", "url": "https://learn.spexi.com/api-reference/order-api/list-images-order.md"}, {"claim": "GET /developer-api/api/v1/order/{id}/orthomosaic", "url": "https://learn.spexi.com/api-reference/order-api/list-orthomosaics-order.md"}, {"claim": "GET /developer-api/api/v1/image/{imageId}/download", "url": "https://learn.spexi.com/api-reference/image-api/download-image.md"}, {"claim": "List tasking orders: limit max 100, status current|past, sort", "url": "https://learn.spexi.com/api-reference/order-api/tasking-api/list-all-tasking-orders.md"}, {"claim": "GitBook documentation MCP server card for learn.spexi.com (docs search only)", "url": "https://learn.spexi.com/.well-known/ai-catalog.json"}, {"claim": "Spexi is not on the C2PA Conforming Products List", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}], "spec_version": "2026-10-26", "adapter": "spexi", "short": "Drone pilots flying standard missions over US and Canadian neighbourhoods.", "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "people"}, "payment": {"methods": ["invoice"], "agent_can_pay": false, "prepaid": false, "notes": "Charges are set in an Order Form agreed with Spexi or an authorized reseller (e.g. SkyWatch) and paid within 10 business days of invoice by direct debit or bank transfer."}, "requester": {"checks": "Tasking orders must name the customer organisation and a contact (first and last name, email); only org owners and admins, or a Developer API key, may submit. Access follows a signed Order Form. Platform users must be 18+ and not in sanctioned territories; Spexi's direct competitors are barred from the free trial.", "unknown": "Whether Spexi verifies the customer's identity or screens what an area is being captured for. Spexi says imagery is flown at about 80 m and cannot identify faces, but publishes no policy on requests aimed at a specific person or property."}}, {"id": "telus-digital", "name": "TELUS Digital (AI Data Solutions)", "provider_url": "https://www.telusdigital.com", "status": "unclaimed", "tags": ["training data", "custom collection", "image collection", "video collection", "mobile app", "field operations", "driving data", "egocentric video", "drivers", "crowd", "contributors", "managed service", "formerly TELUS International"], "summary": "AI training-data arm of TELUS Digital (formerly TELUS International). Its AI Community of more than a million contributors collects image, video, speech, text, survey, geo and 3D data through TELUS's own mobile collection app, from simple digital collection to onsite moderated sessions and field operations, such as drivers uploading trip video or in-cabin and open-road collections. Sales-led managed projects; no public ordering API.", "capabilities": {"modalities": ["photo", "video", "audio", "sensor", "text-report"], "tasks": ["custom image, video, speech and text collection through the TELUS mobile data collection app", "field operations, e.g. video collections filmed by drivers (pick-ups, drop-offs and deliveries in one city)", "field operations testing for in-cabin and open-road collections in more than 50 countries", "egocentric and point-of-view collections with sensor setups", "onsite moderated and in-facility collection sessions", "geo and 3D data collection", "survey data collection"]}, "pricing": {"model": "Not published; contact sales", "from_usd": 0, "unit": "not published", "notes": "from_usd 0 means unknown, not free. The data collection page offers only 'speak with an AI expert'."}, "latency": {"typical": "Not published", "notes": "No turnaround is stated for collection projects; the page says only that bespoke datasets can be provided 'quickly and efficiently'."}, "coverage": {"regions": ["450 locales (countries not listed)"], "notes": "TELUS cites more than one million AI Community members in 450 locales and 500+ languages and dialects, more than 70 delivery centers, and field operations (in-cabin and open-road collections). Example field projects seen: a driver video collection in Los Angeles (2025) and a Live Photo collection in India (expired listing). Countries are not listed, and availability in a specific city is not published."}, "licensing": {"summary": "Not stated on any page read. The data collection pages do not address ownership, resale or AI-training rights in collected media; these would be in the client contract. The contributor privacy notice says project data (including images, video and voice of contributors) and some contributor demographics are provided to TELUS's customers."}, "verification": {"human": {"level": "claimed", "method": "Contributors give contract data including government ID; TELUS lists AI-powered identity verification and contributor vetting, proctored tasks, behavioural monitoring and anomaly detection, one account per person, and screening for impersonation or falsified credentials or location.", "unknown": "Which checks apply to a given collection project, and their pass and fraud rates, are not published. The contributor privacy notice lists a government ID among contract data and IP-based country checks; it names no identity-verification vendor, liveness check or re-verification."}, "application": {"level": "none", "unknown": "Capture happens in TELUS's own mobile collection app ('designed for high security and data privacy'), and one listing required a pre-approved mobile device, but no app-integrity or attestation check is documented. No C2PA signing; TELUS is not on the C2PA Conforming Products List. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "A contributor listing bans synthetic or AI-generated and duplicate submissions, but no technical check (e.g. in-app-only capture, gallery lock or signing) is documented."}, "time": {"level": "none", "unknown": "No trusted capture time is documented."}, "location": {"level": "none", "unknown": "Screening for 'falsifying location' is mentioned, and the contributor privacy notice says IP addresses may be used for geolocation, but no method for verifying where media was captured is documented."}, "content": {"level": "claimed", "method": "Automated data validation plus human oversight; dedicated QA experts review collected data for accuracy and compliance with project guidelines, and contributors are paid only after quality review approves a submission.", "unknown": "Review criteria and error rates are not published."}, "corroboration": {"level": "none", "unknown": "No independent cross-check is described."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "No public API. Projects start by contacting sales ('speak with an AI expert') on telusdigital.com."}], "mcp": {"remote": null, "registry_name": null, "notes": "No TELUS server in the official MCP Registry (searched 'telus' and 'telusdigital', 2026-10-26)."}, "rate_limits": "Not applicable; ordering is through sales.", "notes": "No public API docs found for ordering data collection."}, "access": {"cost": "quote", "key_required": false, "tested_live": null, "gate": "contract"}, "payment": {"notes": "No buyer payment method is published; terms are set with sales."}, "freshness": {"mode": "on_demand", "typical_age": "Collected for your project", "notes": "Only commissioned collection is described here; TELUS also sells pre-curated off-the-shelf datasets, which are out of scope."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround published."}, "capture": {"by": "people"}, "requester": {"unknown": "TELUS publishes no check of who a client is or what a collection is for."}, "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Mobile data collection app 'designed for high security and data privacy' for image, video, speech, text and survey data; text, audio, video, image, geo and 3D collection; simple digital collection, onsite moderated sourcing or complex field operations; managed crowd, remote, in-facility and hybrid workforce; 1M+ AI Community members; 450 locales, 500+ languages and dialects; 70+ delivery centers; QA experts; AI-powered identity verification, proctoring, behavioural monitoring, anomaly detection; no pricing, 'speak with an AI expert'", "url": "https://www.telusdigital.com/solutions/data-for-ai-training/data-collection-services"}, {"claim": "Field operations testing for in-cabin and global open road collections across more than 50 countries; egocentric and point-of-view collections with complex embodiments and sensor setups; pre-curated datasets", "url": "https://www.telusdigital.com/solutions/data-for-ai-training"}, {"claim": "Los Angeles project: hundreds of drivers used the data collection mobile app to upload video of passenger pick-ups, drop-offs and parcel deliveries; screening for impersonation and falsified credentials or location; one account per person; least-privilege access for individuals and devices; automated validation and human oversight (posted 7 Aug 2025)", "url": "https://www.telusdigital.com/insights/data-and-ai/article/video-data-collection-best-practices"}, {"claim": "Live Photo collection in India: pre-approved mobile device, paid after quality review, no synthetic/AI-generated or duplicate submissions (listing expired)", "url": "https://www.workingnomads.com/jobs/live-photo-collection-study-in-india-telus-digital"}, {"claim": "Contributor privacy notice (updated 15 June 2026): contract data includes government ID; IP address may be used for geolocation; project data and some demographics are provided to customers", "url": "https://www.telusdigital.com/privacy-policy/contributors"}, {"claim": "TELUS not on the C2PA Conforming Products List", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "No TELUS server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=telus"}, {"claim": "Contributor privacy notice: government ID in contract data; automated IP verification of country", "url": "https://www.telusdigital.com/privacy-policy/contributors"}], "spec_version": "2026-10-26", "short": "A training-data vendor whose app-based crowd collects custom photos, video and driving data to order.", "capability": "com.irlpls.capture.card"}, {"id": "tfl-jamcams", "name": "TfL JamCams", "status": "unclaimed", "provider_url": "https://api.tfl.gov.uk/", "adapter": "tfl_jamcams", "tags": ["traffic camera", "jamcam", "cctv", "webcam", "traffic", "road", "street", "junction", "london", "transport for london", "tfl", "united kingdom", "government", "free", "image", "photo", "video clip", "live", "real-time"], "summary": "Transport for London's Unified API lists about 900 London road 'JamCam' traffic cameras with coordinates, view direction and links to each camera's latest still image and a short looped video clip. TfL says the TfL-branded, date- and time-stamped images refresh every three minutes or more often. Free; keyless calls work at a lower rate limit, and a free TfL API portal key raises it.", "short": "Latest stills and short clips from about 900 London traffic cameras, free from Transport for London.", "capabilities": {"modalities": ["photo", "video"], "tasks": ["list London traffic cameras with name, coordinates and view direction", "find traffic cameras within a radius of a point in London", "latest still image (JPG) of a London road or junction", "latest short looped video clip (MP4) from the same camera", "see traffic and road conditions on London streets"]}, "pricing": {"model": "free public service", "from_usd": 0, "unit": "per request", "notes": "Free under TfL's Transport Data Service terms. Anonymous access is limited to 50 requests a minute; a free '500 requests a minute' product key is available on the TfL API portal, and higher quotas are available on request."}, "latency": {"typical": "TfL says images are refreshed every three minutes, sometimes more often; a sampled image was about 5 minutes old on 2026-10-26", "notes": "TfL's open-data page gives a fresh feed copy every 2 minutes, at most 2 minutes from capture to display, and at most 15 minutes before information should be updated. Images are not captured while a camera is in use for managing traffic, being maintained, or during a fault. The 'modified' timestamps in camera records are database artefacts, not image times. Only the latest image is provided (no past images)."}, "coverage": {"regions": ["United Kingdom (London)"], "notes": "Greater London roads only. 890 cameras were listed on 2026-10-26, 805 of them flagged available. Cameras can be added or removed, and TfL has reported outages where images or clips were not supplied.", "areas": ["GB"]}, "licensing": {"summary": "TfL Transport Data Service licence, based on Open Government Licence v2.0 with TfL amendments: worldwide, royalty-free, perpetual, non-exclusive; you may copy, publish, distribute, adapt and exploit the information commercially and non-commercially, including in your own product. You must attribute 'Powered by TfL Open Data' (plus the Ordnance Survey/Geomni statements), follow TfL branding guidelines, keep to at most 500 calls per minute per feed, and give accurate registration details. TfL's open-data page adds that JamCam images must not be cropped and already carry TfL branding. The licence transfers no intellectual property rights, comes 'as is' with no guarantee of continued supply, and TfL may revise it without notice. The terms do not mention AI training or resale specifically.", "buyer_owns_output": false}, "freshness": {"mode": "live", "typical_age": "Up to about 3 minutes per TfL; about 5 minutes observed", "notes": "No past images via the API. Each still carries a burned-in date and time stamp."}, "api": {"available": true, "docs_url": "https://api-portal.tfl.gov.uk/", "base_url": "https://api.tfl.gov.uk", "auth": [{"type": "none", "how_to_get": "No key needed; anonymous access is limited to 50 requests a minute. A keyless call returned the full camera list on 2026-10-26."}, {"type": "api_key_query", "env_var": "TFL_APP_KEY", "how_to_get": "Optional. Register on https://api-portal.tfl.gov.uk/, subscribe to the '500 requests a minute' product, and append the key as the app_key query parameter (app_id is no longer required)."}], "endpoints": [{"action": "list", "method": "GET", "path": "/Place/Type/JamCam", "notes": "All cameras: id, commonName, lat, lon, and additionalProperties available, imageUrl (S3 JPG), videoUrl (S3 MP4), view."}, {"action": "search", "method": "GET", "path": "/Place", "params": "lat, lon, radius (metres), type=JamCam", "notes": "Cameras near a point, with distance."}, {"action": "fetch", "method": "GET", "path": "/Place/{id}", "params": "id, e.g. JamCams_00002.00865", "notes": "One camera record. The image and clip themselves are fetched by GET from the imageUrl and videoUrl it gives (https://s3-eu-west-1.amazonaws.com/jamcams.tfl.gov.uk/<camera>.jpg|.mp4)."}], "rate_limits": "Anonymous: 50 requests a minute. Free key: 500 requests a minute; higher quotas on request. The licence caps use at 500 calls per minute per data feed and lets TfL throttle excessive use.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No TfL or JamCam server in the official MCP Registry (searched tfl, transport for london, jamcam, london on 2026-10-26)."}, "notes": "Swagger 2.0 description at https://api.tfl.gov.uk/swagger/docs/v1. No OAuth: /.well-known/oauth-protected-resource and oauth-authorization-server return 404 on api.tfl.gov.uk and api-portal.tfl.gov.uk."}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "automation_allowed": true, "gate": "none", "rate_limit": {"requests": 50, "per_seconds": 60, "scope": "unknown", "notes": "Anonymous access. Higher quotas on request.", "source_url": "https://api-portal.tfl.gov.uk/products", "with_key": {"requests": 500, "per_seconds": 60, "scope": "per-key", "source_url": "https://api-portal.tfl.gov.uk/products"}}}, "payment": {"methods": [], "notes": "No payment: the service is free."}, "capture": {"by": "devices"}, "requester": {"checks": "None for keyless calls. A key needs a TfL API portal account with an activated email, and the licence requires accurate registration details.", "unknown": "Nothing is commissioned; the cameras run on TfL's own schedule."}, "verification": {"human": {"level": "none", "unknown": "Fixed TfL cameras, not people"}, "application": {"level": "none", "unknown": "No signing of images or clips; nothing documents how they are produced or whether they are processed"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each image and clip comes from a named TfL camera and carries TfL branding. No capture signing; nothing checkable proves the frame came from that camera's sensor"}, "time": {"level": "claimed", "method": "TfL says images are date and time stamped (burned into the frame); the S3 file also has a Last-Modified header", "unknown": "The stamp is unsigned text in the image; record 'modified' timestamps are database artefacts and say nothing about the image"}, "location": {"level": "claimed", "method": "Each camera has coordinates, a location name (also burned into the image) and a view direction", "unknown": "Movable cameras may face elsewhere; TfL says images are not captured while a camera is in use for managing traffic, but this is not proven per image"}, "content": {"level": "none", "unknown": "No review of content"}, "corroboration": {"level": "none", "unknown": "None documented"}}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "TfL: images are 'refreshed every three minutes - sometimes more often'; feed copy every 2 minutes, at most 2 minutes from capture to display."}, "sources": [{"claim": "Keyless call returned 890 JamCams (805 available) with id, commonName, lat, lon, available, imageUrl, videoUrl, view (tested 2026-10-26)", "url": "https://api.tfl.gov.uk/Place/Type/JamCam"}, {"claim": "Sampled image and clip Last-Modified about 5 minutes before fetch; image 352x288 with burned-in date/time, location name and TfL logo; clip about 10 seconds (2026-10-26)", "url": "https://s3-eu-west-1.amazonaws.com/jamcams.tfl.gov.uk/00002.00865.jpg"}, {"claim": "Nearby search by lat, lon, radius and type=JamCam returns cameras with distance; single record by id", "url": "https://api.tfl.gov.uk/Place?lat=51.5074&lon=-0.1278&radius=500&type=JamCam"}, {"claim": "Place endpoints and app_key query auth in the Unified API Swagger description", "url": "https://api.tfl.gov.uk/swagger/docs/v1"}, {"claim": "Register, subscribe to the 500 requests/minute product, append app_key as a query parameter; app_id no longer required", "url": "https://api-portal.tfl.gov.uk/"}, {"claim": "Anonymous access limited to 50 requests a minute; free '500 requests a minute' product; higher quotas on request", "url": "https://api-portal.tfl.gov.uk/products"}, {"claim": "JamCam images TfL branded, date and time stamped, refreshed every three minutes or more often; feed copy every 2 min, max 2 min capture to display, max 15 min; not captured when a camera is used for managing traffic, maintained or faulty; must not crop images (archived copy of tfl.gov.uk/info-for/open-data-users/our-open-data, captured 2026-09-14; live page blocks automated fetches)", "url": "https://web.archive.org/web/20260914170926/https://tfl.gov.uk/info-for/open-data-users/our-open-data"}, {"claim": "Transport Data Service licence: OGL v2.0 with TfL amendments; commercial use, distribution and adaptation allowed; 'Powered by TfL Open Data' attribution; 500 calls per minute per feed; no IP transfer; as-is, no guaranteed supply; revisable without notice (archived copy captured 2026-09-10; live page blocks automated fetches)", "url": "https://web.archive.org/web/20260910192212/https://tfl.gov.uk/corporate/terms-and-conditions/transport-data-service"}, {"claim": "JamCam feeds give regularly updated still images plus short looped video clips (UKAuthority, 2016; archived copy)", "url": "https://web.archive.org/web/20240613113714/https://www.ukauthority.com/articles/tfl-opens-car-park-and-jamcam-data-feeds/"}, {"claim": "'modified' dates on JamCam records are database artefacts that change only on rebuilds, not when images change (TfL Tech Forum; archived copy)", "url": "https://web.archive.org/web/20250516191753/https://techforum.tfl.gov.uk/t/unexplained-modified-dates-on-the-jamcams/424"}, {"claim": "Only real-time JamCam images are provided, no historic images (TfL Tech Forum; archived copy)", "url": "https://web.archive.org/web/20250501071047/https://techforum.tfl.gov.uk/t/jamcam-multiple-historic-images/1016"}, {"claim": "Reported outage where JamCam images and clips were not supplied due to a technical fault (TfL Webteam, 2018; archived copy)", "url": "https://web.archive.org/web/20250516092946/https://techforum.tfl.gov.uk/t/live-jamcam-images-and-clips/596"}, {"claim": "No TfL or JamCam MCP server in the official registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=tfl"}, {"claim": "No OAuth or discovery documents (/.well-known/* return 404)", "url": "https://api.tfl.gov.uk/.well-known/oauth-protected-resource"}], "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "toloka", "name": "Toloka", "provider_url": "https://toloka.ai", "status": "unclaimed", "tags": ["egocentric video", "first-person video", "head-mounted camera", "robotics", "physical AI", "household tasks", "crowd", "contributors", "self-serve", "training data", "custom collection", "API"], "summary": "Self-serve data platform: a requester describes a collection task, an AI assistant builds the pipeline (instructions, contributor audience by country and language, price, quality criteria), and ID-verified contributors record and upload the data, checked by an LLM reviewer and optionally by human reviewers. The documented collection template is egocentric (first-person, head-mounted) household-activity video; other collection (images, audio, in-the-field capture) is built from a description. Funded from a prepaid balance topped up by card; projects, runs and exports can also be driven through a beta REST API, a TypeScript SDK and a CLI. Toloka's older mobile field-task app (geotagged photos of places) is no longer documented and is not described here.", "short": "A self-serve platform where vetted contributors record first-person task video to your brief.", "capabilities": {"modalities": ["video", "photo", "audio"], "tasks": ["custom egocentric (first-person, head-mounted) video filmed to a written brief, uploaded by contributors (Egocentric Activity Video Collection template: 50 to 1,000 videos, 13 default household activity categories)", "household and manual task video for robotics and physical AI training", "other new data collection (images, audio, in-the-field capture) set up by the platform assistant from a description; no template for these is documented", "custom data collection or workflows outside self-service, on request"]}, "pricing": {"model": "Per run: a cost forecast (Expected and Maximum) is approved before deploy, then charged pay-as-you-go against a prepaid team balance", "from_usd": 0, "unit": "run (one pipeline run of up to 10,000 items)", "notes": "from_usd 0 means no unit price is published. You set the per-task price paid to each contributor; Toloka adds a fixed 33% commission, plus LLM QA per review call, human QA per sampled review (payout scaled to review time plus 10%), and a video-review charge (base rate plus per-minute rate) where the LLM reviewer watches video. The real per-task and per-call prices appear only in the in-app cost breakdown. Deploying freezes the run's prices. No minimums or contracts. HomER (63 head-mounted household videos, 17 categories) cost about $50 in total; that is one example, not a rate. New accounts get $50 credit after the first $50 of qualifying spend."}, "latency": {"typical": "First batch in about 3 hours; results in 24 hours (provider marketing)", "notes": "The egocentric video page lists '3 hrs' to first batch and 'production-ready results in 24 hours'; HomER took 3 hours to collect. A template deploy usually takes 5 to 15 minutes before tasks are live. No SLA; real time depends on brief, volume, price and contributor availability."}, "coverage": {"regions": ["100+ countries (not listed)"], "notes": "Toloka cites 200,000+ contributors in 100+ countries and 40 languages, but publishes no country list, only exclusions: contributors cannot be resident in sanctioned jurisdictions (e.g. Russia, China, Iran, Belarus, Cuba, North Korea, Syria) or in places its ID-verification or payment providers do not cover (including Switzerland, Taiwan and Kenya). The requester can limit the contributor audience by country and language. Recording happens wherever contributors live (mostly their homes), not at a place the requester picks."}, "licensing": {"summary": "Self-Service Agreement (22 Apr 2026). \u00a77.1: the buyer owns Output created specifically for it once Fees are fully paid (\u00a77.2 excludes the seller's Background IP); \u00a77.3: contributors must assign those rights to the buyer. The terms assume buyers train AI models on Output (\u00a72.6, \u00a78.4.1) but contain no express training grant but forbid using it to build or train products that compete with Toloka (\u00a76.2(vii)). \u00a76.2(iv) forbids reselling Output, and \u00a76.2(iii) forbids making it available for the benefit of unaffiliated third parties. \u00a77.4/\u00a77.9: Toloka may train its internal models on your Data and Output unless you opt out in writing; the opt-out is prospective only and does not cover derived de-identified 'Toloka Data'. \u00a75: Data and Output from a free trial are licensed to Toloka irrevocably and perpetually for any purpose, including model training, and the opt-out does not apply.", "ai_training": "allowed", "resale": "forbidden", "buyer_owns_output": true, "vendor_trains_on_data": "unless_opted_out"}, "verification": {"human": {"level": "claimed", "method": "Contributors must pass Toloka's identity, residency and eligibility verification (an identity document showing country of residence); labeling tasks default to experts who have passed ID verification.", "unknown": "Whether the verified account holder is the person who filmed each clip, how multi-account use is detected, and whether collection templates (not only labeling nodes) require ID-verified contributors. No public evidence. The eligibility terms name no identity-verification vendor ('our identity verification provider') and document no liveness check or re-verification; an account can be shared after enrolment."}, "application": {"level": "none", "unknown": "Contributors record with their own smartphones or cameras and upload files; no capture-app or device attestation is documented."}, "camera": {"level": "none", "unknown": "No check that a video came from a real camera rather than a screen, edit or generator is described; HomER rejected re-used clips by rule, not by a documented detector."}, "time": {"level": "none", "unknown": "No trusted capture time is documented."}, "location": {"level": "none", "unknown": "No location capture or check is documented. The audience filter restricts contributors by country of residence, not where a clip was recorded."}, "content": {"level": "claimed", "method": "An LLM reviewer checks every submission against the requester's written quality criteria (e.g. head-mounted, both hands visible 95%+ of the time, no third-person footage), with a verdict and reason per criterion, and watches video fields; rejected work goes back for correction or reassignment. Optional human review checks a 10 to 100% sample. Toloka cites 89.1% accuracy at catching failures.", "unknown": "How the 89.1% figure was measured, the false-accept rate, and whether people review anything the model passes when human review is not switched on."}, "corroboration": {"level": "none", "unknown": "No independent cross-check of a collected recording is described. Multi-contributor agreement (Quorum nodes) is documented for labeling, not for confirming a capture."}}, "api": {"available": true, "self_serve": true, "docs_url": "https://platform.toloka.ai/docs/integration/programmatic-access/", "base_url": "https://platform.toloka.ai/api/v2-beta", "auth": [{"type": "api_key_header", "header": "Authorization", "env_var": "TOLOKA_API_KEY", "how_to_get": "Sign up at platform.toloka.ai, then in the Business Console open your company, go to API keys and click Generate API key. Send it as 'Authorization: ApiKey <key>'. The key acts as its user and does not expire until deleted."}, {"type": "api_key_header", "header": "X-Scoped-Token", "how_to_get": "A project-scoped token issued with POST /api/v2-beta/projects/{projectId}/tokens by an API-key holder; revocable."}, {"type": "other", "how_to_get": "Interactive use: 'toloka login --browser' signs the CLI in through the browser (Google or Microsoft); the session renews for up to 14 days. Toloka's agent skill says never to ask a person to paste a key into chat."}], "endpoints": [{"action": "list", "method": "GET", "path": "/projects", "notes": "Lists projects across your teams; read-only connection check."}, {"action": "quote", "method": "POST", "path": "/pipelines/{pipelineId}/cost-estimate", "notes": "Cost forecast for a pipeline before a run."}, {"action": "order", "method": "POST", "path": "/pipelines/{pipelineId}/runs", "params": "JSON body; Content-Type: application/json required", "notes": "Starts a paid run. A pipeline must first be imported or copied (no endpoint assembles nodes), with a dataset bound via POST /pipelines/{pipelineId}/dataset. Blocked for teams that have not completed identity or business verification."}, {"action": "status", "method": "GET", "path": "/runs/{runId}", "notes": "Poll until succeeded or failed; a cancelled run reports failed with 'Run canceled'. GET /runs/{runId}/cost gives the run's cost."}, {"action": "fetch", "method": "GET", "path": "/runs/{runId}/items", "notes": "Run items. Full results: POST /datasets/{datasetId}/exports, then poll GET /exports/{exportId} for a download link (expires after 30 minutes)."}], "sdk": "@toloka-platform/sdk (TypeScript, 0.x) and the toloka CLI; Toloka publishes agent runbooks at platform.toloka.ai/agents/SKILL.md. The older Python toloka-kit targeted the legacy API.", "rate_limits": "60 requests per minute per endpoint; RateLimit-* headers; 429 when exceeded. A run processes at most 10,000 items; a dataset holds at most 150,000.", "mcp": {"registry_name": "io.github.Toloka/tendem-mcp", "remote": "https://mcp.tendem.ai/mcp", "auth": "OAuth 2 (protected-resource metadata at https://mcp.tendem.ai/.well-known/oauth-protected-resource/mcp; Keycloak at auth.tendem.ai publishes a dynamic client registration endpoint and PKCE S256) or 'Authorization: ApiKey' for headless use", "first_party": true, "notes": "This is Tendem, Toloka's expert-task product ('research, writing, analysis, and data work'), not the Toloka Platform data-collection crowd. No MCP server for the data-collection platform was found."}, "notes": "The Pipeline API is beta: request and response shapes may change without notice. OpenAPI 3.1 document at https://platform.toloka.ai/api/v2-beta/doc. State-changing requests need Content-Type: application/json. Payments and top-ups are not in the API."}, "freshness": {"mode": "on_demand", "typical_age": "Recorded after you launch the run", "notes": "Toloka also sells existing datasets; only the commissioned collection is described here."}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Egocentric video page: '3 hrs' to first batch, 'production-ready results in 24 hours'."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "approval", "rate_limit": {"requests": 60, "per_seconds": 60, "scope": "unknown", "notes": "Per endpoint; RateLimit-* headers; 429 when exceeded. A run processes at most 10,000 items.", "source_url": "https://platform.toloka.ai/docs/integration/programmatic-access/"}}, "payment": {"methods": ["card", "prepaid_balance"], "agent_can_pay": false, "prepaid": true, "notes": "A team keeps a prepaid USD balance, topped up by card (Stripe) in the Business Console; bank transfer on request. A run reserves its cost from the balance and pauses if it runs out. The API can spend an existing balance but cannot top it up. All purchases are final and non-refundable."}, "capture": {"by": "people"}, "requester": {"checks": "Before adding funds or placing paid orders, a requester must give a valid payment method and pass KYB and sanctions/export screening; a team that has not completed identity or business verification cannot start a run. Some jurisdictions get enhanced due diligence (ID and proof of address for owners and directors). Toloka may review and moderate any project before or after publication, and the terms forbid using the service for unlawful surveillance, biometric identification or doxxing.", "unknown": "Whether a collection brief that targets a specific place or person is reviewed before contributors see it."}, "sources": [{"claim": "Self-serve egocentric video collection: describe the task, set a quality bar; no sales cycle, no minimums; 200,000+ contributors, 100+ countries; 3 hrs to first batch, results in 24 hours; LLM QA validates every submission, 89.1% accuracy at catching failures; HomER: 63 videos, 17 categories, 3 hours, $50", "url": "https://toloka.ai/egocentric-video"}, {"claim": "HomER built with the self-service platform; head-mounted forward-facing camera, both hands visible 95%+ of the time, handheld footage rejected; verified crowd in 100+ countries and 40 languages; 1,800+ contributors matched; LLM QA rejects or flags failures against rubrics", "url": "https://toloka.ai/blog/homer-building-an-open-source-egocentric-robotics-dataset-with-toloka/"}, {"claim": "Projects run via API, TypeScript SDK and CLI; Pipeline API in beta; price calculated after setup, no hidden fees, minimums or contracts; no onboarding; card via Stripe, bank transfer on request; $50 credit match; egocentric video and utterance recording listed; custom data collection on request; agent bootstrap at platform.toloka.ai/agents/SKILL.md", "url": "https://toloka.ai/mturk-migration"}, {"claim": "API base URL, 'Authorization: ApiKey' header, key generated in the Business Console; long-running jobs polled; 60 requests/minute per endpoint; 10,000 items per run; unverified teams are on a trial and cannot start a run", "url": "https://platform.toloka.ai/docs/integration/programmatic-access/"}, {"claim": "OpenAPI 3.1 for the beta Pipeline API: apiKeyAuth (Authorization) and scopedTokenAuth (X-Scoped-Token); endpoints for projects, cost-estimate, runs, run items, exports", "url": "https://platform.toloka.ai/api/v2-beta/doc"}, {"claim": "CLI: toloka login --browser, API key alternative for scripts and agents, TOLOKA_API_KEY", "url": "https://platform.toloka.ai/docs/integration/cli/"}, {"claim": "TypeScript SDK @toloka-platform/sdk, 0.x", "url": "https://platform.toloka.ai/docs/integration/sdk/"}, {"claim": "Agent skill: never ask a person to paste an API key; show the plan or maximum charge before a paid mutation", "url": "https://platform.toloka.ai/agents/SKILL.md"}, {"claim": "Run pricing: per-task price plus fixed 33% commission, LLM QA per call, human QA per review, video tool base plus per-minute; Expected and Maximum forecast; price frozen at deploy; pay-as-you-go from balance; run pauses when funds run out", "url": "https://platform.toloka.ai/docs/explanation/pricing-and-billing/"}, {"claim": "Prepaid team balance in USD; top-up and payment methods in the Business Console; platform takes no payments", "url": "https://platform.toloka.ai/docs/how-to/account-team-balance/"}, {"claim": "Data collection templates: Egocentric Activity Video Collection (50 to 1,000 videos, 13 default household categories, audience countries and languages); data collection covers video, audio, images, in-the-field capture; deploy takes 5 to 15 minutes", "url": "https://platform.toloka.ai/docs/cookbook/preset-project/"}, {"claim": "LLM review grades every item against written criteria; optional human review of a 10 to 100% sample; rejected expert work returned or reassigned; Quorum nodes for multi-expert agreement", "url": "https://platform.toloka.ai/docs/explanation/quality-control/"}, {"claim": "Audience by language, country and specialization; labeling tasks default to ID-verified experts; export links expire after 30 minutes", "url": "https://platform.toloka.ai/docs/explanation/security-and-data-handling/"}, {"claim": "Contributor eligibility: restricted and unsupported jurisdictions (incl. Switzerland, Taiwan, Kenya); identity, residency and eligibility verification with an identity document; project-level country limits", "url": "https://toloka.ai/legal/eligibility-and-geographic-restrictions"}, {"claim": "Self-Service Agreement (22 Apr 2026): API use (\u00a72.4); prepaid balance, purchases final (\u00a74); KYB and sanctions screening before paid orders (\u00a75.3); trial Data and Output licensed to Toloka perpetually, opt-out does not apply (\u00a75); no reselling Output, no automated accounts, no competing-model training (\u00a76.2); buyer owns paid Output subject to Seller Background IP (\u00a77.1, \u00a77.2); contributors assign rights (\u00a77.3); Toloka trains on Data and Output unless opted out; opt-out written, prospective, excludes derived Toloka Data (\u00a77.4, \u00a77.9); project moderation (\u00a73.8); EDD (\u00a72.2)", "url": "https://toloka.ai/legal/self-service-agreement"}, {"claim": "Contributor posting: smartphone or camera at 1080p/30fps or better, mounted at forehead or eye level, recording household activities", "url": "https://www.builtinaustin.com/job/video-ai-data-associate/8820646"}, {"claim": "Older field-task docs (geotagged photos in the Toloka mobile app) are no longer current; the old docs path redirects to the homepage", "url": "https://toloka.ai/docs/template-builder/templates/spatial-crowdsourcing"}, {"claim": "Tendem MCP in the official registry: io.github.Toloka/tendem-mcp 1.0.1 active, remote streamable-http at mcp.tendem.ai/mcp", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=toloka"}, {"claim": "Tendem MCP protected-resource metadata: authorization server auth.tendem.ai/realms/tendem", "url": "https://mcp.tendem.ai/.well-known/oauth-protected-resource/mcp"}, {"claim": "Tendem authorization server publishes a registration endpoint and PKCE S256", "url": "https://auth.tendem.ai/realms/tendem/.well-known/openid-configuration"}, {"claim": "Tendem MCP: OAuth on first use or 'Authorization: ApiKey' for headless use", "url": "https://github.com/Toloka/tendem-mcp"}, {"claim": "Identity document must reflect country of residence; checked by 'our identity verification provider'", "url": "https://toloka.ai/legal/eligibility-and-geographic-restrictions"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "adapter": "toloka"}, {"id": "truelabel", "name": "Truelabel", "provider_url": "https://truelabel.ai", "status": "unclaimed", "short": "Introduces robotics labs to firms that capture physical-AI data to their spec, then checks and processes the delivery.", "tags": ["physical AI", "robotics", "egocentric video", "head-worn video", "teleoperation", "motion capture", "training data", "data processing", "introductions", "consent records"], "summary": "A Brazilian company (Ensoft Inform\u00e1tica LTDA, trading as TrueLabel) that connects organizations needing physical-AI training data with organizations that capture it, and runs the processing pipeline between them. A buyer describes the task, setting, data type (head-worn video, teleoperation, motion capture, fixed cameras) and hours; Truelabel looks for suppliers who can capture it and checks each recording against the buyer's spec (camera sync, hands in view, faces and screens blurred) before delivery, splitting takes into episodes, syncing streams and labelling actions. Truelabel is not a party to the buyer-supplier deal unless a signed agreement says so; that deal sets price, ownership and licence. Its revenue is processing fees under a signed agreement per engagement. Its own collector marketplace closed on 8 October 2026; no prices, timelines or API are published.", "capabilities": {"modalities": ["video", "sensor", "audio"], "tasks": ["introduction to suppliers who capture to a buyer's spec: head-worn (first-person) video, teleoperation, motion capture, fixed cameras", "capture with Truelabel's capture app or phones it supplies: first-person video, device-motion data and capture metadata; sound only when a project needs it", "checking each recording against the buyer's spec line by line, with incomplete or ambiguous items flagged for review", "processing into training examples: episode splitting with idle time trimmed, streams synced to one clock, actions, hands and outcomes labelled to the buyer's guide, faces and screens blurred", "per-example provenance (device, session, labelling guide) in a dataset bundle with a manifest"]}, "pricing": {"model": "Quote", "from_usd": 0, "unit": "engagement", "notes": "Not published. Truelabel's revenue comes from processing fees set in a signed agreement for each engagement. The price of the capture itself is agreed between buyer and supplier, outside Truelabel's terms."}, "latency": {"typical": "Not published", "notes": "The FAQ says Truelabel does not publish sample or production timelines; operators schedule the capture they run."}, "freshness": {"mode": "mixed", "typical_age": "Commissioned capture is recorded after the supplier takes the job", "notes": "Suppliers can offer data they already hold ('Tell us what you have, or what you can capture'); only spec-driven capture is new."}, "coverage": {"regions": ["Not stated"], "notes": "No supplier locations or countries are published. Truelabel is based in S\u00e3o Paulo, Brazil, and its terms are governed by Brazilian law (LGPD). Its closed collector program's archive pages referred to the US, Canada, Mexico, Colombia, Brazil, Chile, Argentina and Peru, but that program takes no new work."}, "licensing": {"summary": "Truelabel takes no ownership of or licence to recordings: the arrangements between the organizations involved, and with the people who record, decide who owns recordings and how they may be used. The service customer (whoever hires Truelabel) must hold every right and consent, including image and voice. The terms name model training, derivative works, exclusivity, redistribution and resale as separate terms for the operator's spec, not defaults. Unless the service customer opts out in its agreement, Truelabel may use recordings in de-identified or aggregated form to improve its processing pipeline (quality checks and processing steps); it does not sell or relicense them. A check result is not acceptance, legal clearance or a warranty that data is lawful or consented."}, "verification": {"human": {"level": "none", "unknown": "Recorders hold capture-app accounts and must be 18 or older, but no identity check is described for the current service; the ID checks of the closed collector platform no longer run."}, "application": {"level": "none", "unknown": "Recordings are made with Truelabel's capture app or apparatus it supplies, and each episode is linked to the recorder's Recording Notice acknowledgement (document version, hash and time); that hash is a consent record, not a device or app attestation, and no attestation is documented. The pipeline also processes data a service customer delivers from its own rigs. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: First-person video recorded through the capture app; automated systems score or flag submissions for quality, duplication and integrity. No C2PA signing and no published check against screen recordings or generated video; customer-supplied data may never pass through the app."}, "time": {"level": "claimed", "method": "Capture timestamps and configuration are collected with each recording, and streams are aligned to one clock.", "unknown": "Timestamps are not signed or published, so no one outside Truelabel can check them."}, "location": {"level": "none", "unknown": "The capture app does not collect precise geolocation; where a recording was made rests on the supplier's word and the spec."}, "content": {"level": "claimed", "method": "Every recording is checked against the lines of the buyer's spec (e.g. two cameras in sync, hands in view, faces and screens blurred) and the buyer sees each result before delivery; incomplete or ambiguous items are flagged for review.", "unknown": "Check criteria and results are not public, and the terms say a check is not acceptance or a warranty of fitness."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms individual recordings; Truelabel runs the checks itself."}}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "'Does truelabel publish a sourcing schedule? No. Operators schedule the capture they run. truelabel does not publish sample or production timelines.' (FAQ)"}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Use the 'I need data' form on truelabel.ai (work email, team, task and setting, data type, hours) or email Truelabel; each engagement needs a signed agreement."}], "mcp": {"remote": null, "registry_name": null, "notes": "No Truelabel server in the official MCP Registry (searched 'truelabel', 2026-10-26)."}, "notes": "No public API or docs. https://truelabel.ai/api returns HTTP 410 'This application service is no longer available.' The site publishes llms.txt, a research corpus for AI assistants, not an ordering interface."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"notes": "No buyer payment method is published. Processing fees are set in the signed engagement agreement; the buyer pays the supplier under their own agreement. The collector platform's checkout closed on 8 October 2026."}, "capture": {"by": "people", "consent": {"documented": true, "method": "The service customer must obtain every right and consent (including image and voice) outside the app. Before recording, each recorder ticks an unchecked Recording Notice box; Truelabel stores the document version, locale, hash, action and time and links it to each recording episode. Recorders must record only themselves: no other identifiable person, no one under 18, no screens, documents or private conversations.", "unknown": "Consent from people other than the recorder and location releases are collected by the supplier, outside Truelabel, and are not shown publicly."}, "worker_pay": {"model": "Set by the organization the person records for; Truelabel does not hire, manage or pay recorders", "disclosed": false}}, "requester": {"checks": "The service is for organizations (Terms s.3), and each engagement needs a signed agreement with Truelabel. The 'I need data' form asks for a work email and a team type (AI lab, robotics, other).", "unknown": "No published check of who a buyer is or what the data is for, beyond the signed agreement."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "sources": [{"claim": "Connects people who capture real-world training data with AI labs and robotics teams; buyer form (task and setting, data type, hours); 'We'll find suppliers who can capture it'; spec checks before delivery; episodes, one clock, labels, blurring, per-example provenance and manifest", "url": "https://truelabel.ai/"}, {"claim": "Operator: Ensoft Inform\u00e1tica LTDA, S\u00e3o Paulo; connects data sellers and buyers and runs the processing pipeline; revenue from processing fees; not a party to buyer-seller agreements; checks are not acceptance or warranty; signed agreement per engagement; capture app and supplied devices; capture rules; Truelabel holds no rights in recordings; pipeline-improvement use unless opted out; service for organizations, 18+; no scraping or probing of the website", "url": "https://truelabel.ai/legal/terms"}, {"claim": "Capture app records first-person video, device-motion data and metadata; sound only when required; no precise geolocation; Recording Notice acknowledgement with version, hash and time linked to each episode; service customer collects consent", "url": "https://truelabel.ai/legal/recording-notice"}, {"claim": "Capture timestamps collected; automated scoring for quality, safety, duplication and integrity; collector platform closed 8 October 2026 (no collector accounts, payouts or checkout)", "url": "https://truelabel.ai/legal/privacy"}, {"claim": "No published sample or production timelines; rights (training, exclusivity, resale) set in the operator's spec, not defaults; formats belong in the spec", "url": "https://truelabel.ai/faq"}, {"claim": "Collector program closed; archive pages for US, Canada, Mexico and Latin American countries", "url": "https://truelabel.ai/collector-jobs"}, {"claim": "Former API returns HTTP 410 'This application service is no longer available'", "url": "https://truelabel.ai/api"}, {"claim": "No Truelabel server in the MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=truelabel"}]}, {"id": "truepic-vision", "name": "Truepic Vision", "provider_url": "https://truepic.com", "status": "unclaimed", "adapter": "truepic-vision", "short": "Texts or emails a person at the place a capture link; photos are checked for time, GPS spoofing and device integrity.", "summary": "Truepic Vision sends the person at a property, vehicle or piece of equipment a capture link by text or email. They take photos and videos in the Truepic Vision app or a mobile browser. Each photo comes back with pass/warn/fail results: device time against server time, GPS spoofing, distance from the address, signed capture details, upload integrity, rooted or jailbroken phones (app only), and photos of a screen. Results arrive by API or webhook, with an optional PDF report and AI analysis. Access is sold to businesses with a $1,000/month minimum, and API credentials come only after Truepic sets up the organisation. The service has US and UK/Europe regions.", "tags": ["inspection", "insurance", "lending", "occupant capture", "fraud detection", "content credentials"], "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["virtual property/vehicle/equipment inspection", "photo and video capture from a guided list", "short-answer and multiple-choice questions", "capture limited to a set distance from an address (geofencing)", "request more photos on an inspection", "reminders to start or finish", "PDF report", "optional AI analysis (object, odometer, VIN, text detection)"]}, "capture": {"by": "subject"}, "pricing": {"model": "monthly minimum or annual subscription + per inspection", "from_usd": 5, "unit": "inspection (Flex plan, product recall & warranty; the $1,000/month minimum includes an allotment)", "notes": "Flex: month-to-month. The $1,000/mo minimum is one invoice that includes a use-case allotment (e.g. 200 recall inspections at $5); inspections above it bill at the plan rate. Per-inspection rate by use case: product recall $5, insurance underwriting $16\u2013$48, home lending $29, auto warranty $36, construction lending $39, insurance claims $48, equipment financing and business credentialing $51. Standard (annual): headline $1,450/mo at $58/inspection for 300/yr; use-case tiers run down to $2/inspection for product recall at 50,000+/yr; overage $28\u2013$65 by tier. Enterprise above 10,000/yr is custom. One Virtual Inspection covers up to 100 images from one person for one event; every further 100 images counts as another. AI Analysis is billed separately per subject."}, "coverage": {"regions": ["US (vision-api.truepic.com)", "Europe (UK region, vision-api.truepic.uk)"], "notes": "The regions are where the data is hosted, not where capture can happen. Capture happens wherever the recipient is. Links go out by email or SMS. SMS defaults to US numbers, and GB, IT, DE, NL and FR need a sender number set up by Truepic. Native-app languages: English, British English, Spanish, French (CA, FR), German, Portuguese (PT), Italian, Greek. The web app is English only."}, "licensing": {"summary": "Terms of Service \u00a73.2: \"As between Truepic and Customer, Customer owns all right, title, and interest in and to the Customer Content\" (photos, data and other content from Customer or its End Users). Truepic gets a licence during the term to use the content \"to provide and improve the Services and to create the Aggregated Anonymous Data\", which it may use \"for any lawful purpose\". Reports (\"analytics, data, and output generated from an inspection\", including AI Output) are part of the Services, which Truepic owns. \u00a74.4 bars selling, sublicensing or providing the Services to third parties and bars modifying any Report. Content from AI Analysis is 'not used to train or improve generalized AI models' (Additional Product Terms). The terms do not mention resale of the captured photos, or AI training by the buyer.", "buyer_owns_output": true, "vendor_trains_on_data": "yes"}, "verification": {"human": {"level": "none", "unknown": "Whoever opens the link does the capture. The buyer supplies their name and phone or email, and Truepic does not document any identity check on them."}, "application": {"level": "claimed", "method": "Truepic Lens capture in the Vision app or web app. capture_integrity_result checks the signed details, data_result checks the upload. jailbreak_result and device attestation (AppAttest/SafetyNet) run in the native apps only.", "unknown": "These are Truepic's own results. Its signing certificates chain to Truepic's own CA, which is not on the C2PA Trust List, and Truepic is not on the C2PA Conforming Products List. The web app signs on the server and has no root detection or attestation. SafetyNet is deprecated by Google in favour of Play Integrity."}, "camera": {"level": "claimed", "method": "Lens signs each capture with content credentials (C2PA manifest): on-device with a device key in the native Vision apps, server-side in the web app, Lens Web SDK and Embedded Vision. capture_integrity_result checks the signed details ('Securely signed; tamper-proof').", "unknown": "Truepic is not on the C2PA Conforming Products List and its CA is not on the C2PA Trust List (checked 2026-10-28), so a validator will not report the manifest as Trusted. Web captures are signed on Truepic's server, not on the device. No revocation policy for signing keys is documented. Signing does not detect a re-photographed screen; pop_result (under content) is a model's verdict.", "standard": "c2pa"}, "time": {"level": "claimed", "method": "time_result: device time within 5 minutes of server time and not modified. The time is signed into the capture's content credentials.", "unknown": "The signature chains to Truepic's own CA, not the C2PA Trust List, and no RFC 3161 time-stamp is documented. The buyer has to trust Truepic's check."}, "location": {"level": "claimed", "method": "geolocation_result (GPS spoofing check); distance_from_customer_address_exceeds_threshold; optional geofencing; Risk Network falsified_location insight", "unknown": "Location comes from the phone and can still be spoofed. Truepic's spoof detection is its own, and the web app has no sensor data."}, "content": {"level": "claimed", "method": "Integrity: content credentials and capture_integrity_result (signed details verified; the upload checked by data_result). Depiction: pop_result flags photos of a screen or a print; optional object_detection_result and content_analysis_result (odometer, VIN, text); optional AI Analysis.", "unknown": "Truepic calls AI Output probabilistic and \"not a definitive determination\". The default checks cover tampering, not whether the photo shows the right thing. Integrity rests on Truepic's own CA; depiction checks (pop_result, object and content analysis) are detector verdicts and cannot raise content above claimed."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms the capture. The Risk Network flags devices that other customers have flagged, which is a fraud signal, not confirmation."}}, "api": {"available": true, "docs_url": "https://vision.truepic.dev/docs/", "base_url": "https://vision-api.truepic.com/v3", "auth": [{"type": "oauth2", "how_to_get": "Truepic sets up the organisation after a demo (no self-serve sign-up, no sandbox). An admin then generates client_id and client_secret under Dashboard > Settings > API Integration. Swap them at https://vision-auth.truepic.com/oauth/token (client_credentials, audience https://vision-api.truepic.com) for a Bearer JWT that lasts 72 hours. The UK region uses vision-auth.truepic.uk.", "header": "Authorization", "scopes": [], "dynamic_registration": false, "transport": "rest"}], "endpoints": [{"action": "order", "method": "POST", "path": "/inspections", "params": "team_id, inspection_type_id, customer_first_name, customer_last_name, custom_field_values, send_methods {text,email}, customer_phone_number, customer_email_address", "notes": "The response includes inspection_link. Texts and emails go to real recipients, even in testing."}, {"action": "order", "method": "PUT", "path": "/text/request", "notes": "Request more photos or videos on an existing inspection"}, {"action": "status", "method": "GET", "path": "/inspections/{inspectionId}", "notes": "Status, result.verification_result, and per-photo test results and media URLs (signed and time-limited)"}, {"action": "list", "method": "GET", "path": "/inspections"}, {"action": "fetch", "method": "POST", "path": "/inspections/{inspectionId}/export", "notes": "PDF report (a GET form also exists)"}], "rate_limits": "20 requests / 10 s across all endpoints", "self_serve": false, "notes": "Public OpenAPI 3.0 at https://vision-api.truepic.com/v3/open-api (version 3.91.0). Webhooks report status changes and test results. A no-key embeddable website form can also create inspections. No MCP server."}, "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Truepic home page: \"21 hour Average turnaround time\"; capture happens when the recipient opens the link."}, "latency": {"typical": "Average turnaround 21 hours (Truepic's figure)", "notes": "The person at the place does the capture, from a link, so timing depends on them. An inspection that isn't finished in time expires: it goes to Ready for Review if any capture was made, otherwise it is Canceled."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "gate": "contract", "automation_allowed": true, "notes": "Truepic's Acceptable Use Policy bars bots, scripts and automated tools 'without Truepic's express prior written authorization'; the documented API is a customer feature, so an API customer gets that authorization through its Order Form (medium confidence)."}, "payment": {"methods": ["invoice", "card"], "agent_can_pay": false, "prepaid": false, "notes": "Fees are set by an Order Form and invoiced, or charged to a card on file (a \"Recurring Payment Method\"). Flex is billed monthly in arrears."}, "requester": {"checks": "Only business customers with an Order Form. The AUP bans impersonation, uploading personal information without consent, and falsifying results.", "unknown": "No documented check of who a customer sends links to, or why."}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-28", "expires": "2027-10-27", "sources": [{"claim": "Per-photo verification tests (time, geolocation, distance, capture integrity, data transfer, device integrity, picture of screen, optional content tests)", "url": "https://vision.truepic.dev/docs/verification-tests.md"}, {"claim": "No self-serve sign-up or sandbox; native app, web app and WebView options; Lens attaches content credentials; app languages", "url": "https://vision.truepic.dev/docs/getting-started.md"}, {"claim": "Device attestation, root detection and on-device signing only in native apps; web signs server-side; photos and videos", "url": "https://vision.truepic.dev/docs/compare-integration-approaches.md"}, {"claim": "Rate limit 20 requests / 10 s; OAuth 2.0 client credentials per organisation; no self-serve sandbox; real SMS/email in testing", "url": "https://vision.truepic.dev/docs/api-overview.md"}, {"claim": "Credentials generated by an admin in the Dashboard; token endpoint; 72-hour tokens", "url": "https://vision.truepic.dev/docs/get-api-access.md"}, {"claim": "US and Europe (UK) regions, base and auth URLs", "url": "https://vision.truepic.dev/docs/regions.md"}, {"claim": "POST /inspections fields; SMS countries US, GB, IT, DE, NL, FR", "url": "https://vision.truepic.dev/docs/create-inspections.md"}, {"claim": "Endpoint list, servers and security schemes (OpenAPI 3.91.0)", "url": "https://vision-api.truepic.com/v3/open-api"}, {"claim": "OAuth authorization server metadata: no registration_endpoint", "url": "https://vision-auth.truepic.com/.well-known/oauth-authorization-server"}, {"claim": "Inspection expiry behaviour", "url": "https://vision.truepic.dev/docs/inspection-statuses.md"}, {"claim": "Geofencing near the address", "url": "https://vision.truepic.dev/docs/inspection-types.md"}, {"claim": "Truepic signs with its own CA (Lens API, C2PA JUMBF manifest)", "url": "https://vision.truepic.dev/docs/lens-api.md"}, {"claim": "Risk Network insights (falsified_location, flagged devices)", "url": "https://vision.truepic.dev/docs/risk-network.md"}, {"claim": "Flex, Standard and Enterprise prices and per-use-case rates", "url": "https://www.truepic.com/pricing"}, {"claim": "21-hour average turnaround; capture via email or text link in browser or app", "url": "https://www.truepic.com/"}, {"claim": "Customer owns Customer Content; Truepic licence to improve Services; resale and Report-modification restrictions; invoicing and card payment", "url": "https://www.truepic.com/terms-of-service"}, {"claim": "Virtual Inspection billing unit; AI Analysis content not used to train generalized models", "url": "https://www.truepic.com/additional-product-terms"}, {"claim": "May use anonymized, de-identified content to train internal AI models", "url": "https://www.truepic.com/privacy-policy"}, {"claim": "AUP: no automated tools without express prior written authorization; no impersonation or falsified results", "url": "https://www.truepic.com/acceptable-use-policy"}, {"claim": "Truepic absent from the C2PA Conforming Products List", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Truepic absent from the C2PA Trust List", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/trust-list/C2PA-TRUST-LIST.pem"}, {"claim": "Lens: content credentials on every capture; on-device signing in native apps, server-side signing on web; AppAttest/SafetyNet in native apps", "url": "https://vision.truepic.dev/docs/compare-integration-approaches.md"}, {"claim": "Capture Integrity test: 'Securely signed; tamper-proof'", "url": "https://vision.truepic.dev/docs/verification-tests.md"}, {"claim": "C2PA Conforming Products List (Truepic not listed, checked 2026-10-28)", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}]}, {"id": "uk-ea-flood", "name": "Environment Agency real-time flood-monitoring API", "status": "unclaimed", "provider_url": "https://environment.data.gov.uk/flood-monitoring/doc/reference", "short": "England's river, groundwater and rain gauges, UK tide gauges and live flood warnings. Free, no key.", "summary": "The Environment Agency's beta real-time API serves water level and flow from about 5,500 monitoring stations in England, about 1,000 rain gauges, the UK National Tide Gauge Network, and current flood alerts and warnings for England, all keyless under the Open Government Licence. Levels and flows are measured usually every 15 minutes, but the Agency says stations typically send data once or twice a day, more often when flood risk is high; on 2026-10-26 most latest readings were under an hour old.", "capabilities": {"modalities": ["sensor"], "tasks": ["find gauges within N km of a point, by river, town, catchment, type or status", "latest river, groundwater and tidal water level", "latest river flow (some stations)", "15-minute rainfall totals from tipping-bucket rain gauges", "tide gauge levels (15-minute mean) around the UK coast", "wind and air temperature at a few stations", "current flood alerts and warnings with severity and situation message", "flood alert and warning area polygons", "readings for the last four weeks; older readings as daily CSV archives"]}, "coverage": {"regions": ["England (rivers, groundwater, rainfall, flood warnings)", "UK coast (tide gauges)"], "areas": ["GB-ENG"], "notes": "The station list returned 5,539 stations on 2026-10-26 (5,318 level, 1,055 rainfall and 394 flow measures, plus a few wind and temperature). River, rain and groundwater stations are in England; queries around Cardiff, Aberystwyth and Glasgow found none except Newport tide gauges. The tide gauge network (the Agency says 44 locations) also covers Wales, Scotland, Northern Ireland and the Isle of Man; Lerwick, Portrush and Port Erin returned 04:15 UTC readings, while Jersey is listed but returned no readings. coverage.areas lists England only, since the coastal sites are a thin network. Flood warnings are the Agency's, for England. Rain gauge locations are rounded to a 100 m grid and the stations are unnamed."}, "pricing": {"model": "free", "from_usd": 0, "unit": "request", "notes": "Free open data under the Open Government Licence, with no requirement for registration."}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-26", "automation_allowed": true, "gate": "none", "rate_limit": {"batch_max": 10000, "scope": "unknown", "notes": "No request rate published. Readings: 500 items by default, at most 10,000 via _limit; readings?latest returns every station in one call. Responses carry Cache-Control max-age=300.", "source_url": "https://environment.data.gov.uk/flood-monitoring/doc/reference"}}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "Environment Agency: water levels and flows are monitored usually every 15 minutes, but data is transferred typically once or twice per day, more often during heightened flood risk; the readings set is updated every 15 minutes. Tide gauge data typically lags 15 to 30 minutes."}, "latency": {"typical": "Usually under an hour for most stations; some only once or twice a day", "notes": "The Agency says levels and flows are measured usually every 15 minutes but transferred typically once or twice per day, more often when flood risk is high; rainfall is also typically transferred once or twice a day; tide gauges lag 15 to 30 minutes. Live check at 05:00 UTC on 27 Oct 2026 (26 Oct US time) of /data/readings?latest: 5,376 latest values, newest 17 minutes old, median 31 minutes, 84% under 60 minutes, 98% under 24 hours, 117 older than a day. Responses are cached (Cache-Control max-age=300). Beta service with no guarantee of service level."}, "freshness": {"mode": "live", "typical_age": "Median about 30 minutes on 2026-10-26; up to a day for stations that send once or twice daily", "notes": "The API holds readings for up to the last four weeks; a reading's URI stops resolving after 28 days. Readings are sometimes updated in batches, so use the since filter on a measure or station to keep a full history. Daily CSV archives are at /flood-monitoring/archive. A flood warning stays at severity 4 ('Warning no longer in force') for about 24 hours, then disappears."}, "licensing": {"summary": "Open Government Licence v3.0, no registration. The OGL grants a worldwide, royalty-free, perpetual, non-exclusive licence to copy, publish, distribute, adapt and exploit the information commercially and non-commercially, on condition of attribution. The API asks for the statement 'this uses Environment Agency flood and river level data from the real-time data API (Beta)' (rainfall and tide gauge data have their own wording). The site terms say logos and trademarks are exempt from the OGL. Neither the OGL nor the site terms mention AI or machine-learning training, or resale by name."}, "verification": {"time": {"level": "claimed", "method": "Each reading carries a dateTime in UTC (Z suffix) for when the reading applies.", "unknown": "Timestamps come from the Agency's own telemetry system and are not signed; how logger clocks are set or checked is not documented. Readings may arrive in late batches."}, "location": {"level": "claimed", "method": "Fixed stations with published WGS84 lat/long, British National Grid easting/northing and grid reference.", "unknown": "Coordinates are the Agency's own records, not independently checked. Rain gauge locations are deliberately rounded to a 100 m grid."}, "content": {"level": "claimed", "method": "Each measure states parameter, qualifier, unit and datum (mAOD, mASD or m) and value type (instantaneous, mean, total, maximum, minimum); stations publish typical range and records.", "unknown": "Beta service with no guarantee of service level; the Agency says it should not be relied on for safety-critical uses. No quality flags are published per reading, and NaN values are simply omitted from JSON."}, "human": {"level": "none", "unknown": "Not applicable: readings come from automated Environment Agency gauges, not from people."}, "application": {"level": "none", "unknown": "No signing or attestation of readings from gauge to API; integrity rests on the Agency operating the network."}, "camera": {"level": "none", "unknown": "Not a camera source."}, "corroboration": {"level": "none", "unknown": "Nothing documented independently confirms individual readings."}}, "api": {"available": true, "self_serve": true, "docs_url": "https://environment.data.gov.uk/flood-monitoring/doc/reference", "base_url": "https://environment.data.gov.uk/flood-monitoring", "auth": [{"type": "none", "how_to_get": "No key and no registration."}], "endpoints": [{"action": "search", "method": "GET", "path": "/id/stations", "params": "lat, long, dist (km; may be approximated by a bounding box); parameter (level, flow, rainfall...); qualifier; type (SingleLevel, MultiTraceLevel, Coastal, Groundwater, Meteorological; TideGauge for tide gauges); status (Active, Closed, Suspended); riverName; town; catchmentName; search; _view=full; _limit; _offset", "notes": "Each station lists its measures, coordinates and status."}, {"action": "fetch", "method": "GET", "path": "/data/readings", "params": "latest | today | date | startdate&enddate; parameter; qualifier; stationReference; station; _view=full; _sorted; _limit", "notes": "The Agency recommends one call to /data/readings?latest every 15 minutes rather than crawling stations."}, {"action": "fetch", "method": "GET", "path": "/id/stations/{id}/readings", "params": "latest | today | date | startdate&enddate | since (dateTime); _sorted; _limit; _view=full", "notes": "All readings for one station; /id/measures/{id}/readings does the same for one measure."}, {"action": "list", "method": "GET", "path": "/id/floods", "params": "min-severity (1 severe to 4 no longer in force); county; lat, long, dist", "notes": "Current flood alerts and warnings, updated every 15 minutes."}, {"action": "list", "method": "GET", "path": "/id/floodAreas", "params": "lat, long, dist; _limit", "notes": "Flood alert and warning areas with a link to each GeoJSON polygon."}], "rate_limits": "No rate limit published. Readings return 500 items by default (no default limit for latest, today or date queries unless _sorted is set), up to a hard limit of 10,000 via _limit; flood areas default to 500 with no hard limit. Responses may be cached (Cache-Control max-age=300), clients should follow HTTP redirects, and Last-Modified / If-Modified-Since are supported.", "notes": "JSON by default; CSV, RDF, Turtle and HTML via suffix or content negotiation. Version 0.9, status Beta.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No Environment Agency MCP server in the official MCP Registry. Third-party: io.github.pipeworx-io/uk-flood-monitoring (remote https://gateway.pipeworx.io/uk-flood-monitoring/mcp) and io.github.qinisolabs/floodwise."}}, "capture": {"by": "devices"}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "updated": "2026-10-27", "expires": "2027-10-27", "adapter": "uk_ea_flood", "tags": ["flood", "river", "river level", "flow", "groundwater", "rainfall", "tide", "flood warning", "england", "uk", "government", "open data", "free", "real-time"], "sources": [{"claim": "API reference: near real time flood warnings, flood areas, levels and flows; monitored usually every 15 minutes, transferred typically once or twice per day, more in heightened flood risk; OGL with no registration and attribution statement; no service-level guarantee, not for safety-critical use; one ?latest call every 15 minutes; caching and redirects; endpoints and filters; 500 default / 10,000 hard limit for readings, no hard limit for flood areas; readings for up to four weeks; warnings updated every 15 minutes and kept at severity 4 for about 24 hours; daily CSV archives", "url": "https://environment.data.gov.uk/flood-monitoring/doc/reference"}, {"claim": "About 1,000 telemetered tipping-bucket rain gauges, 15-minute totals, typically transferred once or twice per day; stations unnamed and located to a 100 m grid; rainfall attribution statement; reading URIs valid for 28 days", "url": "https://environment.data.gov.uk/flood-monitoring/doc/rainfall"}, {"claim": "UK National Tide Gauge Network, 44 locations around the UK coast, 15-minute mean sea level, latest reading typically lags 15 to 30 minutes, times in UTC; type=TideGauge filter", "url": "https://environment.data.gov.uk/flood-monitoring/doc/tidegauge"}, {"claim": "Live keyless GET 2026-10-26 (05:00 UTC 27 Oct): 5,376 latest values, median 31 minutes old, 84% under an hour; meta version 0.9, 'Status: Beta service', OGL v3 licence; Cache-Control max-age=300", "url": "https://environment.data.gov.uk/flood-monitoring/data/readings?latest"}, {"claim": "Live GET 2026-10-26: 5,539 stations; measure counts by parameter (level, rainfall, flow, wind, temperature)", "url": "https://environment.data.gov.uk/flood-monitoring/id/stations?_limit=10000"}, {"claim": "Live GET 2026-10-26: stations near a point in London", "url": "https://environment.data.gov.uk/flood-monitoring/id/stations?lat=51.5&long=-0.12&dist=5&_limit=2"}, {"claim": "Live GET 2026-10-26: tide gauge stations include Lerwick, Ullapool, Aberdeen, Portrush, Bangor (NI), Holyhead, Milford Haven, Port Erin and Jersey", "url": "https://environment.data.gov.uk/flood-monitoring/id/stations?type=TideGauge"}, {"claim": "Live GET 2026-10-26: Lerwick tide gauge reading at 04:15 UTC 27 Oct", "url": "https://environment.data.gov.uk/flood-monitoring/id/stations/E74424/readings?_sorted&_limit=1"}, {"claim": "Live GET 2026-10-26: 111 flood items (43 flood alerts, 13 flood warnings, 55 no longer in force) with severity and message", "url": "https://environment.data.gov.uk/flood-monitoring/id/floods"}, {"claim": "Defra Data Services Platform terms: lawful use; content and data under the OGL unless stated; logos and trademarks exempt; feeds offered for other websites and applications", "url": "https://environment.data.gov.uk/support/faqs/275811163/275811177"}, {"claim": "OGL v3.0: worldwide, royalty-free, perpetual, non-exclusive licence to copy, adapt and exploit commercially and non-commercially, with attribution", "url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"}, {"claim": "No Environment Agency MCP server in the official registry; third-party uk-flood-monitoring and floodwise servers listed", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=flood"}]}, {"id": "umbra", "name": "Umbra", "status": "unclaimed", "provider_url": "https://umbra.space", "tags": ["satellite", "satellite imagery", "SAR", "synthetic aperture radar", "radar", "X-band", "night", "through clouds", "all-weather", "tasking", "earth observation", "remote sensing", "aerial", "spotlight", "scan", "dwell", "change detection", "STAC", "api", "global", "creative commons"], "summary": "Operator of a synthetic aperture radar (SAR) satellite constellation that images through clouds and at night. Its Canopy web app and REST API let you check feasibility, task a new Spotlight (5x5 km, 0.25-1 m priced) or Scan capture in a time window you set, track it, and download the delivered collect via STAC. Collects generally arrive 1-4 hours after the window closes. List prices start at $675 per 5x5 km scene at 1 m. Every Canopy registration goes through Umbra's regulatory review. Umbra also runs a public CC BY 4.0 open-data archive, but that is context only: here it is listed for new captures.", "capabilities": {"modalities": ["aerial"], "tasks": ["task a new SAR Spotlight capture centred on a point (default 5x5 km scene; 4x4 km, 10x10 km and Natural Footprint scene sizes if enabled for your organization; range resolution 0.25, 0.35, 0.5, 1 or 2 m; multilook 1/2/4/8 via the API)", "task a new SAR Scan strip between two points 25-100 km apart (8 km swath; 2 m up to 100 km, 1 m up to 75 km, 0.5 m up to 50 km)", "Extended Dwell collects (list-priced on umbra.space; not an imaging mode in the Canopy API, which offers SPOTLIGHT and SCAN)", "feasibility check: get imaging opportunities for a location and time window before ordering", "track task and collect status; cancel tasks that are still SCHEDULED, SUBMITTED, ACCEPTED or ACTIVE", "deliver products: GEC (always), SICD, SIDD, CPHD, CRSD, DI_GIF, DI_TIF, plus STAC metadata; CSI products for 5x5 km Spotlight", "push deliveries to a configured cloud destination (AWS S3 or Google Cloud Storage delivery configs)"]}, "pricing": {"model": "per tasked collect, list price by imaging mode, scene size, resolution and number of looks", "from_usd": 675, "unit": "per 5x5 km Spotlight scene (1 m, 1 look)", "notes": "From umbra.space/pricing and the Umbra Product Guide. Spotlight 5x5 km, 1 look: 1.0 m $675, 0.5 m $950, 0.35 m $1,750, 0.25 m $3,250; more looks raise it (e.g. 1.0 m 10-look $2,200; 0.25 m 3-look $4,900). Natural Footprint, 1 look: $1,500 (1 m) to $3,750 (0.25 m); processed to 10x10 km at no extra charge on request if the scene is large enough. Extended Dwell 5x5 km $4,750; CSI and SAR video +40% on list price. Scan by strip length: 2 m $1,250-$2,250, 1 m $2,500-$3,500, 0.5 m $4,000 (25-50 km). GEC, SICD, SIDD and JSON metadata are included; CPHD or CRSD add $250 each and switch a 5x5 km Spotlight to Natural Footprint pricing. Bistatic/multistatic: +100%. A 30-day Archive Withhold (keeps the new collect out of Umbra's archive) costs 200% of list price. Pricing is per collect; no minimum order was stated. The Canopy API has no price-quote endpoint. Fees are non-refundable under the Tasking Terms."}, "latency": {"typical": "Delivered 1-4 hours after the end of your tasking window", "notes": "Task Lifecycle Tutorial: the scheduler processes the task queue every 10 minutes, and collect delivery 'will generally happen 1-4 hours after the associated Task's windowEndAt has passed.' Capture happens inside the window you set (windowStartAt/windowEndAt); the scheduler biases to the earliest feasible time in the window. In the UI the window end is limited to 7 days ahead, and scheduling reaches about 7-8 days ahead (state vectors). Umbra says it is 'generally safe to submit Tasks up to three hours before the desired collection time'. Product Guide mean revisit: 4.71 h at the equator, 3.75 h at \u00b130\u00b0, 2.32 h at \u00b150\u00b0, 0.88 h at \u00b167\u00b0. If feasibility returns no opportunities, the docs say to resubmit with a longer window."}, "coverage": {"regions": ["Global (subject to orbit passes and restricted access areas)"], "notes": "SAR sees through cloud and works at night. Any point or line can be requested; actual availability comes from the feasibility endpoint. Polar orbit (97.4\u00b0), ground range 170-1,100 km either side of the flight path. Restricted Access Areas (an API endpoint and a published GeoJSON list) block tasking: some areas need screening beyond standard KYC (ongoing conflict), some conflict with Umbra priorities, and some are limited by US regulation (e.g. resolution limits over Israel). Spotlight is 5x5 km by default; Natural Footprint is larger (commonly 7.5x11 to 16x10 km) if enabled. Scan swath is 8 km wide.", "areas": ["*"]}, "licensing": {"summary": "The Satellite Tasking Services Terms and Conditions license all delivered Content under CC BY 4.0: content is 'licensed, not sold', and Umbra keeps all right, title and interest. Attribution is required, with the notice 'SAR-derived data \u00a9 [YEAR] Umbra Lab, Inc.' on adapted material. Umbra's Licensing & Attribution page says customers may publish, resell at a profit without royalty, and sell derivative works. The Terms override CC BY where they conflict, e.g. US export controls and sanctions (no resale to embargoed countries). The Terms do not mention AI or machine-learning training. Per the Product Guide, new tasked collects enter Umbra's Archive Catalog (which Umbra sells) unless you buy a 30-day Archive Withhold at 200% of list price. Delivered content can be downloaded for 90 days after notice. The separate open-data archive on AWS is also CC BY 4.0.", "resale": "allowed", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Not applicable in the usual sense: captures are made by Umbra's own satellites, not individual people"}, "application": {"level": "none", "unknown": "No public description of signing or checksums that would prove delivered files are unmodified Umbra products; the STAC metadata documented has no checksum fields. Downloads come from pre-signed URLs on Umbra's STAC endpoint."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Collects carry SAR metadata (platform/satelliteId, range resolution, looks, polarization, grazing, azimuth and squint angles); Umbra publishes satellite IDs with NORAD numbers. SICD/CPHD are standard NGA sensor-model formats. Sensor identity and parameters are operator-asserted metadata; no independent check documented. Not on the C2PA Conforming Products List."}, "time": {"level": "claimed", "method": "STAC datetime is the centre of aperture; start_datetime and end_datetime are the first and last radar pulse, in UTC, inside the tasked window", "unknown": "How pulse times are measured and checked is not publicly documented, and nothing timestamps them independently"}, "location": {"level": "claimed", "method": "Collects carry footprint geometry (WGS 84); GEC is geocoded and ellipsoid-corrected; SICD includes sensor geometry. Umbra states 8 m CE90 absolute geolocation accuracy, and its automated QA includes a geolocation calibration check when calibration sites are collected.", "unknown": "The 8 m CE90 figure is a system specification, not a per-collect measurement; no public per-collect geolocation report"}, "content": {"level": "claimed", "method": "Limited warranty in the Tasking Terms that delivered Content will 'reasonably be of the area of interest as requested' and meet the Product Guide specs (replace or credit, claims within 30 days). Automated QA before delivery rejects blank, eclipsed or mispointed collects (status CORRUPT, task ANOMALY).", "unknown": "No public method for detecting manipulated or synthetic SAR imagery; QA checks image quality, not authenticity. Raw CPHD/CRSD lets an expert reprocess, but that is not an integrity guarantee."}, "corroboration": {"level": "none", "unknown": "No documented cross-check against other sensors; a buyer could compare against other SAR or optical providers themselves"}}, "freshness": {"mode": "on_demand", "typical_age": "Captured inside the window you set after ordering, delivered 1-4 hours after the window ends", "notes": "IRLpls lists Umbra for new tasked captures. For context only: Canopy also has a STAC archive catalog and archive-task ordering (priced at the equivalent list price), and Umbra publishes a CC BY 4.0 open-data archive on AWS (s3 umbra-open-data-catalog, us-west-2). Those are not the offering listed here."}, "api": {"available": true, "docs_url": "https://docs.canopy.umbra.space", "base_url": "https://api.canopy.umbra.space", "auth": [{"type": "oauth2", "header": "Authorization", "env_var": "UMBRA_API_KEY", "how_to_get": "OAuth2 client credentials for scripts and services: an organization admin creates one shared client_id/client_secret on the Canopy Organization page (Authentication tab), then POSTs them to https://auth.canopy.umbra.space/oauth/token with audience https://api.canopy.umbra.space and grant_type client_credentials. Tokens last 86,400 s; token requests are limited to 50 per 24 h per client, so cache them. Use audience https://api.canopy.prod.umbra-sandbox.space for the sandbox. Needs an approved Canopy account.", "dynamic_registration": false, "transport": "rest"}, {"type": "bearer", "header": "Authorization", "env_var": "UMBRA_API_KEY", "how_to_get": "Copy an access token from https://canopy.umbra.space/account (expires after 24 hours). For a sandbox token, switch on 'Test Mode' in the app header and call api.canopy.prod.umbra-sandbox.space; sandbox collects are not billable. No public account sign-up flow was found: the docs point to umbra.space/contact, and every registration is subject to Umbra's regulatory review."}], "endpoints": [{"action": "quote", "method": "POST", "path": "/tasking/feasibilities", "params": "constraints (required; SPOTLIGHT with GeoJSON Point geometry, or SCAN with a 2-point LineString), windowStartAt, windowEndAt (required); contractId", "notes": "Feasibility rather than price: returns id and status (RECEIVED/COMPLETED/ERROR). Poll until COMPLETED to read opportunities. Rate limit 2/s, 120/min, 3600/h."}, {"action": "status", "method": "GET", "path": "/tasking/feasibilities/{id}", "notes": "Poll feasibility; results are kept only about five minutes after creation. Null opportunities means resubmit with a longer window."}, {"action": "order", "method": "POST", "path": "/tasking/tasks", "params": "taskName, constraints, windowStartAt, windowEndAt (required); rangeResolutionMinMeters (Spotlight 0.25/0.35/0.5/1/2, default 1; Scan 0.5/1/2), multilookFactor (1/2/4/8), sceneSize (4x4_KM, 5x5_KM, 10x10_KM, NATURAL_FOOTPRINT), polarization, grazing angle min/max, productTypes (CPHD, GEC, SIDD, SICD, DI_GIF, DI_TIF, CRSD), deliveryConfigId, contractId, satelliteIds, tags, userOrderId", "notes": "Creates a new capture (billable). New tasks should move to SUBMITTED or REJECTED within minutes. No idempotency key is documented (userOrderId is a free label, searchable on collects). Rate limit 2/s, 120/min, 300/h. Check organization settings (GET /admin/organizations/settings) for the resolutions and products your organization may use."}, {"action": "status", "method": "GET", "path": "/tasking/tasks/{id}", "notes": "Task status (RECEIVED, SUBMITTED, ACCEPTED, ACTIVE, SCHEDULED, TASKED, TRANSMITTED, INCOMPLETE, PROCESSING, PROCESSED, DELIVERING; terminal DELIVERED, REJECTED, CANCELED, ERROR, ANOMALY) and collectIds"}, {"action": "order", "method": "PATCH", "path": "/tasking/tasks/{id}/cancel", "notes": "Cancel a task; works only while SCHEDULED, SUBMITTED, ACCEPTED or ACTIVE. Returns 204, or 422 on failure. Rate limit 2/s, 120/min, 300/h."}, {"action": "status", "method": "GET", "path": "/tasking/collects/{id}", "notes": "Collect status and history (e.g. SCHEDULED ... DELIVERED; CORRUPT if automated QA fails)"}, {"action": "list", "method": "POST", "path": "/tasking/collects/search", "params": "query (id, taskId, status, taskType, startAt/endAt, rangeResolution, multilookFactor, polarization, geometry.intersects, userOrderId ...), limit (max 200), skip, sortBy", "notes": "Your organization's collects"}, {"action": "list", "method": "GET", "path": "/tasking/restricted-access-areas", "notes": "GeoJSON FeatureCollection of places where tasking is disallowed for your organization"}, {"action": "fetch", "method": "GET", "path": "/v2/stac/collections/umbra-sar/items/{item_id}", "notes": "STAC API v2 Item for a delivered collect (property umbra:collect_id); assets carry pre-signed, expiring download URLs. The v1 path /stac/collections/{organization_id}/items/{collect_id} is deprecated."}, {"action": "fetch", "method": "POST", "path": "/v2/stac/search", "notes": "STAC API v2, collection umbra-sar, CQL2; filter on umbra:collect_id. Signed asset URLs are included only when few items are returned (default threshold 5)."}], "rate_limits": "Per organization, rolling window: 25 reads/s and 5 writes/s on standard endpoints. Create Task and Cancel Task 2/s, 120/min, 300/h. Create Feasibility 2/s, 120/min, 3600/h. Client-credentials token requests 50 per 24 h per client. Limits may change.", "self_serve": false, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "io.github.reesehammer/umbra-mcp (open archive only)"}, "notes": "No RFC 9728 protected-resource metadata: api.canopy.umbra.space returns 401 on /.well-known paths. auth.canopy.umbra.space publishes RFC 8414 metadata with no registration endpoint."}, "adapter": "umbra", "delivery": {"modes": ["commission"], "speed": "hours", "basis": "Canopy Task Lifecycle Tutorial: collect delivery 'will generally happen 1-4 hours after the associated Task's windowEndAt has passed'. Total time also depends on the tasking window you set and on feasibility; Umbra says tasks can generally be submitted up to three hours before the desired collection time."}, "payment": {"methods": ["card", "invoice"], "agent_can_pay": false, "prepaid": false, "notes": "Billing Terms: self-service Snapshot orders put a hold on a credit card or ACH account at checkout and charge it on delivery; Subscriptions are billed monthly for collects delivered. Enterprise accounts pre-commit to a volume, draw down a shared credit and are invoiced monthly, net 30. The Tasking Terms also allow check or wire transfer, in USD. Fees are non-refundable. No agent payment rail is documented."}, "requester": {"checks": "Tasking Terms: every Canopy registration is subject to regulatory review by Umbra or a third party, and Umbra may refuse anyone. Customers must represent they are not on US sanctions or export-control lists and must provide compliance documents on request. Restricted Access Areas need screening beyond standard KYC.", "unknown": "What the regulatory review and KYC check in practice, and how long approval takes, is not published"}, "sources": [{"claim": "Canopy API reference index: tasks, feasibility, collects, delivery configs, STAC v2, restricted access areas, organization settings, client credentials, sandbox host; no pricing endpoint", "url": "https://docs.canopy.umbra.space/llms.txt"}, {"claim": "Authorization: Bearer <token>; token copied from canopy.umbra.space/account, expires after 24 hours", "url": "https://docs.canopy.umbra.space/docs/authentication.md"}, {"claim": "OAuth2 client credentials: org-scoped client_id/secret, token endpoint auth.canopy.umbra.space/oauth/token, audience, expires_in 86400, 50 token requests per 24 h, sandbox audience", "url": "https://docs.canopy.umbra.space/docs/authentication-via-client-credentials.md"}, {"claim": "Auth server RFC 8414 metadata (client_credentials grant, S256 PKCE, no registration_endpoint)", "url": "https://auth.canopy.umbra.space/.well-known/oauth-authorization-server"}, {"claim": "Sandbox enabled by default via Test Mode; host api.canopy.prod.umbra-sandbox.space; does not generate billable collects", "url": "https://docs.canopy.umbra.space/docs/developer-sandbox.md"}, {"claim": "Canopy gives 'self-service access' via web app and API; data under a creative-commons framework allowing resale, release or remix without royalties; support path is umbra.space/contact", "url": "https://docs.canopy.umbra.space/docs/introduction.md"}, {"claim": "POST /tasks: required taskName, constraints, windowStartAt, windowEndAt; resolutions, multilook 1/2/4/8, sceneSize enum, productTypes enum (GEC always delivered), deliveryConfigId, satelliteIds, userOrderId; servers live and sandbox", "url": "https://docs.canopy.umbra.space/reference/create_task.md"}, {"claim": "POST /tasking/feasibilities request and response (status RECEIVED/COMPLETED/ERROR, opportunities)", "url": "https://docs.canopy.umbra.space/reference/create_feasibility.md"}, {"claim": "Feasibility opportunities reflect actual schedule availability; results kept five minutes", "url": "https://docs.canopy.umbra.space/docs/feasibility.md"}, {"claim": "End-to-end flow; scheduler runs every 10 minutes; delivery generally 1-4 hours after windowEndAt; UI window end limited to 7 days; GEC compulsory", "url": "https://docs.canopy.umbra.space/docs/task-lifecycle-tutorial.md"}, {"claim": "Scheduler batches every 10 minutes, biases to earliest time; state vectors cover 7-8 days; safe to submit up to three hours before collection", "url": "https://docs.canopy.umbra.space/docs/scheduling-best-practices.md"}, {"claim": "16 task statuses; Spotlight guaranteed 5x5 km minimum footprint; Scan 25-100 km with an 8 km swath", "url": "https://docs.canopy.umbra.space/docs/tasking.md"}, {"claim": "Spotlight default 5x5 km, Natural Footprint optional; product types incl. CSI (5x5 only) and DI GIF", "url": "https://docs.canopy.umbra.space/docs/spotlight-tasking.md"}, {"claim": "Scan resolution vs length: 2 m 25-100 km, 1 m 25-75 km, 0.5 m 25-50 km; 8 km swath", "url": "https://docs.canopy.umbra.space/docs/scan-tasking.md"}, {"claim": "Natural Footprint sizes (commonly 7.5x11 to 16x10 km), not enabled by default", "url": "https://docs.canopy.umbra.space/docs/extended-area-processing.md"}, {"claim": "Delivered product types: METADATA (stac.v2.json), CPHD, SICD, SIDD, GEC, CSI SIDD/TIFF, DI GIF, CRSD", "url": "https://docs.canopy.umbra.space/docs/delivered-product-types.md"}, {"claim": "Automated QA (blank, eclipsing, mispointing) before delivery; failures become CORRUPT/ANOMALY; geolocation calibration check", "url": "https://docs.canopy.umbra.space/docs/automated-qa.md"}, {"claim": "STAC datetime is centre of aperture; start/end_datetime are first/last pulse in UTC", "url": "https://docs.canopy.umbra.space/docs/collect-metadata.md"}, {"claim": "satelliteId values Umbra-05 to Umbra-10 with NORAD IDs", "url": "https://docs.canopy.umbra.space/docs/umbra-satellites.md"}, {"claim": "PATCH /tasking/tasks/{id}/cancel, allowed statuses, 204/422", "url": "https://docs.canopy.umbra.space/reference/cancel_task-1.md"}, {"claim": "GET /tasking/collects/{id}", "url": "https://docs.canopy.umbra.space/reference/get_collect.md"}, {"claim": "POST /tasking/collects/search query filters and pagination (limit max 200)", "url": "https://docs.canopy.umbra.space/reference/post_search_collects.md"}, {"claim": "GET /tasking/restricted-access-areas returns a GeoJSON FeatureCollection", "url": "https://docs.canopy.umbra.space/reference/get_restricted_access_areas.md"}, {"claim": "Rate limits: 25 reads/s and 5 writes/s; Create/Cancel Task 2/s, 120/min, 300/h; Create Feasibility 2/s, 120/min, 3600/h", "url": "https://docs.canopy.umbra.space/docs/rate-limiting.md"}, {"claim": "STAC API v1 deprecated; v2 at /v2/stac/, collection umbra-sar, item id differs from collect id, umbra:collect_id property", "url": "https://docs.canopy.umbra.space/docs/migrate-to-stac-api-v2.md"}, {"claim": "STAC v2 Advanced Search and Get Item; signed URLs below a threshold of 5 items", "url": "https://docs.canopy.umbra.space/reference/search_search_post-2.md"}, {"claim": "List prices for Spotlight, Natural Footprint, Dwell and Scan; CC BY 4.0; governed by Satellite Tasking Services Terms and Conditions", "url": "https://umbra.space/pricing/"}, {"claim": "Product add-on prices (CPHD/CRSD +$250, CSI/SAR video +40%), Archive Withhold at 200%, bistatic +100%, per-collect pricing, archive pricing", "url": "https://help.umbra.space/product-guide/umbra-pricing"}, {"claim": "Tasking Terms: regulatory review of registrations; API licence for applications; payment by check, wire or agreed methods; non-refundable fees; 90-day download window; CC BY 4.0 content licence and attribution; Umbra owns content; limited warranty; export-control representations", "url": "https://umbra.space/umbra-satellite-tasking-services-terms-and-conditions/"}, {"claim": "Self-service Snapshot (card or ACH hold, charged on delivery), Subscription billing, Enterprise invoicing net 30", "url": "https://help.umbra.space/product-guide/customer-support/billing-terms.md"}, {"claim": "CC BY 4.0 lets customers publish, resell and sell derivatives; Terms override CC BY (e.g. no resale to embargoed countries)", "url": "https://help.umbra.space/product-guide/customer-support/licensing-and-attribution.md"}, {"claim": "Absolute geolocation accuracy 8 m (CE90); polar orbit 97.4\u00b0; ground range 170-1,100 km", "url": "https://help.umbra.space/product-guide/umbra-sar-system-specifications.md"}, {"claim": "Mean revisit by latitude; Restricted Access Areas and KYC screening", "url": "https://help.umbra.space/product-guide/umbra-sar-system-specifications/constellation-and-revisit.md"}, {"claim": "Open data archive (context only) is CC BY 4.0, bucket arn:aws:s3:::umbra-open-data-catalog in us-west-2", "url": "https://registry.opendata.aws/umbra-open-data/"}, {"claim": "No first-party MCP Registry entry; community io.github.reesehammer/umbra-mcp covers the open archive only", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=umbra"}], "updated": "2026-10-28", "short": "Radar satellites that image through cloud and at night, tasked by API.", "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "approval", "rate_limit": {"requests": 25, "per_seconds": 1, "scope": "per-account", "notes": "Reads, per organization; writes 5/s. Create and Cancel Task 2/s, 120/min, 300/h; Create Feasibility 2/s, 120/min, 3600/h. Limits may change.", "source_url": "https://docs.canopy.umbra.space/docs/rate-limiting.md"}}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "unidata", "name": "Unidata", "provider_url": "https://unidata.pro", "status": "unclaimed", "short": "Egocentric and teleoperation robot data collected to order.", "tags": ["egocentric video", "teleoperation", "kinesthetic", "robotics", "physical AI", "consented", "custom collection", "hand pose", "IMU"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["first-person video of household activities (coffee-making, cooking, object handling, chores)", "RGB video with depth, full-body pose, hand pose, 6DoF head pose and synchronised IMU", "teleoperation on the client's robot via VR controllers, space mice or exoskeleton rigs", "kinesthetic demonstrations with joint states, end-effector pose and force-torque logged", "custom collection scoped per client"]}, "pricing": {"model": "Quote after scoping", "from_usd": 0, "unit": "project", "notes": "No price is published. 'we'll scope, price, and schedule' (egocentric page); for robotics, pricing is agreed at the 'Agreement & NDA' stage."}, "latency": {"typical": "Most projects start delivering within two weeks", "notes": "Stated on the egocentric page; the robotics page gives no turnaround."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after scoping and a sample or pilot", "notes": "A base dataset (4,050 hours, 15,000+ scenarios) is also licensed; that is archive, not a commission."}, "coverage": {"regions": ["Not stated"], "notes": "No collection countries are listed. Contact address is Meydan Grandstand, Dubai, UAE."}, "licensing": {"summary": "Egocentric page: 'Every participant signs a commercial-use release before recording' and the base dataset is 'available under a commercial license'. Robotics page: 'All data collected on your equipment belongs to you and stays under NDA.' The terms-of-use URL currently serves only a cookie policy, so no contractual ownership, AI-training or resale clause could be read. The privacy policy names consent as the basis for 'Training and/or testing of neural network algorithm models' using anonymised data, in a different context (anti-spoofing). AI training and resale of delivered data are not stated.", "buyer_owns_output": true}, "verification": {"human": {"level": "none", "unknown": "Participants sign a commercial-use release ('Mixed age and gender across hundreds of contributors'); a release is a rights document, not an identity check at enrolment (STANDARD \u00a73). How collectors are recruited, identified or vetted is not published."}, "application": {"level": "none", "unknown": "No capture-app or device attestation is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Wearable and tracking rigs: Pico 4 Ultra headsets, motion trackers, ZED stereo cameras, tactile gloves, grippers (robotics page). No C2PA or signed capture; Unidata is not on the C2PA conforming products list."}, "time": {"level": "claimed", "method": "Streams are time-synchronised across modalities (IMU, depth, pose).", "unknown": "Synchronisation aligns streams to each other; no signed capture time."}, "location": {"level": "none", "unknown": "No location proof is documented."}, "content": {"level": "claimed", "method": "A sample or pilot batch precedes the agreement, then 'Quality Control' (robotics page); a Quality Control Department page exists.", "unknown": "Acceptance criteria and QC results are not published."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Contact via unidata.pro/contact-us (info@unidata.pro); steps: briefing and scope, sample or pilot, agreement and NDA."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No server found in the official MCP Registry (searched the provider name, 2026-10-27)."}, "notes": "No API or ordering docs. No /.well-known/ucp, agent-card.json, irlpls or oauth-protected-resource document found (2026-10-27)."}, "delivery": {"modes": ["commission"], "speed": "weeks", "basis": "'Most projects start delivering within two weeks.' (a start, not completion)", "formats": ["mp4", "rrd", "json"]}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment methods published; terms are agreed at the Agreement & NDA stage."}, "capture": {"by": "people", "consent": {"documented": true, "method": "'Every participant signs a commercial-use release before recording.'", "evidence_url": "https://unidata.pro/data-collection/egocentric-video-data/", "unknown": "The release text, bystander handling and withdrawal are not published."}, "worker_pay": {"model": "not published", "disclosed": false}}, "requester": {"unknown": "Unidata publishes no check of who commissions collection or for what; projects start with a briefing and an NDA."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "Unidata (Unidata L.L.C-FZ, Dubai) collects first-person video of daily activities with synchronised depth, pose and IMU, and teleoperation or kinesthetic demonstrations on the client's own robot. Scope, volume and price are agreed with the team; no price is published. It states that every participant signs a commercial-use release and that most projects start delivering within two weeks. Its terms page published today is only a cookie policy, so ownership and AI-training rights of delivered data are not stated beyond 'data collected on your equipment belongs to you'.", "sources": [{"claim": "Egocentric offering: 15,000+ scenarios, 4,050 hours, RGB/depth/pose/hand pose/IMU, tactile on roadmap, 'we'll scope, price, and schedule', 'Most projects start delivering within two weeks', mp4/rrd/json, commercial-use release, 'available under a commercial license'", "url": "https://unidata.pro/data-collection/egocentric-video-data/"}, {"claim": "Teleoperation and kinesthetic collection on client robots, equipment list, five-step process incl. Agreement & NDA with pricing, 'All data collected on your equipment belongs to you and stays under NDA'", "url": "https://unidata.pro/robotics-training-data/"}, {"claim": "Legal entity Unidata L.L.C-FZ; terms-of-use URL serves cookie policy only", "url": "https://unidata.pro/terms.md"}, {"claim": "Privacy policy: consent basis for neural-network training on anonymised data; no ownership clause", "url": "https://unidata.pro/privacy-policy/"}, {"claim": "Contact address Dubai, UAE", "url": "https://unidata.pro/llms.txt"}, {"claim": "No Unidata server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=unidata"}]}, {"id": "up42", "name": "UP42", "adapter": "up42", "status": "unclaimed", "provider_url": "https://up42.com", "short": "One business account to order new satellite, aerial and drone captures from about 20 operators.", "summary": "Geospatial marketplace for registered businesses. 25 tasking collections are integrated in the API (Vantor WorldView, Airbus Pl\u00e9iades/Pl\u00e9iades Neo/SPOT/TerraSAR-X, BlackSky Gen-2/Gen-3, Planet, Satellogic, Pixxel, Wyvern, Umbra, Capella, ICEYE, KOMPSAT, EROS-C, GEOSAT, G\u00d6KT\u00dcRK-1, Beijing-3, AxelGlobe), with validate, estimate, opportunities, feasibility and quotation steps; SatVu, Globhe drones and some others are non-integrated and ordered through the Operations team. Paid in prepaid credits (100 = \u20ac1).", "tags": ["satellite", "tasking", "archive", "aggregator", "SAR", "optical", "hyperspectral", "thermal", "drone", "blacksky", "pleiades neo", "vantor", "pixxel", "umbra", "capella", "iceye", "api", "STAC"], "capabilities": {"modalities": ["aerial"], "tasks": ["list collections (keyless) and order-form JSON schemas", "validate and estimate a catalog or tasking order before buying", "list tasking opportunities (sensor passes) for an AOI", "check whether a tasking order needs a feasibility study", "place tasking orders; choose feasibility options and accept quotations", "track order status and coverage; request acquisition window extensions", "search delivered assets via STAC and create download URLs"]}, "pricing": {"model": "prepaid credits, 100 credits = \u20ac1, minimum purchase 10,000 credits (\u20ac100); credits expire after 24 months", "from_usd": 0, "unit": "per scene or per km\u00b2", "notes": "Not published in USD. Priced by AOI size, resolution, collection, acquisition mode, tasking priority and cloud cover; an estimate is given before purchase and a high-difficulty acquisition may carry a price uplift. Floors: BlackSky tasking from 17,500 credits (\u20ac175)/scene; minimum charges 1 scene (BlackSky, Planet, Satellogic, SatVu, Umbra, Capella, ICEYE, KOMPSAT-5, StriX, TerraSAR-X), 25 km\u00b2 (Vantor VNIR, GEOSAT 2), 100 km\u00b2 (Pl\u00e9iades, Pl\u00e9iades Neo, SPOT, Pixxel, Dragonette-1), 1 km\u00b2 (Globhe drone). 5% bonus credits on purchases of 1,000,000+ credits. Credits are non-refundable; tasking shortfalls past the window are refunded pro rata on request."}, "latency": {"typical": "days; depends on collection, feasibility study and priority", "notes": "Minimum lead time 0 days (BlackSky, Umbra) or 1-3 days, and minimum acquisition window 1 day (BlackSky, Capella, ICEYE, Umbra, Vantor) up to 30 days (Dragonette-1). Where a feasibility study is needed it takes 1-5 business days (Sep-May) or 3-10 (Jun-Aug). Collection access requests are reviewed in up to 3 working days; the initial compliance check usually takes 1 business day. UP42 can't say when a capture attempt will be made."}, "coverage": {"regions": ["Global (per collection coverage and restriction maps)"], "areas": ["*"], "notes": "Collections are described as acquired worldwide, subject to each collection's coverage and restriction maps; many tasking collections need an access request that the data provider can reject based on the organisation or use case."}, "licensing": {"summary": "Data is licensed, not sold: the buyer does not acquire ownership (Terms of Purchase 5.1-5.2; Platform Services Agreement 13.2). Use is set by each provider's EULA, accepted before the first order and downloadable only after login; UP42 says most are non-transferable, non-sublicensable, non-exclusive and revocable. Original data is for internal use; external use and redistribution are usually not allowed, while derivative products can usually be shared (resale is set per collection EULA, so 'forbidden' is the safe reading). UP42's docs answer 'Can I resell the data I ordered?' with 'No'. AI or ML training is not addressed in the public terms or docs.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Satellite, aircraft and drone operators capture; no person is attested."}, "application": {"level": "none", "unknown": "No signing, checksum or provenance scheme for delivered files is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each delivery is tied to a named collection, sensor and data product in its order and STAC metadata. The sensor is named in operator metadata; nothing lets a buyer check it independently."}, "time": {"level": "claimed", "method": "STAC items carry the acquisition datetime from the operator's metadata.", "unknown": "Acquisition time comes from operator metadata and is not signed or independently time-stamped."}, "location": {"level": "claimed", "method": "Positional accuracy is published per collection (e.g. BlackSky Gen-3 tasking < 10 m CE90 absolute); deliveries are AOI-georeferenced.", "unknown": "Accuracy is the operator's specification and is not checked per delivery; some collections list it as unknown."}, "content": {"level": "none", "unknown": "No manipulation detection is documented; buyers can report quality issues within 7 days of delivery for investigation with the provider."}, "corroboration": {"level": "none", "unknown": "No independent confirmation of deliveries is documented."}}, "freshness": {"mode": "mixed", "typical_age": "Tasking: captured inside your acquisition window", "notes": "The same account also buys archive (catalog) imagery, which irlpls does not match."}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "Acquisition time frames page: minimum lead time 0-3 days and minimum acquisition window 1-30 days by collection; actual time frames are set by the feasibility study, and UP42 can't give a specific capture date."}, "access": {"cost": "paid", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "approval", "rate_limit": {"requests": 100, "per_seconds": 1, "scope": "per-ip", "notes": "About; varies by endpoint group. 429 when exceeded.", "source_url": "https://developer.up42.com/reference/rate-limiting.md"}}, "api": {"available": true, "self_serve": true, "docs_url": "https://docs.up42.com/developers/api-tasking", "base_url": "https://api.up42.com", "auth": [{"type": "oauth2", "token_url": "https://auth.up42.com/realms/public/protocol/openid-connect/token", "client_id": "up42-api", "env_var": "UP42_USERNAME / UP42_PASSWORD", "transport": "rest", "how_to_get": "Free sign-up at up42.com, upgraded to the free Professional plan with your organisation's details. Tokens come from the OAuth2 password grant (client_id up42-api) with your console email and password, last 5 minutes, and are sent as 'Authorization: Bearer'. To order: add tax info and a company card, buy credits (first purchase triggers a compliance check), request access to restricted collections and accept each EULA."}], "endpoints": [{"action": "list", "method": "GET", "path": "/v2/collections", "notes": "Keyless; tasking collections have the -tasking suffix and an integrations array (e.g. ACCESS_APPROVAL_REQUIRED, FEASIBILITY_STUDY_REQUIRED)"}, {"action": "list", "method": "GET", "path": "/orders/schema/{data-product-id}", "notes": "JSON schema of the order form for a data product"}, {"action": "quote", "method": "POST", "path": "/v2/orders/validation"}, {"action": "quote", "method": "POST", "path": "/v2/orders/estimate", "notes": "summary.totalCredits"}, {"action": "search", "method": "POST", "path": "/v2/tasking/orders/opportunities", "notes": "Sensor passes over the AOI; only for collections with TASKING_OPPORTUNITIES_AVAILABLE"}, {"action": "quote", "method": "POST", "path": "/v2/tasking/orders/feasibility", "notes": "Checks whether a feasibility study is required; returns feasibilityOutcome and difficulty"}, {"action": "order", "method": "POST", "path": "/v2/orders?workspaceId={id}", "notes": "Tasking credits are not deducted until the quotation is accepted"}, {"action": "quote", "method": "GET", "path": "/v2/tasking/feasibility-studies", "notes": "Options to choose from when a study was required"}, {"action": "quote", "method": "PATCH", "path": "/v2/tasking/feasibility-studies/{feasibility-study-id}", "notes": "Choose a feasibility option (NOT_DECIDED only)"}, {"action": "quote", "method": "GET", "path": "/v2/tasking/quotation", "notes": "content.creditsPrice"}, {"action": "order", "method": "PATCH", "path": "/v2/tasking/quotation/{quotation-id}", "notes": "Accepting deducts credits irreversibly; not allowed for the Viewer or Member role"}, {"action": "status", "method": "GET", "path": "/v2/orders/{order-id}", "notes": "status (CREATED ... FULFILLED, FAILED_PERMANENTLY, CANCELED) and orderDetails.subStatus"}, {"action": "search", "method": "POST", "path": "/v2/assets/stac/search", "notes": "Your delivered data only"}, {"action": "fetch", "method": "POST", "path": "/v2/assets/{asset-id}/download-url", "notes": "Signed URL valid for 5 minutes"}], "sdk": "Python: up42-py", "rate_limits": "About 100 requests per second per IP, varying by endpoint group; 429 when exceeded", "notes": "No idempotency key is documented for order creation. Orders in CREATED or PLACEMENT_FAILED can be cancelled via POST /v2/orders/{order-id}/cancellation. Non-integrated products (e.g. SatVu, Globhe) are ordered through an order form or the Operations team, not this API. No MCP server found."}, "updated": "2026-10-28", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}, "requester": {"checks": "Organisations only: the initial compliance check (first credit purchase or first access request) confirms a legally registered business via business databases and may ask for a certificate of registration; the email domain must match the organisation and cards must be company-issued. A full check (leadership, beneficial ownership, anti-corruption self-declaration) is triggered at a spending threshold. Restricted collections need a questionnaire that the data provider approves or rejects by organisation and use case. The buyer warrants it is not on sanctions lists.", "unknown": "The spending threshold, the questionnaire contents and the per-provider approval criteria are not published."}, "payment": {"methods": ["prepaid_balance", "card", "invoice"], "agent_can_pay": false, "prepaid": true, "notes": "Professional: prepaid credits bought by company card in the console (100 credits = \u20ac1, minimum \u20ac100, in euros). Enterprise: consumption-based monthly invoicing. Orders are paid from the credit balance via the API (accepting a quotation deducts credits), but top-ups are console-only."}, "sources": [{"claim": "Credits (100 = \u20ac1), \u20ac100 minimum, 24-month expiry, 5% bonus, compliance check on first purchase, pricing drivers, Professional plan for API access and workflow automation, Enterprise monthly invoicing", "url": "https://up42.com/pricing"}, {"claim": "Credit purchase by company card in euros, non-refundable, initial compliance check takes about 1 business day", "url": "https://docs.up42.com/getting-started/purchase"}, {"claim": "Compliance checks: registered businesses only, documents, full check at a spending threshold", "url": "https://docs.up42.com/getting-started/compliance-process"}, {"claim": "Access requests reviewed in up to 3 working days; providers may reject by organisation or use case", "url": "https://docs.up42.com/getting-started/restrictions"}, {"claim": "Tasking flow: access, validation, estimate, opportunities, feasibility, quotation, order statuses, coverage, extensions; quotation acceptance deducts credits irreversibly", "url": "https://docs.up42.com/developers/api-tasking"}, {"claim": "OAuth2 password grant, client_id up42-api, 5-minute bearer tokens; listing collections needs no token", "url": "https://docs.up42.com/developers/authentication"}, {"claim": "Keycloak realm metadata for auth.up42.com (token endpoint)", "url": "https://auth.up42.com/realms/public/.well-known/openid-configuration"}, {"claim": "Endpoint paths and methods (API reference index)", "url": "https://developer.up42.com/llms.txt"}, {"claim": "Create order: POST /v2/orders with required workspaceId; tasking credits deducted only on quotation acceptance", "url": "https://developer.up42.com/reference/createv2orderunderworkspace.md"}, {"claim": "Feasibility requirement check: POST /v2/tasking/orders/feasibility", "url": "https://developer.up42.com/reference/checkorderfeasibility.md"}, {"claim": "Feasibility studies: GET /v2/tasking/feasibility-studies and PATCH /v2/tasking/feasibility-studies/{id}", "url": "https://developer.up42.com/reference/listtaskingfeasibilitystudies.md"}, {"claim": "Order form schema: GET /orders/schema/{data-product-id}", "url": "https://developer.up42.com/reference/getjsonschema.md"}, {"claim": "Download URL: POST /v2/assets/{asset-id}/download-url, valid 5 minutes", "url": "https://developer.up42.com/reference/generatedownloadurlexternal.md"}, {"claim": "Rate limits about 100 requests per second per IP", "url": "https://developer.up42.com/reference/rate-limiting.md"}, {"claim": "25 integrated tasking collections, their producers, integrations flags and 'acquired worldwide' descriptions (keyless call, 2026-10-26)", "url": "https://api.up42.com/v2/collections"}, {"claim": "Minimum charges per tasking collection", "url": "https://docs.up42.com/data/tasking-min-charges"}, {"claim": "Minimum lead times and acquisition windows; no specific capture date", "url": "https://docs.up42.com/data/acquisition"}, {"claim": "Feasibility study time frames and collections that don't need one", "url": "https://docs.up42.com/data/feasibility"}, {"claim": "BlackSky tasking from 17,500 credits per scene; Gen-3 tasking < 10 m CE90", "url": "https://docs.up42.com/data/blacksky"}, {"claim": "Positional accuracy per collection", "url": "https://docs.up42.com/data/accuracy"}, {"claim": "Globhe Optical is a non-integrated product, 1 km\u00b2 minimum, global coverage", "url": "https://docs.up42.com/data/globhe-optical"}, {"claim": "SatVu HotSat tasking is a non-integrated product", "url": "https://docs.up42.com/data/satvu"}, {"claim": "Per-provider EULAs; licence conditions; internal vs external use; resale answered 'No'", "url": "https://docs.up42.com/getting-started/eulas"}, {"claim": "Credits non-refundable; Content rights retained by UP42 or licensors; sanctions warranty", "url": "https://up42.com/legal/platform-services-agreement"}, {"claim": "Products licensed, not sold; purchaser does not acquire ownership", "url": "https://up42.com/legal/terms-of-purchase"}, {"claim": "Quality issues reported within 7 days; pro-rata refund for area not tasked in the window", "url": "https://docs.up42.com/getting-started/refund"}, {"claim": "STAC search of delivered assets", "url": "https://docs.up42.com/developers/api-stac"}, {"claim": "Python SDK up42-py", "url": "https://pypi.org/project/up42-py/"}]}, {"id": "usgs-earthquakes", "name": "USGS earthquake feed", "status": "unclaimed", "provider_url": "https://earthquake.usgs.gov/earthquakes/feed/", "tags": ["earthquake", "earthquakes", "quake", "seismic", "tremor", "magnitude", "aftershock", "tsunami", "shakemap", "pager", "geojson", "fdsn", "comcat", "government", "public domain", "free", "real-time", "sensor", "global"], "summary": "The U.S. Geological Survey's real-time earthquake feeds list new seismic events worldwide (magnitude, location, depth, time, automatic or reviewed status, tsunami flag, PAGER alert) as GeoJSON updated every minute, free and with no key. Events come from the ANSS Comprehensive Earthquake Catalog (ComCat), which merges solutions from seismic networks around the world. The FDSN event web service filters by time, place, radius, magnitude, alert level and review status.", "capabilities": {"modalities": ["sensor"], "tasks": ["earthquakes in the past hour, day, week or 30 days, by magnitude threshold (significant, 4.5+, 2.5+, 1.0+, all)", "query earthquake events near a point (latitude, longitude, maxradiuskm) or in a box since a given time, above a magnitude", "filter by PAGER alert level (green, yellow, orange, red), review status (automatic or reviewed), significance, felt reports or depth", "event detail: magnitude, depth, place, time, status automatic/reviewed, felt reports, tsunami flag, PAGER alert level, and associated products such as ShakeMap, DYFI and moment tensors", "watch for new or revised earthquakes by polling a feed, or the query service with updatedafter"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "No fee and no key."}, "latency": {"typical": "USGS FAQ: about 2.5 minutes on average after an earthquake in California, typically within 8 minutes elsewhere in the US, about 20 minutes on average outside the US", "notes": "The GeoJSON summary feeds are labelled 'Updated every minute'. Per the same FAQ, GeoJSON feeds of 7 days or less are cached for 1 minute, other 7-day-or-less feeds for 5 minutes, and 30-day feeds and searches for 15 minutes, which adds to the delay. A query response on 2026-10-26 carried Cache-Control: public, max-age=60."}, "coverage": {"regions": ["Global"], "notes": "Worldwide. ComCat merges solutions from seismic networks around the world (contributors include US regional networks and agencies in many other countries). USGS says the network is densest in California and sparse in some areas outside the US, so small events abroad are less complete and slower to post.", "areas": ["*"]}, "licensing": {"summary": "USGS says USGS-authored or produced data and information are in the U.S. Public Domain and asks for credit (e.g. 'Credit: U.S. Geological Survey'); not everything on USGS sites is public domain, and copyrighted third-party material needs the holder's permission. USGS gives no warranty of accuracy, completeness or usefulness. Events and products contributed to ComCat by non-USGS networks were not checked separately. The terms do not mention AI training or resale."}, "freshness": {"mode": "mixed", "typical_age": "Minutes after an event for the real-time feeds; the query service also reaches back through the catalog", "notes": "Early values are automatic and are revised as networks and analysts refine them; the 'updated' field changes when they do. Events can also be deleted (the query service returns HTTP 409 for a deleted event unless includedeleted is set)."}, "api": {"available": true, "docs_url": "https://earthquake.usgs.gov/fdsnws/event/1/", "base_url": "https://earthquake.usgs.gov", "auth": [{"type": "none", "how_to_get": "No key needed."}], "endpoints": [{"action": "fetch", "method": "GET", "path": "/earthquakes/feed/v1.0/summary/{level}_{period}.geojson", "params": "level: significant, 4.5, 2.5, 1.0, all; period: hour, day, week, month", "notes": "GeoJSON FeatureCollection, 'Updated every minute'; properties include mag, place, time, updated, status, tsunami, alert, felt, sig, net, ids, sources, nst, dmin, rms, gap, magType, url, detail. USGS recommends these feeds for automated applications."}, {"action": "fetch", "method": "GET", "path": "/earthquakes/feed/v1.0/detail/{eventid}.geojson", "params": "eventid, e.g. aka2026vgpxtq (the 'detail' URL in each summary feature)", "notes": "One event with its associated products (origin, phase-data, and where available shakemap, losspager, dyfi, moment-tensor)."}, {"action": "search", "method": "GET", "path": "/fdsnws/event/1/query", "params": "format=geojson (default quakeml; also csv, kml, text, xml); starttime (default now - 30 days), endtime, updatedafter; minlatitude/maxlatitude/minlongitude/maxlongitude or latitude, longitude, maxradiuskm; minmagnitude, maxmagnitude; mindepth, maxdepth; alertlevel, minalertlevel; reviewstatus (automatic, reviewed); eventtype; orderby (time, time-asc, magnitude, magnitude-asc); limit (1-20000); offset; eventid", "notes": "FDSN Event Web Service. Queries over 20,000 events return HTTP 400. Keyless radius query near Ridgecrest, CA returned automatic 'ci' events on 2026-10-26."}, {"action": "search", "method": "GET", "path": "/fdsnws/event/1/count", "params": "same parameters as query; format=geojson or text or xml", "notes": "Counts matching events; returned {\"count\":459,\"maxAllowed\":20000} for starttime=2026-10-25 on 2026-10-26."}, {"action": "list", "method": "GET", "path": "/fdsnws/event/1/contributors", "params": "none", "notes": "Contributing networks; /fdsnws/event/1/catalogs lists catalogs, /fdsnws/event/1/application.json lists enumerated parameter values."}], "rate_limits": "None published. The query service caps a request at 20,000 events. USGS asks automated applications to use the real-time GeoJSON feeds rather than the query service whenever possible.", "self_serve": true, "sdk": "USGS lists libcomcat (Python), matcomcat (Matlab) and an R comcat package on its ANSS Developer's Corner.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No USGS-run MCP server in the official MCP Registry. Third-party earthquake servers are listed, e.g. io.github.cyanheads/earthquake-mcp-server, io.github.mrfentmen/usgs-earthquakes-mcp, com.olyport/earthquake, com.daedalmap/earthquakes."}}, "adapter": "usgs_earthquakes", "verification": {"human": {"level": "none", "unknown": "Events are located automatically from seismic networks; analyst review shows only as status 'reviewed', with no named reviewer"}, "application": {"level": "none", "unknown": "No signing of feed contents; integrity rests on USGS and contributing-network operations"}, "camera": {"level": "none", "unknown": "No imagery"}, "time": {"level": "claimed", "method": "Each event has an origin time and an 'updated' time in milliseconds", "unknown": "Origin time is an estimate that can be revised; per-event timing uncertainty is not in the summary feed"}, "location": {"level": "claimed", "method": "Each event carries an estimated epicentre and depth, with solution-quality fields (nst stations used, gap azimuthal gap, dmin distance to nearest station, rms residual)", "unknown": "Location uncertainty varies by region and network density, and is largest where networks are sparse"}, "content": {"level": "claimed", "method": "Each event has a status field (automatic or reviewed), filterable with reviewstatus, so you can tell which values an analyst has checked", "unknown": "Automatic magnitudes and locations can change substantially after review, and events can be deleted"}, "corroboration": {"level": "claimed", "method": "The 'ids' and 'sources' fields list every contributing network whose solution was associated with the event. Where networks disagree, ComCat picks a preferred product by weight, favouring the network authoritative for the region; the other solutions stay available in the detail feed.", "unknown": "Many small events have a single contributing network, so nothing independent confirms them"}}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "USGS: feeds 'Updated every minute'; an earthquake is posted in about 2.5 minutes in California, within about 8 minutes elsewhere in the US and about 20 minutes outside the US."}, "sources": [{"claim": "GeoJSON summary feeds by level (significant, 4.5, 2.5, 1.0, all) and period (hour, day, week, month), 'Updated every minute', output schema including status, tsunami, alert, sig, ids, sources, nst, dmin, rms, gap", "url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php"}, {"claim": "Live keyless fetch on 2026-10-26 returned a FeatureCollection (count 3) for the past hour, including M 2.2 57 km ENE of Pedro Bay, Alaska, status 'automatic', sources ',ak,'", "url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson"}, {"claim": "Live keyless detail feed on 2026-10-26 returned the same event with its origin and phase-data products", "url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/aka2026vgpxtq.geojson"}, {"claim": "FDSN event service: formats, starttime default now - 30 days, updatedafter, rectangle and circle (maxradiuskm) search, magnitude, depth, alertlevel, reviewstatus, orderby, limit 1-20000 (400 above), count/catalogs/contributors methods, deleted events return 409; automated applications should use the real-time GeoJSON feeds whenever possible", "url": "https://earthquake.usgs.gov/fdsnws/event/1/"}, {"claim": "Live keyless query on 2026-10-26 returned the newest event (format=geojson, limit=1, orderby=time)", "url": "https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&limit=1&orderby=time"}, {"claim": "Live keyless radius query on 2026-10-26 returned automatic 'ci' events near Ridgecrest, CA; response header Cache-Control: public, max-age=60", "url": "https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&latitude=35.7&longitude=-117.5&maxradiuskm=200&minmagnitude=1&starttime=2026-10-19&limit=3"}, {"claim": "Count method returned {\"count\":459,\"maxAllowed\":20000} on 2026-10-26", "url": "https://earthquake.usgs.gov/fdsnws/event/1/count?format=geojson&starttime=2026-10-25"}, {"claim": "Posting time: about 2.5 minutes on average in California, typically within 8 minutes elsewhere in the US, about 20 minutes on average outside the US; GeoJSON 7-day-and-less feeds cached 1 minute, other 7-day feeds 5 minutes, 30-day feeds and searches 15 minutes", "url": "https://www.usgs.gov/faqs/how-quickly-earthquake-information-posted-usgs-website-and-sent-out-earthquake-notification"}, {"claim": "ComCat contains earthquake source parameters and products contributed by seismic networks around the world", "url": "https://earthquake.usgs.gov/data/comcat/"}, {"claim": "List of contributing seismic networks and agencies, in the US and many other countries", "url": "https://earthquake.usgs.gov/data/comcat/contributor/"}, {"claim": "Products from several contributors are associated with one event; the preferred product is chosen by weight, with a large weight for the author's authoritative region; other versions remain available", "url": "https://earthquake.usgs.gov/data/comcat/products.php"}, {"claim": "ANSS Developer's Corner lists libcomcat (Python), matcomcat (Matlab) and R comcat", "url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/developers.php"}, {"claim": "USGS-authored information considered U.S. Public Domain; not all site content is; credit requested", "url": "https://www.usgs.gov/information-policies-and-instructions/copyrights-and-credits"}, {"claim": "USGS makes no warranty and assumes no liability for the accuracy, completeness or usefulness of its information", "url": "https://www.usgs.gov/information-policies-and-instructions/liability"}, {"claim": "No first-party USGS earthquake MCP server in the official registry; third-party earthquake servers listed", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=earthquake"}], "updated": "2026-10-27", "spec_version": "2026-10-26", "short": "New earthquakes worldwide from the USGS, as a free GeoJSON feed updated every minute.", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "automation_allowed": true, "gate": "none"}, "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "usgs-water", "name": "USGS stream gauges", "adapter": "usgs_water", "status": "unclaimed", "provider_url": "https://waterdata.usgs.gov/", "tags": ["api", "camera", "discharge", "flood", "free", "gage height", "government", "hydrology", "image", "kayak", "ogc api", "paddling", "photo", "public domain", "real-time", "river", "river camera", "sensor", "stage", "stream", "streamflow", "tubing", "united states", "usa", "water", "webcam"], "summary": "U.S. Geological Survey network of automated stream gauges reporting gage height, discharge and other water parameters, served free through the modernized Water Data OGC API (api.waterdata.usgs.gov). It supersedes the legacy WaterServices APIs, which USGS will retire during its final decommission campaign (November 2026 to February 2027, completing in Q1 2027). About 1,400 USGS river cameras at gauge sites also publish still images every few minutes to every hour through the public NIMS API.", "capabilities": {"modalities": ["sensor", "photo"], "tasks": ["gage height / stage (parameter 00065)", "streamflow discharge (parameter 00060)", "water temperature (parameter 00010)", "latest observation per time series", "historical continuous and daily values", "field and channel measurements used to check the sensors", "find gauges near a point or in a bounding box", "river camera stills (USGS NIMS / HIVIS; capture interval set per camera, from 2 to 60 minutes, some daylight only)"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "No fee is charged. The API key is free (managed by api.data.gov, emailed on sign-up) and only raises rate limits. USGS says anyone making more than a few queries per hour needs a key. Keyless requests returned data on 2026-10-26."}, "latency": {"typical": "About 15-60 minutes behind real time for typical gauges (15-minute recording, roughly hourly transmission)", "notes": "USGS FAQ: real-time streamflow is typically recorded at 15-minute intervals, stored on site and transmitted to USGS once an hour, depending on the relay technique. Live checks on 2026-10-26 at 04:55 UTC (27 Oct): USGS-01646500 (Potomac) had its newest discharge value at 03:50 UTC, last modified 03:57 UTC, about 65 minutes old. USGS-01650800 had a value at 04:45 UTC, about 10 minutes old."}, "coverage": {"regions": ["United States, including Puerto Rico, the U.S. Virgin Islands, Guam and the Northern Mariana Islands"], "notes": "Only existing fixed gauges; you cannot request a new gauge. The monitoring-locations collection also includes non-USGS agency sites (e.g. a USEPA site in a Washington DC bbox query), not all of which have continuous data. Some sites are discontinued and return null values with a DISCONTINUED qualifier. Live checks on 2026-10-26 found same-day readings in Puerto Rico, the U.S. Virgin Islands, Guam and the Northern Mariana Islands; American Samoa's newest continuous reading was from 2008. River cameras: 1,394 listed in the NIMS API (1,152 not hidden) across most states plus Puerto Rico and Guam. Total gauge count not verified.", "areas": ["US", "PR", "VI", "GU", "MP"]}, "licensing": {"summary": "The API's OpenAPI description gives its licence as 'US Government work in the public domain', linking to CC0 1.0. It also links CC0 as the terms of service. USGS says USGS-authored data are U.S. Public Domain and asks for credit (e.g. 'Credit: U.S. Geological Survey'). Not every item on USGS sites is public domain: some third-party images are copyrighted and need the holder's permission. Recent data are provisional and provided on the condition that neither USGS nor the U.S. Government is liable for damages. The terms do not mention AI training or resale. Licensing of non-USGS agency data in the API was not checked."}, "freshness": {"mode": "mixed", "typical_age": "Typically under ~1-2 hours for active real-time gauges; history back to the period of record", "notes": "latest-continuous returns the most recent value per time series; continuous returns full sensor history. Each value carries approval_status: recent values are 'Provisional' and may be substantially revised after field inspections and measurements."}, "api": {"available": true, "docs_url": "https://api.waterdata.usgs.gov/docs/ogcapi/", "base_url": "https://api.waterdata.usgs.gov/ogcapi/v1", "auth": [{"type": "none", "how_to_get": "No key needed for light use. USGS says you need a key for more than a few queries per hour."}, {"type": "api_key_header", "header": "X-Api-Key", "env_var": "USGS_WATER_API_KEY", "how_to_get": "Optional and free: sign up at https://api.waterdata.usgs.gov/signup (an api.data.gov key, sent by email) for higher rate limits."}, {"type": "api_key_query", "env_var": "USGS_WATER_API_KEY", "how_to_get": "The same free key, passed as the api_key query parameter."}], "endpoints": [{"action": "search", "method": "GET", "path": "/collections/monitoring-locations/items", "params": "bbox=minLon,minLat,maxLon,maxLat; site_type_code (e.g. ST = stream); state_code; limit; f=json", "notes": "Find gauge sites in a box (no radius parameter seen; derive a bbox from a point). Returns GeoJSON with id like USGS-01646500, name, agency, site type, HUC, drainage area and horizontal positional accuracy/method."}, {"action": "fetch", "method": "GET", "path": "/collections/latest-continuous/items", "params": "bbox; monitoring_location_id (e.g. USGS-01646500); parameter_code (00060 discharge, 00065 gage height); limit; f=json", "notes": "Most recent observation per time series. Properties: time_series_id, monitoring_location_id, parameter_code, statistic_id, time, value (string), unit_of_measure, approval_status, qualifier, last_modified. Any response property is queryable (see /queryables). Paginate via the 'next' link."}, {"action": "fetch", "method": "GET", "path": "/collections/continuous/items", "params": "monitoring_location_id; parameter_code; datetime (instant, start/end interval, '..' open range, or ISO 8601 duration like P7D); limit", "notes": "Full-resolution history from automated sensors."}, {"action": "fetch", "method": "GET", "path": "/collections/latest-daily/items", "params": "monitoring_location_id; parameter_code; statistic_id", "notes": "Most recent daily value per time series; 'daily' collection holds full daily history."}, {"action": "fetch", "method": "GET", "path": "https://api.waterdata.usgs.gov/statistics/v0/observationNormals", "params": "monitoring_location_id (repeat the parameter for several; a comma list matches nothing); parameter_code (repeatable); computation_type=percentile|median|arithmetic_mean|minimum|maximum; normal_type=DOY (day of year) or MOY; start_date / end_date as MM-DD; page_size (default 1000, max 10000); next_token", "notes": "Replaces the legacy daily statistics (nwis/stat). GeoJSON; per site and parameter, values per time_of_year with percentiles 5/10/25/50/75/90/95 and sample_count (years), computed on approved data. Use parent_statistic_id 00003 (percentiles of the daily mean). Beta: USGS says it is subject to change. Served through the same api.data.gov gateway; the signup page's key is for 'USGS water data APIs' and no statistics-specific limit is published."}, {"action": "fetch", "method": "GET", "path": "/collections/field-measurements/items", "params": "monitoring_location_id; parameter_code; datetime", "notes": "Manual discharge and gage-height measurements USGS uses to check and correct automated records; latest-field-measurements and channel-measurements also exist."}, {"action": "list", "method": "GET", "path": "https://api.waterdata.usgs.gov/nims/v0/cameras", "params": "siteId=<NWIS site number, e.g. 15239900> (optional)", "notes": "River cameras with camId, nwisId, coordinates, newestImageDT, ingest schedule (interval in minutes, 24/7 or daylight) and image directories (smallDir 720 px, thumbDir, overlayDir, tlDir) on public S3."}, {"action": "fetch", "method": "GET", "path": "https://api.waterdata.usgs.gov/nims/v0/listFiles", "params": "camId (from /cameras), limit, before, after", "notes": "Newest image filenames for a camera, newest first; image URL = camera.smallDir + filename."}], "rate_limits": "No numbers published for keyless use. USGS says more than a few queries per hour needs a key. Keys are optional, free api.data.gov keys (X-Api-Key header or api_key query parameter) and give more requests per hour; going over returns HTTP 429. The X-RateLimit-Limit and X-RateLimit-Remaining response headers report the limit (the docs example shows 1000), but keyless responses on 2026-10-26 and 2026-10-28 carried no such headers. USGS asks anyone needing custom limits to write to wdfn@usgs.gov.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No USGS-run MCP server in the official MCP Registry. Third-party servers are listed, e.g. io.github.cyanheads/usgs-water-mcp-server, io.github.mansurjisan/usgs-mcp, io.github.mrfentmen/usgs-water-mcp, com.olyport/water."}, "notes": "2026-10-28: USGS is retiring the legacy WaterServices (Instantaneous Values, Daily Values, Statistics, Site). Per USGS: a 2 s delay on every request from 2026-11-16, 10 s from 2027-01-11, 30 s from 2027-01-25, 60 s from 2027-02-01, redirect outages on 2027-01-27 (about 24 h) and 2027-02-15 (about 48 h), shut down on 2027-02-22. irlpls (adapter, landing page, browser 'Get it now') uses only api.waterdata.usgs.gov: latest-continuous for readings, monitoring-locations for names, statistics/v0/observationNormals for the usual range for a date, NIMS for cameras."}, "verification": {"human": {"level": "none", "unknown": "Not applicable in the usual sense: readings come from automated government-operated instruments, not from individual contributors"}, "application": {"level": "none", "unknown": "No public attestation or signing of data from gauge to API; integrity rests on USGS operating the network"}, "camera": {"level": "none", "unknown": "River camera stills come from fixed USGS-installed cameras at gauge sites; no capture signing or tamper evidence is documented, so whether a frame is unaltered rests on trust in USGS operations."}, "time": {"level": "none", "method": "Each value carries an observation time and a last_modified timestamp, as USGS reports them.", "unknown": "How logger clocks are set or checked was not found in the docs read; nothing is signed or time-stamped by a third party."}, "location": {"level": "claimed", "method": "Fixed sites with published coordinates plus horizontal positional accuracy and method fields in monitoring-locations (e.g. 'Interpolated from map', 'Mapping grade GPS unit')", "unknown": "Accuracy varies by site and many coordinates are interpolated from maps; the fields are agency-entered, not independently attested"}, "content": {"level": "claimed", "method": "Improbable values relayed by telemetry are automatically screened until verified. Values carry approval_status (Provisional or Approved) and qualifiers. USGS states provisional data may be inaccurate due to instrument malfunctions or site changes and may be substantially revised after field inspections and measurements.", "unknown": "Provisional values (the freshest ones) can be substantially wrong; the screening rules and review procedure were not read in detail"}, "corroboration": {"level": "claimed", "method": "Field measurements and channel measurements collections expose the manual readings USGS uses to check and correct automated records", "unknown": "How often a given gauge is field-checked, and how far provisional values drift before correction, was not established"}}, "sources": [{"claim": "Modernized Water Data APIs supersede WaterServices; legacy WaterServices will be decommissioned in the first quarter of 2027; decommissioning may include intentional degradation and blackouts, not before August 2026", "url": "https://www.usgs.gov/tools/usgs-water-data-apis"}, {"claim": "New APIs at api.waterdata.usgs.gov with replacements for all WaterServices endpoints; Decommission Campaign 3 retires remaining NWISWeb pages and WaterServices, expected November 2026 through February 2027", "url": "https://waterdata.usgs.gov/blog/wdfn-updates-2025/"}, {"claim": "OGC API landing page (title, description: automated sensors and manual data collection), OpenAPI and collections links", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/"}, {"claim": "Collections list: latest-continuous, continuous, latest-daily, daily, latest-field-measurements, field-measurements, channel-measurements, monitoring-locations, time-series-metadata, peaks and lookup tables", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/collections?f=json"}, {"claim": "OpenAPI: apiKey security schemes in header and query, key from the signup page gives higher rate limits; licence 'US Government work in the public domain' linking CC0 1.0; termsOfService links CC0 1.0", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/openapi?f=json"}, {"claim": "Docs base URL ogcapi/v1, datetime syntax (interval, '..', ISO duration P7D), parameter_code/statistic_id filters, any response property queryable, next-link pagination, f=json, approval status field", "url": "https://api.waterdata.usgs.gov/docs/ogcapi/"}, {"claim": "Keys managed by api.data.gov, sent by email from the signup page; passed as api_key query parameter or X-Api-Key header; more requests per hour before 429; X-RateLimit-Limit/Remaining headers (example 1000)", "url": "https://api.waterdata.usgs.gov/docs/ogcapi/keys/"}, {"claim": "More than a few queries per hour needs an API key; legacy /iv maps to latest-continuous and continuous, /site to monitoring-locations, /measurements to field-measurements and channel-measurements", "url": "https://api.waterdata.usgs.gov/docs/ogcapi/migration/"}, {"claim": "Queryable properties of latest-continuous (monitoring_location_id, parameter_code, approval_status, qualifier, state_code, site_type_code, etc.)", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/collections/latest-continuous/queryables?f=json"}, {"claim": "Live keyless test 2026-10-26: USGS-01646500 discharge 2960 ft^3/s at 03:50 UTC, Provisional, last_modified 03:57 UTC; no X-RateLimit headers on the keyless response", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/collections/latest-continuous/items?monitoring_location_id=USGS-01646500&parameter_code=00060&f=json"}, {"claim": "Live keyless test 2026-10-26: bbox + parameter_code=00060 returned features with time, value, unit ft^3/s, approval_status Provisional, last_modified (USGS-01650800 at 04:45 UTC)", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/collections/latest-continuous/items?bbox=-77.2,38.8,-76.9,39.0&parameter_code=00060&limit=3&f=json"}, {"claim": "Live keyless test 2026-10-26: monitoring-locations accepts bbox and site_type_code=ST; results include a USEPA site and horizontal positional accuracy/method fields", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/collections/monitoring-locations/items?bbox=-77.2,38.8,-76.9,39.0&site_type_code=ST&limit=5&f=json"}, {"claim": "Live checks 2026-10-26 by territory bbox: same-day readings in Puerto Rico, U.S. Virgin Islands, Guam, Northern Mariana Islands; American Samoa newest reading 2008 (example: Guam)", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/collections/latest-continuous/items?f=json&limit=100&bbox=144.6,13.2,145.0,13.7"}, {"claim": "Real-time streamflow typically recorded at 15-minute intervals, stored onsite, and transmitted to USGS offices once every hour depending on the relay technique", "url": "https://www.usgs.gov/faqs/where-can-i-get-real-time-and-historical-streamflow-information"}, {"claim": "Provisional data statement: subject to revision; improbable telemetry values automatically screened until verified; may be inaccurate due to instrument malfunctions or site changes; substantial revisions possible after field inspections; no USGS/US Government liability", "url": "https://waterdata.usgs.gov/provisional-data-statement/"}, {"claim": "USGS-authored data considered U.S. Public Domain; credit requested ('Credit: U.S. Geological Survey'); not all site content is public domain; copyrighted items need the holder's permission", "url": "https://www.usgs.gov/information-policies-and-instructions/copyrights-and-credits"}, {"claim": "NIMS cameras endpoint (live 2026-10-26): 1,394 cameras (1,152 not hidden) with camId, nwisId, ingest schedule (interval 2-60 min, mostly 60 or 15; 24/7 or daylight) and public S3 image directories", "url": "https://api.waterdata.usgs.gov/nims/v0/cameras"}, {"claim": "NIMS listFiles (live 2026-10-26) returned newest image filenames for IL_Lick_Creek_near_Woodside (04:45 UTC); the 720 px JPEG downloaded from public S3", "url": "https://api.waterdata.usgs.gov/nims/v0/listFiles?camId=IL_Lick_Creek_near_Woodside&limit=3"}, {"claim": "No first-party USGS MCP server in the official registry; third-party USGS water servers listed", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=usgs"}, {"claim": "WaterServices degradation schedule: 2 s delay on all requests from 2026-11-16, 10 s from 2027-01-11, 30 s from 2027-01-25, redirect to the blog about 24 h on 2027-01-27, 60 s from 2027-02-01, redirect about 48 h on 2027-02-15, decommissioned 2027-02-22; users must migrate to api.waterdata.usgs.gov (checked 2026-10-28)", "url": "https://waterdata.usgs.gov/blog/wdfn-waterservices-degradation/"}, {"claim": "USGS Water Data Statistics API (beta): observationNormals and observationIntervals; computation_type percentile/median/mean/min/max, normal_type DOY/MOY, start_date/end_date MM-DD, repeatable monitoring_location_id and parameter_code, page_size default 1000 max 10000, next_token paging", "url": "https://api.waterdata.usgs.gov/statistics/v0/docs"}, {"claim": "Live keyless test 2026-10-28: USGS-08167000 discharge day-of-year 10-28 percentiles of the daily mean p25 57.7, p50 104.0, p75 185.0 ft^3/s over 87 years (legacy nwis/stat the same day: 59 / 107 / 185 over 86 years, 1940-2025); browser CORS allowed", "url": "https://api.waterdata.usgs.gov/statistics/v0/observationNormals?monitoring_location_id=USGS-08167000&parameter_code=00060&computation_type=percentile&normal_type=DOY&start_date=10-28&end_date=10-28"}, {"claim": "Live keyless test 2026-10-28: latest-continuous accepts parameter_code=00060,00065 and properties= in one bbox request (CORS *); it also returns series whose last value is years old (e.g. a 2001 reading), so 'now' readings must be filtered by time", "url": "https://api.waterdata.usgs.gov/ogcapi/v1/collections/latest-continuous/items?f=json&bbox=-98.1561,29.9096,-97.3239,30.6304&parameter_code=00060,00065&properties=monitoring_location_id,parameter_code,value,time&limit=1000"}], "updated": "2026-10-28", "delivery": {"modes": ["live"], "speed": "minutes", "basis": "USGS: real-time streamflow is typically recorded every 15 minutes and transmitted to USGS once every hour."}, "short": "USGS stream gauges and river cameras, free and near real time.", "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "automation_allowed": true, "gate": "none", "rate_limit": {"cache_seconds": 900, "scope": "unknown", "notes": "No request number published, keyless or keyed. The migration page says more than a few queries per hour needs an API key; keys are api.data.gov keys sent as X-Api-Key (or api_key) and raise the per-hour limit, and an exhausted limit answers 429 (keys page). Gauges typically record every 15 minutes (USGS FAQ).", "source_url": "https://api.waterdata.usgs.gov/docs/ogcapi/keys/"}}, "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "capture": {"by": "devices"}}, {"id": "vangrid", "name": "Vangrid", "provider_url": "https://vangrid.io", "status": "unclaimed", "adapter": "vangrid", "short": "Pay a USDC bounty by x402 and a contributor films a place; you get a capture link and a 3D model.", "summary": "Vangrid runs a bounty board for ground-level video captures of real places. An agent posts a bounty in one HTTP call, paying the amount in USDC on Base or Arc through x402 with no account or API key; contributors with the Vangrid capture app film it, the agent reviews watermarked previews and accepts one, and receives a capture link (processed on the device: Vangrid's docs say requesters never receive raw video) plus a textured 3D model (GLB). Every capture is fingerprinted (content sha256, coarse geohash, timestamp) and the fingerprints are committed in Merkle trees whose roots are attested on Base through EAS, so anyone can check that a capture's hash existed by the end of its window. Faces, plates and bodies are blurred on the device. Pay-per-request endpoints also return metadata for captures already anchored.", "tags": ["bounty", "x402", "usdc", "base", "arc", "3d-reconstruction", "glb", "video", "street-level", "provenance", "blockchain-anchored", "mcp", "no-account"], "capabilities": {"modalities": ["video"], "tasks": ["walk-around video capture of a specific place (loading dock, forecourt, junction, building, stock room)", "3D reconstruction of the accepted capture as a textured GLB mesh", "ground-level spatial data for robotics, mapping and world models", "lookup of already-anchored captures by area and time window (metadata only)", "free provenance check of a capture's sha256 against its Base anchor"]}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "Agent bounty docs: 'A person has to go and film, so this takes hours or days.' Deadline 1 to 30 days (default 7); reconstruction after acceptance 'typically takes 30 minutes or more'."}, "latency": {"typical": "Hours to days for a contributor to film; then 30+ minutes of reconstruction after you accept", "notes": "The bounty is posted to the board within a minute of payment. Submissions arrive when a contributor goes and films; nothing guarantees anyone will. The deadline is 1 to 30 days (default 7); after it, or on cancel while open, the full amount is refunded on the network it was paid on. Accepting is final."}, "freshness": {"mode": "on_demand", "typical_age": "Usually filmed after the bounty is posted, but a contributor may submit a clip captured earlier", "notes": "The bounties guide says a contributor can 'Record a new one, or use a clip you have already captured.' Submissions show submitted_at, not capture time; the capture time is in the anchored fingerprint, checkable with the free provenance endpoint. The pay-per-request index returns metadata (sha256, geohash, capture time, anchor) of existing captures, not media."}, "pricing": {"model": "bounty (escrowed USDC, set by the buyer)", "from_usd": 50, "unit": "per bounty", "notes": "The buyer sets amount_usdc in whole USDC; the server's default minimum and maximum are 50 and 5,000 (quoted in the discovery metadata). The amount is escrowed on chain and released on acceptance: Vangrid currently keeps a 10% platform fee and about $5 for reconstruction and pays the rest to the contributor (a $50 reward pays $40); the docs call these figures examples that can change. Reconstruction is included; no second payment. Full refund on cancel while open or on expiry. Pay-per-request data: $0.01 per spatial query, $0.005 per observation, provenance check free; prices are quoted per request and can change. Enterprise API pricing is by quote."}, "payment": {"methods": ["x402", "crypto"], "agent_rails": ["x402"], "agent_can_pay": true, "prepaid": true, "notes": "Agents pay through x402 v2 (exact scheme) in USDC on Base (eip155:8453) or Arc (eip155:5042); the 402 quote lists both and the transfer settles before the bounty is created. No gas needed on Base. People post on the web board by funding the escrow from a wallet. The amount is escrowed up front and refunded to the paying wallet on cancel or expiry. Enterprise pilots are priced by contract."}, "account": {"kyc": "none", "agent_may_act": {"allowed": true, "source_url": "https://docs.vangrid.io/api/agent-bounties.md"}}, "coverage": {"regions": ["Global, uneven (densest in metropolitan areas)"], "notes": "Coverage follows contributors: densest in metro areas, sparser elsewhere. The Terms (s.15) say the service is not offered to residents of Illinois, Texas and Washington (USA), Germany, France, Italy, mainland China, Russia, Iran, North Korea, Syria, Cuba and Crimea (this applies to anyone using the service, so presumably also to bounty buyers), and uploads are blocked in some regions by capture location and network region. Contributors may not capture private property, home or vehicle interiors, schools, playgrounds, healthcare, places of worship, military or critical-infrastructure perimeters, or identifiable minors. A public explorer tree from 2026-09-24 listed captures from cities on several continents (e.g. Istanbul, Atlanta, Amsterdam, Nairobi, Sydney, Jakarta, Tokyo)."}, "licensing": {"summary": "The Terms say contributors keep ownership of their captures and grant Vangrid a worldwide, non-exclusive, royalty-free, sublicensable, transferable licence to process, distribute and commercialise them and their derivatives. What licence the bounty buyer receives to the capture or model is not stated anywhere. The Privacy Policy says Vangrid processes captures to train spatial models and may license filtered datasets to defense and government customers under use restrictions, robotics, world-model and AI labs, and infrastructure operators, so a commissioned capture is not exclusive.", "buyer_owns_output": false, "vendor_trains_on_data": "yes"}, "capture": {"by": "contributors"}, "requester": {"checks": "None documented for buyers: there is no account and no API key; an agent pays from any wallet, gets a one-time agent_token, and Vangrid posts the title and brief to the board from its operator wallet within a minute. The rules sit with contributors: the Terms forbid capturing private spaces, identifiable minors and sensitive sites, and ban harassing or stalking any person.", "unknown": "Whether briefs are screened before posting, and how a request to film a specific person would be refused, is not stated."}, "access": {"cost": "paid", "key_required": false, "tested_live": null, "automation_allowed": true, "gate": "none", "notes": "Terms s.8 bans 'bots, automated tools, fabricated GPS data, or spoofed locations' for all users; read in context it targets faked captures, and the agent API with x402 is explicitly offered."}, "api": {"available": true, "self_serve": true, "docs_url": "https://docs.vangrid.io/api/agent-bounties", "base_url": "https://data.vangrid.io/api/v1", "openapi_url": "https://data.vangrid.io/openapi.json", "auth": [{"type": "other", "header": "PAYMENT-SIGNATURE", "how_to_get": "x402 v2: call without payment, read the 402 PAYMENT-REQUIRED header, sign an exact USDC authorization on Base or Arc and retry. No account or key; needs a wallet holding USDC.", "transport": "rest"}, {"type": "bearer", "header": "Authorization", "how_to_get": "The agent_token (vgb_...) returned once by POST /bounties; it is the only credential for that bounty's status, accept and cancel calls.", "transport": "rest"}, {"type": "none", "how_to_get": "GET /provenance/{hash} is free and needs no payment or token.", "transport": "rest"}], "endpoints": [{"action": "order", "method": "POST", "path": "/bounties", "params": "title (3-200 chars), brief (20-4000 chars), amount_usdc (integer; default range 50-5000), deadline_days (1-30, default 7)", "notes": "Paid by x402: the price is exactly amount_usdc, settled before processing. Returns bounty_id, agent_token (once), poll_url."}, {"action": "status", "method": "GET", "path": "/bounties/{id}", "params": "Authorization: Bearer <agent_token>", "notes": "Free. Status (paid, open, accepting, accepted, cancelling, cancelled, expired, expired_refunded, failed), onchain_id, board_url, transactions, and submissions with watermarked preview_url (15 min) and quality_status pass/fail."}, {"action": "fetch", "method": "GET", "path": "/bounties/{id}", "params": "Authorization: Bearer <agent_token>", "notes": "After POST /bounties/{id}/accept {submission_id} (free, final, releases the escrow), the accepted submission carries full_capture_url, model_glb_url and model_zip_url as signed links valid 15 minutes. POST /bounties/{id}/cancel refunds while open."}, {"action": "search", "method": "POST", "path": "/spatial/query", "params": "aoi (GeoJSON Point with radius_m 1-5000, or Polygon up to 100 km2), from, to, limit (1-1000)", "notes": "$0.01 by x402. Returns already-anchored captures: sha256, 6-character geohash, captured_at and Base anchor. No media."}, {"action": "fetch", "method": "GET", "path": "/observations/{id}", "params": "id = capture sha256", "notes": "$0.005 by x402. One anchored observation. GET /provenance/{hash} answers the same check for free."}], "mcp": {"remote": null, "registry_name": null, "first_party": true, "auth": "x402 from a local wallet (EVM_PRIVATE_KEY), with MAX_USD_PER_CALL and MAX_USD_PER_BOUNTY caps", "notes": "Open-source (MIT) stdio server github.com/vangrid-labs/bounty-mcp, run with npx -y github:vangrid-labs/bounty-mcp. Tools: vangrid_post_bounty, vangrid_bounty_status, vangrid_accept_submission, vangrid_cancel_bounty, vangrid_coverage_query, vangrid_observation, vangrid_verify_provenance. Accept and cancel are free and irreversible and not covered by the spend caps. Not in the official MCP Registry."}, "notes": "Discovery: an x402 manifest at https://data.vangrid.io/.well-known/x402 lists the paid resources, networks and payTo address. A separate Enterprise Spatial API (api.vangrid.io/v1, bearer API keys, spatial query, ingest, streaming) is granted per pilot by contacting sales."}, "verification": {"human": {"level": "none", "unknown": "Contributors sign in with a wallet and need an invite code to upload; no identity check is documented, and buyers see no contributor identity."}, "application": {"level": "none", "unknown": "Captures are recorded in the Vangrid capture app (browser or Android) and checked at ingest for quality, length, camera/location consistency and duplicates (content checks, not attestation). Vangrid says hardware-backed device attestation is 'not live yet' and that the fingerprint 'says nothing about the device that produced it'. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Recorded through the app's camera; the Terms ban fabricated, manipulated, staged or AI-generated content; ingest rejects duplicates. No signed capture or C2PA; Vangrid is not on the C2PA conforming products list, so nothing proves the video came from a real sensor rather than a screen or generator."}, "time": {"level": "claimed", "method": "Each capture's fingerprint (content sha256, coarse geohash, timestamp) becomes a leaf in a Merkle tree (keccak256, sorted pairs, odd nodes hashed with themselves) whose root is attested on Base through EAS when its window closes (about every 15 to 35 minutes). Vangrid's provenance endpoint maps a sha256 to its leaf, root and attestation.", "evidence_url": "https://explorer.vangrid.io/api/trees/5776", "unknown": "Claimed, not evidenced: the leaf encoding is not published, so linking a capture's sha256 to its leaf requires Vangrid's provenance endpoint, and the published proofs omit the self-pair steps for odd nodes (61 of 317 leaves in tree 5776 fail an independent sorted-pair recomputation, though Vangrid's endpoint reports one of them verified). Restore evidenced when Vangrid publishes the leaf encoding and odd-node rule, or proofs a standard verifier accepts. The anchor shows a leaf existed no later than the window close; the capture time inside the fingerprint is device-reported, a bounty submission may be a clip filmed before the bounty was posted, and the attester address is not documented as Vangrid's."}, "location": {"level": "claimed", "method": "Location is optional; when given it is checked for consistency with camera signals at ingest, and a 6-character geohash (about 1.2 km by 0.6 km) is anchored in the fingerprint.", "unknown": "The anchored location is device-reported and coarse; GPS/motion cross-correlation against spoofing is 'not live yet', and some bounties may receive captures with no location at all."}, "content": {"level": "claimed", "method": "Automated quality check per submission (quality_status pending/pass/fail); the buyer reviews a watermarked preview against the brief before accepting one.", "unknown": "The automated check covers quality and length, not whether the clip shows the place in the brief; that judgment is the buyer's."}, "corroboration": {"level": "none", "unknown": "A bounty delivers one contributor's capture. Independent verifiers under collateral are 'not live yet'; the multi-view ground_truth_score described for the enterprise query API is not part of bounty delivery."}}, "provenance": {"custody": {"level": "claimed", "method": "Each capture's fingerprint is registered as a leaf in a Merkle tree whose root is attested on Base through EAS; Vangrid's provenance endpoint returns a capture's leaf, root and attestation.", "evidence_url": "https://explorer.vangrid.io/api/trees/5776", "unknown": "A registration record, not per-hop custody. The leaf encoding is unpublished and 61 of 317 proofs in tree 5776 fail an independent recomputation, so the capture-to-anchor link rests on Vangrid's API; whether the delivered full_capture_url hashes to the anchored sha256 is not stated.", "sources": [{"claim": "Explorer API: Merkle roots, levels and proofs; on-chain EAS attestation of each root", "url": "https://explorer.vangrid.io/api/trees/5776"}]}}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Tagline 'Sovereign data rail for real-time ground truth, enabling world models and autonomous systems'", "url": "https://vangrid.io"}, {"claim": "Agent bounty API: no account or key; x402 on Base or Arc; POST /bounties fields and ranges (default 50-5000 USDC, deadline 1-30 days); agent_token bearer; statuses; preview and model links valid 15 min; quality_status; accept/cancel; full refund; 'hours or days'; MCP tools", "url": "https://docs.vangrid.io/api/agent-bounties.md"}, {"claim": "Bounties: 10% platform fee and ~$5 reconstruction from the reward; GLB mesh; reconstruction 30+ min; escrow in USDC on Base; full refund; contributors may submit a previously captured clip; only a dataset hash goes on chain", "url": "https://docs.vangrid.io/contribute/bounties.md"}, {"claim": "Pay-per-request: $0.01 spatial query, $0.005 observation, free provenance; 6-character geohash (~1.2 x 0.6 km); EAS anchor fields; OpenAPI and x402 manifest; MCP server setup", "url": "https://docs.vangrid.io/api/pay-per-request.md"}, {"claim": "OpenAPI 1.0.0: seven endpoints, x402 PAYMENT-SIGNATURE and agentToken bearer security schemes, server data.vangrid.io", "url": "https://data.vangrid.io/openapi.json"}, {"claim": "x402 manifest: paid resources (spatial query, observation, bounties), networks eip155:8453 and eip155:5042", "url": "https://data.vangrid.io/.well-known/x402"}, {"claim": "Verification: live ingest checks (quality, camera/location consistency, duplicates), capture fingerprint, Merkle root anchored on Base; device attestation, sensor cross-correlation and independent verification not live", "url": "https://docs.vangrid.io/protocol/verification.md"}, {"claim": "Public explorer of anchored Merkle trees, leaves and inclusion proofs (latest tree attested 2026-10-27 UTC)", "url": "https://explorer.vangrid.io/"}, {"claim": "Sample check: provenance endpoint returned verified=true for capture cf9642...4a48 (tree 4145, captured 2026-09-24T06:31:34Z)", "url": "https://data.vangrid.io/api/v1/provenance/cf9642dae244a213bc9c0e6d325a84be44fe8fd1f57d9b362c64493769b74a48"}, {"claim": "Sample tree 4145 leaves and proofs; the leaf's 11-node proof recomputes (keccak256, sorted pairs) to the attested root", "url": "https://explorer.vangrid.io/api/trees/4145"}, {"claim": "EAS attestation on Base for tree 4145's root, created 2026-09-24 07:06:12 UTC, not revoked", "url": "https://base.easscan.org/attestation/view/0x1b0a4d4221b2721f6386abf40787dc06690ad781e877e64db98db9e49ddbd9df"}, {"claim": "Capture app in browser or Android; on-device blurring of faces and plates; location optional; uploads unavailable in some regions", "url": "https://docs.vangrid.io/contribute/capture.md"}, {"claim": "Terms (May 22, 2026): contributor obligations and banned subjects; contributors retain ownership and license Vangrid; no AI-generated content; excluded jurisdictions; harassment/stalking ban", "url": "https://docs.vangrid.io/legal/terms-of-service.md"}, {"claim": "Privacy Policy: data processed to train spatial models; filtered datasets licensed to defense, robotics, AI labs and infrastructure operators; operator Aurevion Group Ltd. (BVI)", "url": "https://docs.vangrid.io/legal/privacy-policy.md"}, {"claim": "Edge nodes: coverage follows contributors, densest in metro areas, sparser elsewhere", "url": "https://docs.vangrid.io/concepts/edge-nodes.md"}, {"claim": "Wallet sign-in, invite code needed to upload; requester receives the 3D model", "url": "https://docs.vangrid.io/faq.md"}, {"claim": "Enterprise API keys by contacting sales; pricing scoped per deployment; access granted per pilot", "url": "https://docs.vangrid.io/api/authentication.md"}, {"claim": "MCP server README: seven tools, stdio, MIT, spend caps, accept/cancel irreversible and outside caps", "url": "https://github.com/vangrid-labs/bounty-mcp"}, {"claim": "Not in the official MCP Registry (search 'vangrid' returns 0)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=vangrid"}, {"claim": "Explorer API: tree 5776 root, levels and per-leaf proofs (recomputed 2026-10-28: 256 of 317 leaves verify)", "url": "https://explorer.vangrid.io/api/trees/5776"}, {"claim": "EAS attestation on Base carrying tree 5776's Merkle root", "url": "https://base.easscan.org/attestation/view/0x2e8b9900e8d4fb43132d3581339d08c5afd2a918068a24e2a6951602aa49fe75"}, {"claim": "Verification doc: fingerprint = content hash, coarse geohash, timestamp; device attestation and independent verifiers not live", "url": "https://docs.vangrid.io/protocol/verification.md"}, {"claim": "Account: none; agents post bounties by x402 from their own wallet, no account or key", "url": "https://docs.vangrid.io/api/agent-bounties.md"}]}, {"id": "vantor-hub", "name": "Vantor Hub (WorldView tasking)", "provider_url": "https://vantor.com/product/platform/hub/", "short": "Task WorldView optical, 3D and radar captures by API.", "summary": "Vantor (formerly Maxar Intelligence) sells new WorldView satellite collections through the Vantor Hub APIs: a Tasking V2 API for FastView (collection guaranteed within 24 hours of a chosen start) and FlexView (cloud, angle and sun limits) 2D imagery, WorldView 3D elevation products, and limited-release WorldView Radar tasking of Umbra SAR. Requests need an end-use code, quotes reserve account credits, and by default tasked imagery joins Vantor's public catalogue unless the account has private tasking.", "tags": ["satellite", "optical", "high resolution", "tasking", "worldview", "fastview", "flexview", "SAR", "umbra", "3d", "stereo", "vantor", "maxar", "api", "stac"], "capabilities": {"modalities": ["aerial", "photo"], "tasks": ["task a new WorldView 2D collection over a point or polygon within a collection window (FastView or FlexView)", "check feasibility (High, Medium or Low probability) before tasking", "quote credits before submitting (estimate endpoints)", "task WorldView 3D elevation products and, in limited release, Umbra SAR spotlight scenes", "stereo pairs (FlexView only), private tasking (account option)", "search the archive and order imagery (Discovery and Ordering APIs), monitor areas"]}, "pricing": {"model": "credits reserved at submission; billed per area collected", "from_usd": 0, "unit": "not published", "notes": "Docs: 'A usage quote is calculated when a request is submitted... Account credits are reserved'; unused credits are released; tasking minimum 50 km2, maximum 1000 km2; Umbra radar priced per 5 km x 5 km scene by resolution and dwell. Vantor's Hub page says 'credits model with transparent pricing' and 'One subscription, unlimited seats'; no dollar figures were found."}, "latency": {"typical": "FastView: collected within 24 h of a start time set 8 h to 14 days ahead; FlexView: any window up to 364 days, start can be 'now'", "notes": "FastView docs: 'Within 24 hours of the requested start time, an image will be collected'; availability is a reservation and an unavailable date returns 400 with future dates. FlexView honours cloud and angle limits so may take longer. Time from capture to delivery is not stated in the pages read. Shared limit of 1000 new tasking requests per hour across all customers."}, "coverage": {"regions": ["Global (WorldView constellation)"], "notes": "Docs list 'high demand' countries where tasking is harder: Armenia, Azerbaijan, Bahrain, Benin, China (East), Colombia, Congo, Cyprus, Ecuador, Gabon, Gaza Strip, Georgia, Iran, Iraq, Israel, Japan, Jordan, Kuwait, Lebanon, North Korea, Nigeria, Oman, Qatar, Saudi Arabia, Singapore, South Korea, Syria, Taiwan, Togo, Turkey, Turkmenistan, Ukraine, United Arab Emirates, West Bank, Yemen. Requests can be DENIED by Vantor headquarters. Radar needs Point AOIs and an enabled account.", "areas": ["*"]}, "licensing": {"summary": "Tasked imagery is added to Vantor's public catalogue by default; 'private tasking' (only the ordering account can see it, not resold or archived) is a sales-enabled option. Each request carries a required end-use code (e.g. AGR, COM, DNI, USG). Vantor publishes licence documents (internal use, subscription services, display media, fedgov and others) at vantor.com/resources/, which were not read, so resale, AI training and ownership are left unstated."}, "verification": {"human": {"level": "none", "unknown": "Captured by satellites; no person is identity-checked at capture."}, "application": {"level": "none", "unknown": "No attestation of delivered files is documented."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). Products carry sensor and product metadata (WorldView or Umbra constellation, product recipe)."}, "time": {"level": "claimed", "unknown": "Tasking status moves INITIAL, ACCEPTED, AWAITING-COLLECTION, IN-PRODUCTION, FULFILLED with transition times, and imagery has capture metadata; no independent time-stamp is documented. The cited page documents order-status transition times, not image acquisition time.", "method": "Documented status lifecycle with transition_time", "evidence_url": "https://developers.maxar.com/docs/tasking/guides/tasking-status.md"}, "location": {"level": "claimed", "unknown": "Delivered products are georeferenced (system-ready, ortho-ready or orthorectified); accuracy figures were not read."}, "content": {"level": "none", "unknown": "No integrity or anti-manipulation method is documented in the tasking docs."}, "corroboration": {"level": "none", "unknown": "No cross-checking is documented."}}, "freshness": {"mode": "on_demand", "typical_age": "Captured after you request, inside your window", "notes": "The same Hub also serves archive imagery, which is not new capture."}, "api": {"available": true, "self_serve": false, "docs_url": "https://developers.maxar.com/docs/tasking.md", "base_url": "https://api.maxar.com", "auth": [{"type": "bearer", "how_to_get": "OAuth2 password grant: POST https://account.maxar.com/auth/realms/mds/protocol/openid-connect/token with client_id=mgp, the user's email and password, grant_type=password. Needs a Vantor Hub account."}, {"type": "api_key_header", "env_var": "VANTOR_API_KEY", "how_to_get": "Generate a key in the Hub UI (profile menu > API Key) or POST https://account.maxar.com/api-key/api/v2/api-key; keys expire 180 days after creation by default and work on non-admin APIs, sent as the HTTP header maxar-api-key or the URL parameter maxar_api_key.", "header": "maxar-api-key"}], "endpoints": [{"action": "quote", "method": "POST", "path": "/tasking/umbra/estimate", "notes": "Radar credit estimate. The 2D and 3D estimate and feasibility endpoints exist (docs: 'Quote a tasking order', 'Check feasibility') but their exact paths were not read."}, {"action": "order", "method": "POST", "path": "/tasking/umbra", "params": "start_collect_datetime, end_collect_datetime, geometry (Point), tasking_details, product_details.licensing.end_use_code, output_configs, notifications", "notes": "Validate first with ?validation_only=true. The 2D create path under tasking/v2 was not read."}, {"action": "status", "method": "GET", "path": "/tasking/{id}"}, {"action": "list", "method": "GET", "path": "/tasking"}, {"action": "order", "method": "POST", "path": "/tasking/cancel", "notes": "Cancel a request; FastView cancel up to 24 h before start"}], "sdk": "Python package maxar-platform (modules ordering, tasking, api_keys); QGIS and ArcGIS Pro plugins.", "rate_limits": "Tasking system accepts up to 1000 new requests per hour across all Hub customers; excess returns 429 too_many_requests.", "notes": "Tasking moved to V2 endpoints on 9 December 2025 (base path tasking/v2); exact endpoint paths and the full host path were not read from the interactive reference, so only paths named in the guides are listed. No OAuth discovery, dynamic registration or MCP found. SkyFi also resells Vantor tasking. Vantor has announced that API base URLs will be renamed in 2026, with a 90-day window in which legacy and new paths both work; as of 2026-10-28 no migration guide or new host is published (api.vantor.com does not resolve), so api.maxar.com and account.maxar.com remain current. Status page is now hub-status.vantor.com."}, "adapter": "vantor_hub", "delivery": {"modes": ["commission"], "speed": "days", "basis": "FastView: 'Within 24 hours of the requested start time, an image will be collected' (start 8 hours to 14 days out); delivery after capture is not stated."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "capture": {"by": "devices"}, "payment": {"methods": ["prepaid_balance"], "agent_can_pay": false, "notes": "Subscription with account credits; credits are reserved when a tasking request is submitted. How credits are bought (card or invoice) was not found. Tasking, subscription and demo requests go through Vantor sales."}, "requester": {"checks": "A Hub customer account with credentials; every tasking request must declare an end-use code; some features (private tasking, radar, object detection) are enabled per account by sales; requests can be denied by Vantor headquarters.", "unknown": "Identity, export-control and sanctions screening of customers is not described in the developer docs."}, "providers": [{"name": "Vantor", "roles": ["producer", "licensor"], "url": "https://vantor.com"}, {"name": "Umbra", "roles": ["producer"], "url": "https://umbra.space"}], "sources": [{"claim": "Hub 1.12.0 (2026-02-12): API base URLs move to updated naming in 2026, migration guide promised by March 2026, 90-day window with legacy and new paths; Hub 1.14.0 (2026-05-07): status page hub-status.vantor.com; 2026-10-27: Ordering V2 required by November 11, 2026, Monitoring V1 turned off (neither used by this card)", "url": "https://developers.maxar.com/docs/release-notes"}, {"claim": "Hub API overview; OAuth2 bearer token and API keys; Discovery, Ordering, Monitoring, Tasking APIs", "url": "https://developers.maxar.com/docs.md"}, {"claim": "Tasking API: 2D, 3D, Radar via Umbra; V2 since 9 Dec 2025", "url": "https://developers.maxar.com/docs/tasking.md"}, {"claim": "WorldView 2D tasking: credits, 50 to 1000 km2, high-demand countries, FastView and FlexView, stereo, private tasking, feasibility, managing endpoints", "url": "https://developers.maxar.com/docs/tasking/guides/tasking-guide.md"}, {"claim": "Radar tasking limited release, per 5x5 km scene, estimate and submit endpoints", "url": "https://developers.maxar.com/docs/tasking/guides/radar-guide.md"}, {"claim": "Umbra request example (Point AOI, end_use_code, output_configs)", "url": "https://developers.maxar.com/docs/tasking/guides/example-umbra-sar.md"}, {"claim": "1000 requests per hour shared limit, 429", "url": "https://developers.maxar.com/docs/tasking/guides/request-limits.md"}, {"claim": "End-use codes required", "url": "https://developers.maxar.com/docs/tasking/guides/end-use-codes.md"}, {"claim": "Cancellation policy", "url": "https://developers.maxar.com/docs/tasking/guides/cancellation.md"}, {"claim": "Status lifecycle (INITIAL ... FULFILLED, DENIED, UNFULFILLED)", "url": "https://developers.maxar.com/docs/tasking/guides/tasking-status.md"}, {"claim": "Private tasking is not default; contact sales", "url": "https://developers.maxar.com/docs/tasking/guides/private-tasking-tutorial.md"}, {"claim": "Bearer token via OAuth2 password flow at account.maxar.com", "url": "https://developers.maxar.com/docs/authentication/guides/get-a-token.md"}, {"claim": "API keys: 180-day default expiry, non-admin APIs; header maxar-api-key or URL parameter maxar_api_key", "url": "https://developers.maxar.com/docs/authentication/guides/api-key.md"}, {"claim": "Hub is subscription, credits model, unlimited seats, up to 15x/day revisit, Request a Demo", "url": "https://vantor.com/product/platform/hub/"}, {"claim": "Not in MCP Registry (search vantor and maxar, 0 results)", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=vantor"}, {"claim": "FastView request body: tasking_tier, geometry {latitude, longitude, buffer}, start_collect_datetime, tasking_details.max_gsd, product_details.product_type and licensing.end_use_code (required)", "url": "https://developers.maxar.com/docs/tasking/guides/fastview-parameters.md"}], "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "status": "unclaimed", "updated": "2026-10-28", "expires": "2027-10-27"}, {"id": "wegolook", "name": "WeGoLook", "provider_url": "https://wegolook.com", "status": "unclaimed", "tags": ["inspection", "on-demand", "looker", "insurance", "claims", "auto", "vehicle", "heavy equipment", "property", "verification", "crowd workforce"], "summary": "On-demand field workers ('Lookers') who go to a vehicle, property or site and capture photos, video and checklist answers in the WeGoLook app. A public order portal sells fixed-price vehicle inspections (auto, heavy equipment, motorcycle, RV, watercraft) from $99; insurers and other enterprises buy custom workflows by contract. WeGoLook is a Crawford & Company subsidiary (Crawford bought 85 percent in January 2017) and also powers Crawford's alternative claims inspections.", "short": "Sends a local inspector to photograph and video a vehicle or property; online vehicle inspections from $99.", "capabilities": {"modalities": ["photo", "video", "text-report"], "tasks": ["vehicle inspection ordered online: auto, heavy equipment, motorcycle, RV, watercraft", "VIN and damage verification", "working demonstration and walk-around video", "auto and fleet claims inspection", "non-complex property inspection", "roof and interior/exterior property inspection (Crawford AIS network)", "vacant land inspection", "underwriting and real estate portfolio inspection", "notice delivery and product recall checks", "notarized document looks", "self-service looks (customer or employee collected)", "custom workflow integrations"]}, "pricing": {"model": "fixed price per online inspection; enterprise by quote", "from_usd": 99, "unit": "instant vehicle inspection", "notes": "The $99 base and add-on prices could not be re-checked (the portal renders client-side). The public order portal listed Instant Inspection - Auto at a base price of $99, with add-ons: working demonstration and exterior walk-around videos $35, three-day rush delivery $35, two-day rush delivery $50. The same five vehicle products (auto, heavy equipment, motorcycle, RV, watercraft) are listed. Enterprise and claims work (Standard, Self-Service and Custom Looks) has no public price. Looker pay, per the app store listings, is mostly $15-$25 per Look."}, "latency": {"typical": "About 1.6 days to first inspection on average, against a two-day SLA (2022 claims brochure); rush delivery in two or three days can be bought online", "notes": "The 2022 brochure also gives 38 minutes average time to first contact and 11.2 miles average Looker distance. The order portal sells three-day and two-day rush delivery as paid add-ons, so standard online delivery is slower than three days, but the standard window is not stated. Crawford says many of its services can be delivered 'as rapidly as same day'. App store listings say most Looks take under an hour on site."}, "coverage": {"regions": ["US"], "notes": "Over 45,000 Lookers claimed. Crawford describes the Looker network as recruited 'in the U.S.' and lists 'Locations Served: United States' for its WeGoLook contacts; the Looker onboarding site says 'nationwide network'. The homepage and 2022 brochure say 'global' and 'around the globe', but no non-US country is named. A Crawford brochure footer says 'Additional countries served by Crawford's global network'. No city list or density data is public.", "areas": ["US"]}, "licensing": {"summary": "No client terms for deliverables are public: ownership, resale and AI training are not stated. The site Terms (last updated July 1, 2020) say users grant Crawford Inspection Services a license to use their Submissions, and that site content belongs to Crawford Inspection Services or its licensors. The privacy policy (April 27, 2023) says WeGoLook does not sell personal data for money but may share it 'in exchange for other value, such as data analytics'. Enterprise contracts may differ."}, "verification": {"human": {"level": "none", "unknown": "Lookers are independent contractors who apply through the app or onboarding site; notary Looks require a notary license and roof inspectors are described as experienced. No identity check, background check or vetting process is described on a provider page. Older partner announcements (2010-2011) describe background-checked Lookers; WeGoLook's current site states no check."}, "application": {"level": "none", "unknown": "Lookers capture in the WeGoLook mobile app, and release notes describe in-app photo validation and enforced in-app capture for 'v2' Looks, but no app-integrity check, Play Integrity or App Attest use is documented. No C2PA signing; WeGoLook is not on the C2PA Conforming Products List. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Release notes describe the app's own camera components (front/rear switch, flash, zoom, enforced landscape capture) for photos and video on v2 Looks. Whether gallery uploads are blocked on every Look type, and whether a photo of a screen would be caught, is not stated."}, "time": {"level": "claimed", "method": "Reports state an inspection date and time", "evidence_url": "https://demo.wegolook.com/looks/5fab09a11e9df00021af5485/reports/public.html", "unknown": "How the inspection time is recorded (device clock, server receipt or Looker entry) is not stated, and photos carry no visible per-photo timestamp in the sample report."}, "location": {"level": "none", "unknown": "The app collects precise location and the Terms mention Google geo-location services, but no geofencing or per-photo location check is described. The sample report shows only a city. GPS spoofing risk unknown."}, "content": {"level": "claimed", "method": "'Quality assurance' is listed as a benefit on the homepage; Looks follow a fixed shot list and checklist (see sample report)", "evidence_url": "https://wegolook.com", "unknown": "No description of what the QA involves, who performs it, or whether every report is reviewed."}, "corroboration": {"level": "none", "unknown": "No public statement on second-source checks, re-inspections or fraud-rate reporting."}}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "2022 brochure: average time to first inspection 1.6 days, two-day SLA; the order portal sells two- and three-day rush delivery."}, "freshness": {"mode": "on_demand", "typical_age": "captured after the order, usually within days", "notes": "Each Look is a new on-site capture."}, "api": {"available": false, "self_serve": false, "notes": "No public API documentation. The web order portal (placeorder.wegolook.com) calls a backend at api.wegolook.com with Auth0 login, but it is not documented for third parties. Enterprise integrations are offered as 'Custom Solutions' through sales.", "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No entry in the official MCP Registry for 'wegolook' or 'crawford' (2026-10-26)."}}, "access": {"cost": "paid", "tested_live": null, "automation_allowed": false, "gate": "none"}, "payment": {"methods": ["card", "hosted_checkout"], "agent_can_pay": false, "notes": "Online orders are paid at checkout by credit card or PayPal; the order portal redirects to a hosted payment page (Authorize.net or PayPal Express Checkout), per its public config and code (Stripe also appears in that config). Enterprise billing terms are not public."}, "capture": {"by": "people"}, "requester": {"checks": "Ordering online requires signing in or signing up for an account. The Terms require users to be at least 18 and to give accurate registration information.", "unknown": "No identity, business or purpose checks on who commissions a Look are documented, and the Terms do not address Looks that target a specific person."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Operating site; Standard, Self-Service and Custom Looks; industries; 'global, on-demand workforce'; 'over 45,000' professionals; 'quality assurance' benefit; client 'Place an Order' and enterprise 'Contact Sales' paths; copyright Crawford & Company 2025", "url": "https://wegolook.com"}, {"claim": "Get Started page: clients order instant inspections online at placeorder.wegolook.com; enterprise via sales", "url": "https://wegolook.com/get-started"}, {"claim": "Instant Inspection - Auto: up to 64 photos, VIN and damage verification; base price $99; add-ons $35 videos, $35 three-day rush, $50 two-day rush; products for auto, heavy equipment, motorcycle, RV, watercraft; sign-in or sign-up required to order", "url": "https://placeorder.wegolook.com/instant-inspections/auto"}, {"claim": "Order portal config: backend api.wegolook.com, Auth0 login (auth.wegolook.com), PayPal Express Checkout and Authorize.net hosted payment URLs", "url": "https://placeorder.wegolook.com/config/globals.js"}, {"claim": "Sample report: fixed shot list, inspection date and time, city-level location", "url": "https://demo.wegolook.com/looks/5fab09a11e9df00021af5485/reports/public.html"}, {"claim": "Crawford Innovative Ventures acquired 85 percent of WeGoLook, LLC for $36.125M, closed January 4, 2017", "url": "https://www.sec.gov/Archives/edgar/data/25475/000119312517002419/d311506d8k.htm"}, {"claim": "Brochure page (March 14, 2022): over 45,000 Lookers", "url": "https://crawco.com/resources/wegolook-brochure"}, {"claim": "Brochure PDF: average time to first inspection 1.6 days (two-day SLA), 38 minutes to first contact, 11.2 miles Looker distance; 'around the globe'; YouGoLook self-service", "url": "https://assets.crawco.com/docs/us-global-resource-WGL-A-Crawford-ClaimsOnePager.pdf"}, {"claim": "Looker network (45,000+) recruited in the U.S. for auto, non-complex property, vacant land, underwriting, real estate portfolio; AIS network for roof and interior/exterior inspections; 'as rapidly as same day'; WeGoLook contacts serve United States", "url": "https://www.crawco.com/services/alternative-inspections/"}, {"claim": "Looker onboarding: independent contractors in a nationwide network; Looker, Looker - Notary (license required), Roof Inspector, Interior/Exterior Inspector; notice delivery and product recall tasks", "url": "https://onboarding.wegolook.com"}, {"claim": "Most Looks pay $15-$25 and take under an hour; Lookers apply in the app; release notes on in-app camera, photo validation and enforced capture; Precise Location in privacy label; version 5.8.1", "url": "https://apps.apple.com/us/app/wegolook/id906841156"}, {"claim": "Android app: same Looker description; updated Jun 16, 2026; 100K+ downloads", "url": "https://play.google.com/store/apps/details?id=com.wegolook.app"}, {"claim": "Terms (updated July 1, 2020): license to use Submissions granted to Crawford Inspection Services; users 18+, accurate registration; 'Do not use bots or automated means to access our Sites'; Google Geo-Location Services; no pricing, AI or resale terms", "url": "https://wegolook.com/legal/terms"}, {"claim": "Privacy policy (April 27, 2023): collects geographic position and photos; does not sell personal data for money but may share it for other value such as analytics; no AI or model-training statement", "url": "https://wegolook.com/legal/privacy"}, {"claim": "No WeGoLook or Crawford entry in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=wegolook"}, {"claim": "WeGoLook and Crawford are not on the C2PA Conforming Products List", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "2011 eBay Motors partnership: 'background-checked, certified' Lookers (third-party, dated)", "url": "https://www.ebayinc.com/stories/news/ebay-motors-and-wegolook-partner-to-provide-onsite-inspections-for-vehicles/"}]}, {"id": "windy-webcams", "name": "Windy Webcams", "status": "unclaimed", "provider_url": "https://api.windy.com/webcams", "short": "A directory of public webcams worldwide, with current images through an API.", "summary": "Large global directory of public webcams run by third-party operators, with a REST API (v3) to find webcams near a point or in a bounding box and get current image URLs, live/timelapse player embeds and location metadata.", "tags": ["webcam", "live camera", "photo", "timelapse", "weather", "traffic", "beach", "mountain", "ski", "city", "airport", "port", "nearby", "bounding box", "global", "api"], "capabilities": {"modalities": ["photo", "video"], "tasks": ["current still image of a place from a fixed public webcam", "find webcams within a radius (up to 250 km) or bounding box", "live stream / daily, monthly, yearly timelapse player embeds", "visual check of weather, snow, sea state, crowds or traffic at a camera's view"]}, "pricing": {"model": "freemium (free tier plus annual professional subscription)", "from_usd": 0, "unit": "free tier; Professional 9,990 EUR per year", "notes": "Free tier: limited image size, image URLs valid for a short time (15 minutes on the pricing page, 10 minutes in the docs), pagination offset capped at 1000; images must be linked to windy.com or shown via the embeddable timelapse player, which may carry Windy ads. Professional: 9,990 EUR per year, paid annually in advance and auto-renewing; full-size images, image URLs valid 24 hours, offset up to 10,000, no ads in the timelapse player, and an all-webcams export in one call. No USD price published. The free tier may not be offered only inside the paid part of a user's app."}, "latency": {"typical": "Returned on request; the image is the camera's most recent upload, its age shown by lastUpdatedOn", "notes": "No per-camera refresh interval is published. Windy defines an Active Webcam as one updated within the last 24 hours, so an active camera's image can still be hours old. Docs recommend calling the webcams endpoint on every page load because image URL tokens expire (10 minutes free per the docs, 15 minutes per the pricing page; 24 hours professional). Windy does not guarantee the number of active webcams, the availability of any webcam, or image quality."}, "coverage": {"regions": ["Global (wherever webcams are registered; dense in Europe and tourist/ski/coastal areas, uneven elsewhere)"], "notes": "Only existing webcams with fixed views; you cannot point or add a camera on request. Windy calls it 'the largest collection of webcams worldwide'; Windy staff: '70 000+' webcams (2026-05-28). Filters by country, region, city, continent and 18 categories (airport, beach, building, city, coast, forest, indoor, lake, landscape, meteo, mountain, observatory, port, river, sportArea, square, traffic, village). Terms describe webcams as mounted outdoors to monitor the general natural environment.", "areas": ["*"]}, "licensing": {"summary": "Specific Terms of Use of the Windy Webcams API (effective 1 Sept 2023) govern and prevail over the general terms. They forbid redistributing any part of the API or its data to third parties, further redistributing the Content, giving third parties access to the API or your key, letting third parties build services on it, publishing any graphics displaying webcam images, stretching images, using image URLs other than those the API returns, continuous scanning of many webcams or downloading significant parts of image history, intensive automated use of any endpoint, and trying to identify people in the images. Users must visibly credit 'Webcams provided by windy.com - add new webcam' with links. Copyright stays with Windy and its suppliers (the webcam operators). General Windy terms add: no selling, renting or sublicensing Content, use for your own internal purposes only, and webcam images are excluded from the general permission to reuse Windy visuals. So an agent should not hand an image to a different person or publish a graphic showing it (Art. 10.1, 11.2); show it only through the player or the API URL to the key holder. AI or ML training and caching are not mentioned.", "resale": "forbidden", "buyer_owns_output": false}, "verification": {"human": {"level": "none", "unknown": "Who operates each camera. Terms define webcams as owned or operated by third-party Webcam Operators; no operator identity check is documented."}, "application": {"level": "none", "unknown": "Whether images come straight from the camera or are re-uploaded or edited; terms say images 'may be further processed' by Windy. No signing or capture attestation is documented."}, "camera": {"level": "none", "unknown": "Whether the feed is a real camera view or a looped or replaced image; no checks documented, and Windy says it has 'absolutely no control over the images'."}, "time": {"level": "claimed", "method": "API returns lastUpdatedOn (ISO 8601) per webcam", "unknown": "How the timestamp is set (camera clock or upload time) and whether stale or frozen images are detected. 'Active' only means updated within 24 hours."}, "location": {"level": "claimed", "method": "API returns WGS84 latitude/longitude plus city, region and country for each webcam", "unknown": "Whether coordinates are operator-entered or checked, and where the camera actually points."}, "content": {"level": "none", "unknown": "Whether images are staged, overlaid or heavily compressed. Windy gives no guarantee and takes no responsibility for webcam content. Status values (unapproved, rejected, duplicate) suggest listings are reviewed, but no review process is documented."}, "corroboration": {"level": "none", "unknown": "No cross-checking between cameras or against other sources documented; each webcam has an edit URL for public feedback."}}, "api": {"available": true, "docs_url": "https://api.windy.com/webcams/docs", "base_url": "https://api.windy.com/webcams/api/v3", "auth": [{"type": "api_key_header", "header": "x-windy-api-key", "env_var": "WINDY_WEBCAMS_API_KEY", "how_to_get": "Register a Windy account and create a Webcams API key at https://api.windy.com/keys (sign-in required); a new key may take a few minutes to become active worldwide. The key must not be published or shared with third parties."}], "endpoints": [{"action": "search", "method": "GET", "path": "/webcams", "params": "nearby={lat},{lon},{radius_km} (max 250 km); bbox={north_lat},{east_lon},{south_lat},{west_lon}; categories (max 10), categoryOperation (and|or), continents (max 2), countries, regions, cities, webcamIds (max 50, overrides other filters); include=categories,images,location,player,urls; limit (0-50, default 10); offset (max 1000 free, 10000 professional); sortKey (popularity|createdOn), sortDirection; lang", "notes": "Use include=images to get current/daylight image URLs and sizes; include=player for live and timelapse embed URLs. Image URLs carry expiring tokens and return HTTP 401 once expired."}, {"action": "fetch", "method": "GET", "path": "/webcams/{webcamId}", "params": "include=categories,images,location,player,urls; lang", "notes": "Single webcam with fresh image URLs; response has status (active, inactive, ...), lastUpdatedOn, viewCount, location, player URLs and provider URL."}, {"action": "search", "method": "GET", "path": "/map/clusters", "params": "northLat, southLat, eastLon, westLon, zoom (4-18), include, lang", "notes": "Webcams spread for map display in a bounding box; maximum box size depends on zoom level."}, {"action": "list", "method": "GET", "path": "/categories", "params": "lang", "notes": "Also /continents, /countries, /regions, /cities return geo codes usable as filters."}, {"action": "list", "method": "GET", "path": "https://api.windy.com/webcams/export/all-webcams.json", "notes": "Basic info for all webcams in one file; professional tier only."}], "rate_limits": "No numeric rate limit published. Terms forbid intensive use of any endpoint by automated software, continuous scanning of a significant number of webcams, downloading significant portions of image history, and placing inappropriate load on the API. Tier limits: pagination offset 1000 (free) vs 10000 (professional), limit max 50 per call.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No Windy or Windy webcams server in the official MCP Registry (searches 'windy', 'windyty', 'webcam' on 2026-10-26)."}, "notes": "No OAuth: /.well-known/oauth-protected-resource and oauth-authorization-server return 404 on api.windy.com and windy.com. The all-webcams export returns 403 without a key."}, "freshness": {"mode": "live", "typical_age": "Most recent image uploaded by each camera; varies per camera (see lastUpdatedOn)", "notes": "Current and daylight images plus a live player for streaming cameras. Timelapse players (day/month/year/lifetime) show past imagery but irlpls uses only the current image. An Active Webcam is one updated within the last 24 hours. No on-demand capture."}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "Docs: call /webcams/api/v3/webcams or /webcams/api/v3/webcams/{webcamId} every time the page is loaded to get current image URLs, whose tokens expire after 10 minutes (free) or 24 hours (professional)."}, "access": {"cost": "freemium", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "none", "notes": "Light use only: the API terms (Art. 8.2.2) ban intensive automated use of any endpoint and (Art. 8.2.1) continuous scanning of many webcams."}, "payment": {"methods": ["hosted_checkout"], "agent_can_pay": false, "prepaid": true, "notes": "Free tier needs no payment. Professional is an annual subscription paid in advance through a third party when upgrading on api.windy.com, renewing automatically until cancelled. No agent payment rail is documented; the payment processor and accepted methods are not named."}, "capture": {"by": "devices"}, "requester": {"checks": "A Windy account is needed to create an API key; requests are identified by key and Windy may log API use.", "unknown": "No identity or use-case check beyond account registration is documented."}, "adapter": "windy_webcams", "sources": [{"claim": "Auth header x-windy-api-key; keys at api.windy.com/keys, may take minutes to activate; image URL tokens expire after 10 minutes (free) or 24 hours (professional) and then return HTTP 401; call /webcams or /webcams/{webcamId} on every page load", "url": "https://api.windy.com/webcams/docs"}, {"claim": "OpenAPI 3.0 spec (decoded from the docs page's SvelteKit data file): endpoints /webcams/api/v3/webcams, /webcams/{webcamId}, /map/clusters (zoom 4-18), /categories, /continents, /countries, /regions, /cities, /webcams/export/all-webcams.json (professional only); nearby max radius 250 km, bbox format, limit 0-50, offset max 1000 free / 10000 professional, categories max 10 of 18, continents max 2, webcamIds max 50; include values; response fields status (active, inactive, unapproved, disabled, rejected, duplicate, merged), lastUpdatedOn, WGS84 location, player live/day/month/year/lifetime URLs, urls detail/edit/provider; securityScheme apiKey header x-windy-api-key", "url": "https://api.windy.com/webcams/docs/__data.json"}, {"claim": "Unauthenticated GET returned HTTP 403 {\"message\":\"Missing Header 'x-windy-api-key' with API key\"} on 2026-10-26", "url": "https://api.windy.com/webcams/api/v3/webcams"}, {"claim": "Pricing (api.windy.com/webcams redirects here): 'largest repository of webcams worldwide'; Free: link images to windy.com or embed timelapse player, image size limited, image URL valid 15 minutes, offset 1000; Professional 9 990 EUR/year: ad-free player, full-size images, URL valid 24 hours, offset 10 000, list all webcams via a single call", "url": "https://api.windy.com/webcams/pricing"}, {"claim": "Webcams API terms summary: use images only at original or smaller size and only via API URLs; link every image to the webcam page or player; credit 'Webcams provided by windy.com - add a webcam'; no inappropriate bandwidth load; data used 'as is'; links to the full specific terms", "url": "https://api.windy.com/webcams/terms"}, {"claim": "Specific Terms of Use of the Windy Webcams API (effective 1 Sept 2023): webcams owned/operated by third-party Webcam Operators, may be further processed by Windy; Active Webcam = updated within 24 hours; no guarantee of active webcam count, availability or image quality, no control over content; key created at registration; access logged; Professional fees paid as in-advance annual subscription through a third party, auto-renewing; free tier not only in paid part of an app; misuse includes continuous scanning, intensive automated use, identifying individuals, stretching images, non-API image URLs; no API access or key sharing with third parties; no publishing graphics displaying webcam images; redistribution of API data and Content forbidden; mandatory attribution; ads may run in free version; IP stays with Windy and suppliers", "url": "https://account.windy.com/agreements/windy-webcams-api-terms-of-use"}, {"claim": "General Windy terms (effective 1 Sept 2023): own internal use only, no redistribution; no selling, renting, sublicensing Content; no crawling or automated collection; Windy and suppliers retain ownership of Content; webcam images excluded from the Visualizations permission and governed by the webcam specific terms; Content may be removed without notice. No AI-training clause", "url": "https://account.windy.com/agreements/windy-terms-of-use"}, {"claim": "Windy staff (forum, 2024-04-19): free webcam API has only low-resolution images; use is fine if Windy is credited as image provider", "url": "https://community.windy.com/topic/32556/webcams-api-free-tier-usage-in-an-app"}, {"claim": "Windy staff (forum, 2026-05-28): '70 000+' webcams; paid API offers the fullest size received from the source", "url": "https://community.windy.com/api/topic/44535"}, {"claim": "No Windy or Windy webcams MCP server in the official registry (only unrelated 'windy-word-mcp')", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=windy"}, {"claim": "No OAuth metadata or discovery files: /.well-known/oauth-protected-resource, oauth-authorization-server, ucp, agent-card.json and irlpls all return 404 on api.windy.com (and www.windy.com, webcams.windy.com, account.windy.com)", "url": "https://api.windy.com/.well-known/oauth-protected-resource"}], "updated": "2026-10-27", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "wsdot-cameras", "name": "WSDOT highway cameras", "status": "unclaimed", "provider_url": "https://wsdot.wa.gov/traffic/api/", "adapter": "wsdot_cameras", "tags": ["traffic camera", "highway camera", "cctv", "webcam", "traffic", "road", "highway", "freeway", "interstate", "mountain pass", "snow", "road conditions", "airport", "ferry terminal", "seattle", "spokane", "portland", "washington state", "dot", "government", "free", "keyless", "image", "photo", "live", "real-time"], "summary": "Washington State DOT publishes about 1,700 camera feeds (state highways, mountain passes, airports, ferry terminals, and some partner cameras such as Oregon DOT's around Portland), each a still JPEG that refreshes about every 5 minutes with the date and time printed on it. The full camera list with image links is free and keyless as RSS, KML or an ArcGIS feature service, and the images themselves need no key. The Traveler Information REST API adds road, milepost, owner and active-status fields and needs a free access code sent by email.", "short": "Live still images from about 1,700 Washington State highway, pass, airport and ferry cameras; free, no key needed.", "capabilities": {"modalities": ["photo"], "tasks": ["list every camera with title, coordinates and current image URL, keyless (RSS, KML or ArcGIS FeatureServer)", "query cameras by area or attribute through the keyless ArcGIS FeatureServer", "list highway cameras with coordinates, road name, milepost, direction, region, owner and active status (REST API, access code)", "search cameras by state route, region and milepost range (REST API, access code)", "fetch a camera's current still image, stamped with date and time", "see traffic, snow and road conditions on Washington highways and mountain passes, and conditions at airports and ferry terminals"]}, "pricing": {"model": "free public government service", "from_usd": 0, "unit": "per request", "notes": "No charge. The camera list (RSS, KML, ArcGIS) and the images need no key; the REST API needs a free access code sent by email."}, "latency": {"typical": "Images refresh about every 5 minutes (WSDOT); in a 28-image sample on 2026-10-26, 26 were under 10 minutes old and most under 2 minutes.", "notes": "In the same sample one listed image (I-5 at MP 139.2: Emerald St) had not changed since 2026-07-02 and one airport image returned 404, so check the time printed on each image or its Last-Modified header."}, "coverage": {"regions": ["United States (Washington)", "United States (Oregon, Portland area)"], "notes": "1,706 cameras listed on 2026-10-26 across WSDOT regions ER, NC, NW, OL, OS, SC, SW and WA: mostly Washington state highways and passes, plus about 100 airport cameras, about 45 ferry-terminal cameras, and 65 Oregon cameras in the Portland area (region OS, many served from Oregon DOT's tripcheck.com). Some cameras belong to other agencies (CameraOwner, OwnerURL fields), and the REST IsActive field can be false.", "areas": ["US-WA", "US-OR"]}, "licensing": {"summary": "WSDOT provides travel information 'as-is' and 'as available' and disclaims all warranties of accuracy and timeliness. Images carry a '\u00a9 WSDOT' overlay and the website footer says 'All Rights Reserved'. The ArcGIS camera service's licence says the feed is intended for 'low volume' use and that WSDOT may cancel or restrict access for any reason. No reuse licence for camera images was found, and nothing names AI training or resale. Some images come from other agencies (e.g. Oregon DOT)."}, "freshness": {"mode": "live", "typical_age": "About 5 minutes or less", "notes": "Only the current image is served; no archive of past frames is offered. Each image has its date and time printed in the corner."}, "api": {"available": true, "docs_url": "https://wsdot.wa.gov/traffic/api/", "base_url": "https://wsdot.wa.gov/Traffic/api/HighwayCameras/HighwayCamerasREST.svc", "auth": [{"type": "none", "how_to_get": "The RSS, KML and ArcGIS camera lists and the image URLs on images.wsdot.wa.gov need no key."}, {"type": "api_key_query", "env_var": "WSDOT_ACCESS_CODE", "how_to_get": "Enter your email address on https://wsdot.wa.gov/traffic/api/ to be sent an Access Code; pass it as the AccessCode query parameter. Needed for the REST and WSDL services only."}], "endpoints": [{"action": "list", "method": "GET", "path": "https://wsdot.wa.gov/traffic/api/HighwayCameras/rss.aspx", "notes": "Keyless. RSS 2.0 of all cameras: guid (camera ID), title, link (image URL), image width and height. The item date is the feed date, not the image time."}, {"action": "list", "method": "GET", "path": "https://wsdot.wa.gov/traffic/api/HighwayCameras/kml.aspx", "notes": "Keyless. KML of all cameras grouped by region folder, with coordinates and image URL."}, {"action": "search", "method": "GET", "path": "https://data.wsdot.wa.gov/arcgis/rest/services/TravelInformation/TravelInfoCamerasWeather/FeatureServer/0/query", "params": "where, geometry, outFields, resultRecordCount, f", "notes": "Keyless ArcGIS query. Fields: OBJECTID (CameraID), CameraTitle, ImageURL, CompassDirection; point geometry in Web Mercator unless outSR is set. Licence: 'low volume' use. maxRecordCount 2000, so one query can return all 1,706 cameras."}, {"action": "search", "method": "GET", "path": "/GetCamerasAsJson", "params": "AccessCode", "notes": "All cameras: CameraID, CameraLocation (Description, Direction, Latitude, Longitude, MilePost, RoadName), CameraOwner, OwnerURL, Description, DisplayLatitude, DisplayLongitude, ImageURL, ImageWidth, ImageHeight, IsActive, Region, SortOrder, Title. Returns HTTP 401 'The supplied access code was missing or invalid' without a code. JSONP via callback."}, {"action": "search", "method": "GET", "path": "/SearchCamerasAsJson", "params": "AccessCode, StateRoute, Region, StartingMilepost, EndingMilepost"}, {"action": "fetch", "method": "GET", "path": "/GetCameraAsJson", "params": "AccessCode, CameraID"}, {"action": "fetch", "method": "GET", "path": "https://images.wsdot.wa.gov/{region}/{camera}.jpg", "notes": "Keyless current JPEG, as given in each camera's ImageURL; Last-Modified header gives the image time. Some ImageURLs point to other hosts (e.g. tripcheck.com)."}], "rate_limits": "No numeric limit published. The ArcGIS service is 'intended for low volume use' and WSDOT may cancel or restrict access.", "self_serve": true, "mcp": {"remote": null, "registry_name": null, "first_party": false, "community": "No WSDOT-run MCP server in the official MCP Registry. Third-party: io.github.cyanheads/wsdot-mcp-server (remote https://wsdot.caseyjhand.com/mcp; describes highway conditions, ferries, tolls and border waits)."}}, "access": {"cost": "free", "key_required": false, "tested_live": "2026-10-28", "automation_allowed": true, "gate": "none"}, "verification": {"human": {"level": "none", "unknown": "Fixed agency cameras, not people"}, "application": {"level": "none", "unknown": "No signing of images; nothing shows the image left the camera unmodified"}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each image comes from a named, fixed camera listed by WSDOT, with an owner field. No capture signing; trust rests on WSDOT and partner-agency operations"}, "time": {"level": "claimed", "method": "WSDOT says each image includes the date and time; the time is printed on the image, and the image server sends a Last-Modified header", "unknown": "The timestamp is an unsigned overlay. Some listed cameras serve stale images (one sampled image was months old), so a recent time must be checked on every image."}, "location": {"level": "claimed", "method": "Cameras have published coordinates, road name, milepost and view direction; WSDOT says images include state route and milepost", "unknown": "Pan-tilt cameras may point elsewhere than the listed direction"}, "content": {"level": "none", "unknown": "No review of image content"}, "corroboration": {"level": "none", "unknown": "None documented"}}, "delivery": {"modes": ["live"], "speed": "minutes", "basis": "WSDOT ArcGIS camera layer: 'The image is refreshed approximately every 5 minutes and includes details such as date, time, state route number, and milepost number.'"}, "capture": {"by": "devices"}, "sources": [{"claim": "Traveler Information API list (Highway Cameras with Doc, WSDL, REST, RSS and KML; Mountain Pass Conditions, Traffic Flow, Travel Times, Weather Stations, etc.); designed for third parties; Access Code sent by email", "url": "https://wsdot.wa.gov/traffic/api/"}, {"claim": "Camera REST operations GetCameraAsJson, GetCamerasAsJson, SearchCamerasAsJson (and XML variants)", "url": "https://wsdot.wa.gov/traffic/api/HighwayCameras/HighwayCamerasREST.svc/Help"}, {"claim": "SearchCamerasAsJson parameters AccessCode, StateRoute, Region, StartingMilepost, EndingMilepost; JSONP supported", "url": "https://wsdot.wa.gov/traffic/api/HighwayCameras/HighwayCamerasREST.svc/Help/operations/SearchCamerasAsJson"}, {"claim": "Camera JSON fields: CameraID, CameraLocation, CameraOwner, OwnerURL, ImageURL, ImageWidth, ImageHeight, IsActive, Region, Title", "url": "https://wsdot.wa.gov/traffic/api/HighwayCameras/HighwayCamerasREST.svc/Help/operations/GetCamerasAsJson"}, {"claim": "GetCamera, GetCameras, SearchCameras functions and parameters; Region values from GetCameras", "url": "https://wsdot.wa.gov/traffic/api/Documentation/group___highway_cameras.html"}, {"claim": "Calling GetCamerasAsJson without a code returns HTTP 401 'The supplied access code was missing or invalid' (tested 2026-10-26)", "url": "https://wsdot.wa.gov/traffic/api/HighwayCameras/HighwayCamerasREST.svc/GetCamerasAsJson"}, {"claim": "Keyless RSS of all 1,706 cameras with image URLs (fetched 2026-10-26); camera hosts and regions", "url": "https://wsdot.wa.gov/traffic/api/HighwayCameras/rss.aspx"}, {"claim": "Keyless KML of all 1,706 cameras with coordinates, in region folders ER, NC, NW, OL, OS, SC, SW, WA; OS cameras are in the Portland, Oregon area (fetched 2026-10-26)", "url": "https://wsdot.wa.gov/traffic/api/HighwayCameras/kml.aspx"}, {"claim": "Images refresh approximately every 5 minutes and include date, time, state route and milepost; feed intended for 'low volume' use and WSDOT may cancel or restrict access", "url": "https://data.wsdot.wa.gov/arcgis/rest/services/TravelInformation/TravelInfoCamerasWeather/MapServer/info/iteminfo?f=pjson"}, {"claim": "Keyless ArcGIS camera layer: fields OBJECTID (CameraID), CameraTitle, ImageURL, CompassDirection; count 1,706 (queried 2026-10-26)", "url": "https://data.wsdot.wa.gov/arcgis/rest/services/TravelInformation/TravelInfoCamerasWeather/FeatureServer/0/query?where=1%3D1&returnCountOnly=true&f=json"}, {"claim": "Keyless live image with '\u00a9 WSDOT' and 'Oct 26, 2026 9:59 PM PDT' printed on it; Last-Modified under 2 minutes old (fetched 2026-10-26)", "url": "https://images.wsdot.wa.gov/sw/005vc07860.jpg"}, {"claim": "A listed camera image last modified 2026-07-02 (stale image still served)", "url": "https://images.wsdot.wa.gov/nw/005vc13921.jpg"}, {"claim": "Information provided 'as-is' and 'as available'; no warranties of accuracy or timeliness; site footer 'All Rights Reserved'", "url": "https://wsdot.wa.gov/about/policies/travel-information-disclaimer"}, {"claim": "Third-party WSDOT MCP server io.github.cyanheads/wsdot-mcp-server; no WSDOT-run entry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=wsdot"}], "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card"}, {"id": "xdof", "name": "XDOF", "provider_url": "https://www.xdof.ai", "status": "unclaimed", "short": "Robot training data to order: teleoperation, egocentric capture and real-robot policy evaluations.", "tags": ["robotics", "physical AI", "teleoperation", "egocentric video", "bimanual manipulation", "policy evaluation", "DAgger", "managed service", "training data", "custom collection"], "capabilities": {"modalities": ["video", "sensor"], "tasks": ["custom robot data collection to client specifications, with annotation", "bespoke teleoperation data recorded on the specific robot being trained", "generalized teleoperation data on bimanual YAM stations (pick and place, folding, insertion, tool use, assembly, tying)", "egocentric data from collectors wearing body sensors while doing everyday tasks", "collection at partner venues: retail, logistics, industrial and urban sites", "DAgger-style data collection", "real-world policy evaluations on XDOF's robot fleet, returning success rates, failure modes and every trial episode with language annotations"]}, "pricing": {"model": "Quote after contact", "from_usd": 0, "unit": "project", "notes": "No prices are published. The site offers only 'Talk to us' / 'Contact us'; there is no pricing page."}, "latency": {"typical": "Not published for data collection; evaluations: initial results within 24 hours", "notes": "XDOF states no turnaround for collection projects. For its Evaluations service it says: 'We can turn around initial results within 24 hours.'"}, "freshness": {"mode": "on_demand", "typical_age": "Captured after the project is scoped with the client", "notes": "XDOF also releases open datasets (ABC-130K, Apache 2.0, on Hugging Face). Those are not commissions."}, "coverage": {"regions": ["US (San Mateo, CA)", "Indonesia (Jakarta)", "Latin America (Mexico and Brazil, being built out)", "China and Southeast Asia (operations teams)"], "notes": "No coverage list is published. Job posts show an Indonesian entity in Jakarta running large-scale collection projects, a Mexico/Brazil collection network being built, and project teams across China, the US and Southeast Asia. Evaluations run on what XDOF calls its 'global robot fleet'."}, "licensing": {"summary": "No commercial or data terms are published. The site Terms of Service (updated 9 Sep 2026) cover the website and unspecified 'services' generically: users keep ownership of content they submit, and XDOF gets a licence to use it 'solely in connection with operating and providing the Site and our services'. They contain no terms on ownership of collected data, AI training, resale, or whether XDOF trains on client data. The Privacy Policy (16 Jun 2026) covers site-user personal data and says nothing about training or client data. The open ABC-130K dataset is Apache 2.0, but that is a public release, not commissioned data."}, "verification": {"human": {"level": "none", "unknown": "XDOF's own trained operators ('expert operators trained in the exact tasks being run'); training is not an identity check at enrolment, and none is documented (STANDARD \u00a73). How operators are vetted, identified, paid or consented is not published."}, "application": {"level": "none", "unknown": "XDOF's own stations and collection hardware (bimanual YAM arms from I2RT; GELLO teleoperation), deployed and calibrated by its operations teams; no capture-app or device attestation is documented. Capture in the provider's own app or rig is not a server-verified attestation (STANDARD \u00a73)."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: Each YAM station has wrist cameras on both arms and an overhead camera. Camera models and resolutions are not published for collection projects. No C2PA or signed capture; XDOF is not on the C2PA conforming products list."}, "time": {"level": "none", "unknown": "No signed or independently time-stamped capture times are documented."}, "location": {"level": "none", "unknown": "No location proof is documented; captures happen at XDOF stations, partner venues or the client's robot, as agreed."}, "content": {"level": "claimed", "method": "Collection and annotation specs are set with the client; 'multi-tiered spot-check mechanisms' and an Audit Team check delivery quality. Evaluations exclude operator-invalidated takes.", "unknown": "Acceptance criteria and QC results for client projects are not published."}, "corroboration": {"level": "none", "unknown": "No independent check of collected data is documented."}}, "api": {"available": false, "self_serve": false, "auth": [{"type": "other", "how_to_get": "Contact XDOF through www.xdof.ai/contact; projects are scoped with the team."}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "No XDOF server in the official MCP Registry (searched 'xdof', 2026-10-26)."}, "notes": "No public API or ordering docs. docs.xdof.ai redirects to a login on api.xdof.ai (Foundry, XDOF's customer data viewer), so docs exist only for account holders. robots.txt disallows /api/. No OAuth metadata on xdof.ai or api.xdof.ai."}, "delivery": {"modes": ["commission"], "speed": "unknown", "basis": "No turnaround is published for data collection. The only stated speed is for the Evaluations service: 'We can turn around initial results within 24 hours.'"}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "gate": "contract"}, "payment": {"agent_can_pay": false, "notes": "No payment methods or checkout are published; engagements start through the contact page."}, "capture": {"by": "people"}, "requester": {"unknown": "XDOF publishes no check of who commissions collection or for what."}, "spec_version": "2026-10-26", "updated": "2026-10-28", "capability": "com.irlpls.capture.card", "expires": "2027-10-27", "summary": "XDOF collects robot training data to order for robotics labs and companies. It offers teleoperation on the client's own robot or on its bimanual YAM stations, egocentric capture by collectors wearing body sensors (press describes this as a planned tier), collection at partner venues, and annotation. Its Evaluations service runs client policies on its robot fleet and returns every trial episode. Its founders built the GELLO teleoperation system. It has operations in San Mateo and Jakarta, and is building a network in Mexico and Brazil. Sales only: nothing is priced, no collection turnaround is stated, and no data or licence terms are published.", "sources": [{"claim": "Mission; partners with robotics labs and companies to deliver production-scale datasets, robotic systems and tooling; co-founders authored GELLO", "url": "https://www.xdof.ai/about"}, {"claim": "XDOF announcement (17 Jun 2026): datasets, robotic systems and tooling for robotics labs", "url": "https://www.xdof.ai/blog/announcing-xdof"}, {"claim": "Evaluations service: global robot fleet, expert operators, every trial episode with language annotations, bimanual YAM arms from I2RT, initial results within 24 hours, DAgger-style data collection, 'Talk to us'", "url": "https://www.xdof.ai/products/evaluations"}, {"claim": "ABC-130K: 130K+ episodes, task categories, YAM stations, Apache 2.0, 'if you ever need more data ... reach out'", "url": "https://www.xdof.ai/blog/abc-130k"}, {"claim": "ABC-130k on Hugging Face: Apache 2.0, MCAP episodes, teleoperation, gated access", "url": "https://huggingface.co/api/datasets/XDOF/ABC-130k"}, {"claim": "YAM stations: two 6-DoF arms with grippers, wrist cameras on both arms and an overhead camera; station fleet; operator-invalidated takes excluded", "url": "https://www.xdof.ai/blog/evaluating-llms"}, {"claim": "Data pyramid: bespoke teleoperation on the specific robot, generalized teleoperation, egocentric data; global teleoperators and data gatherers; data cleaning and annotation", "url": "https://siliconangle.com/2026/06/17/robotic-teleoperation-data-startup-xdof-launches-70m-funding/"}, {"claim": "Combines remote teleoperation with collectors wearing body sensors for everyday tasks; teleoperators and egocentric operators; 20 customers; Series A $70M; Series B talks (shortlink; returns 403 to non-browser clients)", "url": "https://techcrunch.com/?p=3161014"}, {"claim": "LATAM (Mexico/Brazil) collection network: venues in retail, logistics, industrial and urban settings; collection teams and SOPs; multi-modal collection hardware deployed and calibrated", "url": "https://www.xdof.ai/careers/latam-operations-lead-fab0cea4-1ac2-4e0d-b7e0-fec47e21fb48"}, {"claim": "Data collection projects to client requirements; collection and annotation specs; teams across China, the US and Southeast Asia; multi-tiered spot checks", "url": "https://www.xdof.ai/careers/strategic-project-lead-574477cf-6fa1-4644-8927-67cfe47b015f"}, {"claim": "XDOF Indonesia (Jakarta): large-scale collection projects; Acquisition, Implementation, Audit and Annotation teams", "url": "https://www.xdof.ai/careers/project-manager-be7bfa83-a5d2-46dc-891f-f4cb439333b0"}, {"claim": "Open roles by location: San Mateo, Jakarta, Mexico", "url": "https://www.xdof.ai/careers"}, {"claim": "Site Terms of Service (updated 9 Sep 2026): generic scope: website and unspecified services, no data terms, User Content licence, no data or AI-training terms; xdof, Inc., San Mateo, CA", "url": "https://www.xdof.ai/terms"}, {"claim": "Contact page is the only way to engage", "url": "https://www.xdof.ai/contact"}, {"claim": "docs.xdof.ai redirects to a login on api.xdof.ai (Foundry); api.xdof.ai serves no OAuth metadata or OpenAPI file", "url": "https://docs.xdof.ai/"}, {"claim": "robots.txt disallows /api/", "url": "https://www.xdof.ai/robots.txt"}, {"claim": "No XDOF server in the official MCP Registry", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=xdof"}, {"claim": "XDOF not on the C2PA conforming products list", "url": "https://raw.githubusercontent.com/c2pa-org/conformance-public/main/conforming-products/conforming-products-list.json"}, {"claim": "Privacy Policy (updated 16 Jun 2026): site-user personal information only; no mention of training, machine learning or client data", "url": "https://www.xdof.ai/privacy"}]}, {"id": "zeitview", "name": "Zeitview", "provider_url": "https://www.zeitview.com", "status": "unclaimed", "tags": ["aerial", "drone", "inspection", "thermal", "lidar", "methane", "solar", "wind", "utilities", "oil-and-gas", "roof", "property", "real-estate", "dronebase"], "summary": "Asset intelligence company (formerly DroneBase) whose pilots collect drone, fixed-wing and robotic-crawler data for energy, utility and property assets, then add AI analysis and expert review. It also sells fixed-price drone photo and video packages for US commercial real estate, and has a contact-gated Partners API for bulk mission orders.", "short": "Drone inspections of energy, utility and property assets; fixed-price US real estate drone photo packages.", "capabilities": {"modalities": ["aerial", "photo", "video", "sensor", "text-report"], "tasks": ["solar inspection (visual and thermal)", "wind turbine inspection (onshore and offshore; external and internal blades, towers, nacelles; lightning protection testing)", "electric utility circuit patrol, vegetation encroachment, thermal hotspot and substation inspection", "aerial methane detection and quantification for oil and gas", "roof, facade, pavement and landscaping property assessments with 1-100 condition scores", "drone aerial photos, HD video clips and edited marketing videos for US commercial real estate"]}, "pricing": {"model": "quote (enterprise inspections); published packages for US commercial real estate", "from_usd": 379, "unit": "per listing (commercial real estate Images Package)", "notes": "Commercial real estate, per listing: Images $379, Starter $479, Pro $649. Strip, convenience, neighborhood and community centers (up to 400,000 sq ft), per center: Images $409, Starter $579, Pro $769. Each package includes up to one hour of flight time on site and image hosting. Volume and enterprise pricing by contact. Enterprise terms: fees in USD, quotes valid 90 days, fees non-cancellable and non-refundable."}, "latency": {"typical": "Real estate: flight within a few days (weather permitting); images 2 business days after the flight, edited videos 3-5 business days", "notes": "Real estate buyers choose between faster turnaround and clearer skies. Partners API: scheduled missions must be booked at least 24 hours ahead, and the availability preview covers the next four days. No turnaround published for enterprise inspections. Terms treat severe weather as force majeure."}, "delivery": {"modes": ["commission"], "speed": "days", "basis": "Commercial real estate page: \"Zeitview will visit and fly the site within a few days (subject to weather). After the flight, allow two additional business days for aerial marketing packages, and three to five business days for edited marketing videos.\" Other services: not published."}, "freshness": {"mode": "on_demand", "typical_age": "Captured after the order; delivered days after the flight", "notes": "Each image in the Partners API carries a taken_at timestamp. Zeitview also analyses data that customers collect themselves (bring your own data)."}, "coverage": {"regions": ["Global (claimed, 80+ countries)", "Continental United States (real estate packages)"], "notes": "The About page claims coverage in 80+ countries and \"the largest drone pilot network in the industry\". Other pages give lower, segment-specific figures: properties 20+ countries, solar 70+, wind 40. The properties and solar pages claim 80,000 pilots; the utilities page says 11K+, described as US utility coverage. Real estate packages cover \"anywhere in the continental United States\". No country list is published. The Partners API rejects missions in FAA-protected airspace. Per-country density and lead times are not published."}, "licensing": {"summary": "General Terms and Conditions (dated October 8, 2025): Zeitview owns its services and \"related technology and deliverables\", and the customer acquires no IP in them (8.1). The customer owns its Confidential Information and Customer Data, defined as data about the customer (2.3, 8.2). Services are for the customer's \"own internal or personal purposes\" (5.1). The customer grants Zeitview a perpetual, worldwide, sublicensable licence to Customer Data to provide services, optimise them and create anonymised data sets (8.3). Zeitview may use service data, including AI-generated annotations and anonymised data sets, to improve and develop its services, and may disclose it in aggregate or de-identified form (8.6). Separately, the Site Terms of Service (s.7) give Zeitview a perpetual, irrevocable, sublicensable licence, including the right to sell, over content submitted to the Site. The commercial real estate page instead says \"All drone aerial photography is yours to own and use as you like\". Neither document mentions AI or model training rights for the buyer, or resale.", "vendor_trains_on_data": "yes"}, "verification": {"human": {"level": "claimed", "method": "\"Certified pilots\" capture the data. Real estate pilots are \"vetted and tested\", and Zeitview says it is FAA-permitted for commercial flight and insured at every job site. Partners API missions record pilot_accepted, pilot_arrived and pilot_departed timestamps.", "unknown": "How pilot identity and certification are checked, and whether the delivered files were captured by that pilot. Customers may also upload their own data."}, "application": {"level": "none", "unknown": "No claim that capture goes through a controlled or attested app. The Partners API lets some integrations use a third-party flight app and upload tool, and nothing says imagery cannot be replaced before upload."}, "camera": {"level": "none", "unknown": "Not a signed capture, so none (STANDARD \u00a73). What is stated: RGB, thermal, lidar and methane sensors on drones, fixed-wing aircraft and robotic crawlers. Sensor output is not signed or tamper-evident, and there is no C2PA support. Nothing rules out edited images or photos of a screen."}, "time": {"level": "claimed", "method": "Each image from the Partners API carries a taken_at timestamp, and missions carry status timestamps. Each methane detection includes a timestamp.", "unknown": "The source of taken_at (likely camera metadata) is not documented, and it is not signed or checked against an independent clock."}, "location": {"level": "claimed", "method": "Data is geotagged to the asset or component. Each image from the Partners API carries GPS latitude, longitude and altitude. Methane detections include a precise GPS location.", "unknown": "Positional accuracy, where the geotag comes from, and resistance to GPS spoofing or substituted files are not documented."}, "content": {"level": "claimed", "method": "AI models flag anomalies, then certified analysts or domain experts review and validate each finding before delivery", "unknown": "Review error rates are not published, and nothing says a fabricated or staged capture would be caught. The terms say Zeitview \"does not review the information collected during performance\" of its services (6.5)."}, "corroboration": {"level": "none", "unknown": "Nothing independent confirms a capture. Repeat surveys and the portfolio view are Zeitview's own data. The FAQ calls its methane measurement EPA-approved, but Zeitview is not named on EPA's alternative test methods page."}}, "api": {"available": true, "self_serve": false, "docs_url": "https://dronebaseapi.docs.apiary.io/", "auth": [{"type": "api_key_header", "header": "X-Api-Client, X-Api-Secret", "how_to_get": "The docs say: \"In order to access this API, please contact our team.\" Mission packages (package_id) are also defined with Zeitview's team."}], "endpoints": [{"action": "quote", "method": "POST", "path": "/v2/partners/missions/preview", "notes": "Dry run that saves nothing. Checks FAA airspace and returns four days of hourly timeslots with pilot availability and weather. No price. V1 at /v1/partners/missions/preview checks airspace only."}, {"action": "order", "method": "POST", "path": "/v1/partners/missions/", "params": "external_id (required, unique; prevents duplicates), package.id, location (name, coordinate, address, GeoJSON annotations), instructions, reference_id, portfolio, scheduled_at_start/end (same day, at least 24h ahead)", "notes": "Airspace is checked asynchronously; a rejection arrives by email or webhook. Cancel with DELETE /v1/partners/missions/{mission_id}. Re-shoot and reschedule at /reshoot and /schedule."}, {"action": "status", "method": "GET", "path": "/v1/partners/missions/{mission_id}", "notes": "Status and activity log. Optional HMAC-SHA256-signed webhooks (X-Dronebase-Signature), enabled by support."}, {"action": "list", "method": "GET", "path": "/v1/partners/missions", "params": "reference_id", "notes": "Up to 50 missions matching the reference id"}, {"action": "fetch", "method": "GET", "path": "/v1/partners/missions/{mission_id}/images", "params": "page, per_page (default 100, max 1000)", "notes": "Signed image URLs that expire after about 6 hours, with taken_at, GPS and shot type for each image"}], "mcp": {"remote": null, "registry_name": null, "first_party": false, "notes": "Searches of the official MCP Registry for \"zeitview\" and \"dronebase\" returned no servers (2026-10-26)."}, "notes": "The Zeitview Partners API (formerly the DroneBase API) creates missions in bulk, server to server. The docs list only https://sandbox-api.dronebase.com (labelled 'production' in the Apiary metadata), which does not resolve. api.dronebase.com redirects (308) to sake.production.zeitview.com; that host is not documented and was not called. Download URLs are signed and time-limited since May 1, 2026. The marketing pages say Asset Insights is \"built as an API\", but no public docs for it were found. Real estate packages can also be ordered in the web Client Dashboard (clients.zeitview.com)."}, "access": {"cost": "quote", "key_required": true, "tested_live": null, "automation_allowed": true, "gate": "contract"}, "payment": {"methods": ["invoice"], "agent_can_pay": false, "prepaid": false, "notes": "Enterprise terms: Zeitview invoices by email, payment is due within 30 days by electronic transfer in USD, and orders are subject to credit approval. Payment methods for online real estate orders are not stated on public pages."}, "capture": {"by": "people"}, "requester": {"checks": "All orders are subject to approval by Zeitview, including credit approval (terms 1.7). Users must be 18 or older and not barred by US sanctions (OFAC), and must provide payment information (Terms of Service 3). Missions in FAA-protected airspace are rejected (Partners API).", "unknown": "Whether Zeitview checks the requester's authority over the property, or the purpose of a capture, is not documented."}, "updated": "2026-10-28", "expires": "2027-10-27", "spec_version": "2026-10-26", "capability": "com.irlpls.capture.card", "sources": [{"claim": "Asset intelligence for energy and critical infrastructure; certified pilots capture by drone, fixed-wing aircraft or robotic crawler with optical, thermal, lidar and methane sensors geotagged to components; AI flags and certified analysts review each finding before delivery; findings mapped to location; portfolio view updated survey after survey; bring-your-own-data; DroneBase, Inc. d/b/a Zeitview, San Diego", "url": "https://www.zeitview.com"}, {"claim": "Formerly DroneBase; coverage across 80+ countries; largest drone pilot network in the industry", "url": "https://www.zeitview.com/about"}, {"claim": "Property assessments (roof, facade, pavement, landscaping) with a 1-100 condition score; AI plus expert analysts; RGB, thermal and lidar; 20+ countries, 80,000 pilots, 20,000 sites a year; Asset Insights \"built as an API\"", "url": "https://www.zeitview.com/properties"}, {"claim": "Solar: 70+ countries, 80,000 pilots", "url": "https://www.zeitview.com/solar"}, {"claim": "Wind: 40 countries", "url": "https://www.zeitview.com/wind"}, {"claim": "Utilities: 11K+ pilots", "url": "https://www.zeitview.com/utilities"}, {"claim": "Onshore and offshore wind; internal and external blades, towers, nacelles, LPS testing; utility programs; methane detections with GPS location, emission rate and timestamp; claim of EPA approval at 10 kg/hr with 90% probability of detection; expert validation before delivery", "url": "https://www.zeitview.com/resources/faqs"}, {"claim": "Real estate packages $379-$769 per listing or center; up to one hour of flight; flight within a few days subject to weather; images 2 business days and edited videos 3-5 business days after the flight; online ordering through the Client Dashboard; continental US; pilots vetted and tested; FAA-permitted and insured; \"All drone aerial photography is yours to own and use as you like\"", "url": "https://www.zeitview.com/commercial-real-estate"}, {"claim": "Real estate orders need no conversation with a person: pick a package, then give the address or lat/long, the property area, and a preference for clear skies or faster turnaround. Other industries are quoted.", "url": "https://www.zeitview.com/resource/dronebase-client-order-guide"}, {"claim": "General Terms and Conditions dated October 8, 2025: orders subject to approval including credit approval (1.7); fees in USD valid 90 days (4.1); email invoices, payment within 30 days by electronic transfer (4.2-4.3); fees non-cancellable and non-refundable (4.9); services for the customer's internal purposes (5.1); Zeitview does not review the information collected (6.5); Zeitview owns deliverables (8.1); customer owns Customer Data (8.2); licence to Customer Data and anonymised data sets (8.3); service-data use to improve and develop services (8.6); severe weather force majeure (15)", "url": "https://www.zeitview.com/termsandconditions"}, {"claim": "Terms of Service: users 18+, not barred by OFAC, must provide payment information; prices in USD; no ban on automated or API use; s.7 licence on submitted content incl. right to sell", "url": "https://www.zeitview.com/termsofuse"}, {"claim": "Zeitview Partners API (updated 2026-03-18): contact the team for access; X-Api-Client and X-Api-Secret headers; preview (airspace, pilot availability and weather), create (external_id dedupe, 24h-ahead scheduling), find, list by reference_id, cancel, re-shoot, reschedule, images endpoint (signed URLs expiring in about 6 hours, taken_at and GPS per image); HMAC-signed webhooks; FAA-protected airspace rejected; listed host sandbox-api.dronebase.com", "url": "https://jsapi.apiary.io/apis/dronebaseapi/blueprint"}, {"claim": "Partners API documentation page", "url": "https://dronebaseapi.docs.apiary.io/"}, {"claim": "The DroneBase API lets enterprise customers submit bulk orders server to server and get back status updates and links to finished files; contact Zeitview to be set up", "url": "https://www.zeitview.com/resource/2017-03-09-the-dronebase-api"}, {"claim": "EPA's oil and gas alternative test methods page (fetched 2026-10-26) does not name Zeitview or DroneBase among the approved methods", "url": "https://www.epa.gov/emc/oil-and-gas-alternative-test-methods"}, {"claim": "No MCP Registry entry for zeitview", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=zeitview"}, {"claim": "No MCP Registry entry for dronebase", "url": "https://registry.modelcontextprotocol.io/v0/servers?search=dronebase"}], "adapter": "zeitview"}]}