{"uid":"cap_kkquMw7Rgu9jyyyvDPNud","slug":"spf-record-ip-evaluator-literal-mechanisms-only-c04b7c12","name":"SPF Record IP Evaluator (Literal Mechanisms Only)","description":"Evaluate an SPF record against an IPv4/IPv6 address using only its literal ip4/ip6/all mechanisms. DNS-dependent mechanisms (include, a, mx, exists, redirect) reached before a match yield an honest `indeterminate` result rather than a guess.","url":"https://emailauth.openverbs.com/v1/spf-check","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["record","ip"],"properties":{"ip":{"type":"string","minLength":1,"description":"IPv4 or IPv6 address of the sending host."},"record":{"type":"string","description":"SPF TXT record to evaluate."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_CiWEiPKfD2kcl85KSuJHS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Evaluates an SPF TXT record against a sending IP address using only literal ip4/ip6/all mechanisms, returning indeterminate for DNS-dependent mechanisms encountered before a match.","exampleAgentPrompt":"Check whether the IP 203.0.113.42 is authorized by this SPF record: 'v=spf1 ip4:203.0.113.0/24 ip6:2001:db8::/32 -all' — I only want a result based on the literal ip4/ip6/all mechanisms, no DNS lookups.","exampleUseCases":[{"title":"Validate outbound mail server IP","prompt":"I have an SPF record 'v=spf1 ip4:198.51.100.0/24 -all' — can you check if the IP 198.51.100.15 would pass it using only the literal mechanisms?"},{"title":"Detect unauthorized sender IP","prompt":"An email came in from 192.0.2.77 — evaluate it against the SPF record 'v=spf1 ip4:10.0.0.0/8 ip6:fe80::/10 ~all' and tell me if it's a match, fail, or indeterminate."},{"title":"Pre-deployment SPF policy sanity check","prompt":"Before I publish my SPF record 'v=spf1 ip4:203.0.113.5 ip4:203.0.113.6 -all', can you verify that 203.0.113.5 passes and 1.2.3.4 fails using only the literal ip4 and all mechanisms?"}],"resultDescription":"Returns the SPF evaluation outcome for the provided IP against the given SPF record's literal mechanisms (ip4, ip6, all). Possible results include pass, fail, softfail, neutral, or indeterminate — where indeterminate is returned honestly when a DNS-dependent mechanism (include, a, mx, exists, redirect) is encountered before a literal match is found, rather than guessing.","failureModes":["Missing required 'record' or 'ip' field returns a 400-level error","Malformed SPF record string may cause a parse error or unexpected result","DNS-dependent mechanisms encountered before any literal match yield 'indeterminate' rather than an error","Invalid IP address format returns a validation error","Empty or non-SPF record strings may not evaluate correctly"],"whenToPreferThis":"Choose this endpoint when you need a fast, deterministic SPF check against literal ip4/ip6/all mechanisms without triggering DNS lookups — ideal for offline analysis, pre-deployment validation, sandbox environments, or when you explicitly want to isolate literal mechanism evaluation. Unlike full SPF validators, it is honest about DNS-dependent mechanisms by returning 'indeterminate' rather than making network calls or guessing, making it safe for constrained or air-gapped contexts.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T12:37:45.390Z","isFirstParty":false}