01
Getting Started
The Eyecosystems API provides programmatic access to our human-verified BVI community knowledge graph. All responses are JSON. The API is versioned — the current version is v1.
To get started, you'll need an API key. Keys are issued to Core and Enterprise subscribers. Contact us to get access.
All requests must be made over HTTPS. HTTP requests will be rejected. All responses use UTF-8 encoding.
02
Authentication
Authenticate by passing your API key in the Authorization header as a Bearer token. All requests require a valid API key.
Authorization: Bearer YOUR_API_KEY
curl https://api.eyecosystems.com/v1/records \ -H "Authorization: Bearer YOUR_API_KEY"
To obtain an API key, contact the Eyecosystems team. Keys are issued per subscriber and should be kept confidential. Do not expose your key in client-side code.
03
Endpoints
All endpoints return JSON. Paginated list responses include total, limit, offset, and data fields.
List all verified records. Supports filtering by city, state, and organization type. Results are paginated.
| Parameter | Type | Description |
|---|---|---|
| city | string | Filter by city name (e.g. Jacksonville) |
| state | string | Filter by two-letter state code (e.g. FL) |
| type | string | Filter by organization type (e.g. nonprofit_advocacy) |
| limit | integer | Number of results per page. Default: 25. Max: 100 |
| offset | integer | Pagination offset. Default: 0 |
curl "https://api.eyecosystems.com/v1/records?city=Jacksonville&state=FL&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"total": 352,
"limit": 10,
"offset": 0,
"data": [
{
"eyeco_id": "jax-0001",
"name": "Eye Spy Foundation",
"type": "nonprofit_community",
"verified_at": "2026-04-08T14:32:00Z",
"verifier": "human_bvi_reviewer",
"city": "Jacksonville",
"state": "FL",
"contact_verified": true,
"tags": ["community", "bvi", "ada-compliance"],
"compliance_use": "good_faith_documentation",
"verification_method": "human_eye_spy_network",
"provenance_hash": "sha256:e3b0c44...",
"far_part_13_eligible": true
}
]
}
Retrieve a single record by its eyeco_id. Returns the full record including all verified fields and audit metadata.
curl "https://api.eyecosystems.com/v1/records/jax-0042" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"eyeco_id": "jax-0042",
"name": "Florida Council of the Blind — Jacksonville Chapter",
"type": "nonprofit_advocacy",
"verified_at": "2026-04-08T14:32:00Z",
"verifier": "human_bvi_reviewer",
"city": "Jacksonville",
"state": "FL",
"contact_verified": true,
"tags": ["advocacy", "peer-support", "ada-compliance"],
"updated_at": "2026-04-08T14:32:00Z",
"compliance_use": "good_faith_documentation",
"verification_method": "human_eye_spy_network",
"provenance_hash": "sha256:e3b0c44...",
"far_part_13_eligible": true
}
Full-text search across record names, tags, and descriptions. Returns ranked results matching the query.
| Parameter | Type | Description |
|---|---|---|
| q | string | Search query string (required) |
| city | string | Optionally scope results to a city |
| state | string | Optionally scope results to a state |
| limit | integer | Results per page. Default: 25 |
| offset | integer | Pagination offset. Default: 0 |
curl "https://api.eyecosystems.com/v1/records/search?q=peer+support&state=FL" \ -H "Authorization: Bearer YOUR_API_KEY"
04
Data Schema
Every record in the Eyecosystems knowledge graph shares a common schema. All fields below are present on every record, though some may be null if not yet verified.
| Field | Type | Description |
|---|---|---|
| eyeco_id | string | Unique Eyecosystems record identifier. Format: {city_code}-{sequence} |
| name | string | Full verified name of the organization, service, or resource |
| type | string | Organization type. Values: nonprofit_advocacy, nonprofit_community, government_service, assistive_tech, education, peer_support, event |
| verified_at | ISO 8601 datetime | Timestamp of the most recent human verification |
| verifier | string | Verification method identifier. Currently always human_bvi_reviewer |
| city | string | City of the organization's primary location |
| state | string | Two-letter US state code |
| contact_verified | boolean | true if contact information has been verified in this verification cycle |
| tags | array of strings | Taxonomy tags for filtering and discovery. Examples: advocacy, peer-support, ada-compliance |
| updated_at | ISO 8601 datetime | Timestamp of the last record update (any field change) |
| compliance_use | string | Designates the record's utility for ADA Title II and HHS 504 transition plans and good faith documentation |
| verification_method | string | The specific human-in-the-loop audit method used (e.g., human_eye_spy_network) |
| provenance_hash | string | Cryptographic hash of the verification event for immutable audit trailing |
| far_part_13_eligible | boolean | Indicates if the data node was procured under federal micro-purchase thresholds |
05
Rate Limits
Rate limits are enforced per API key. Exceeding the limit returns a 429 Too Many Requests response. The Retry-After header indicates when you may retry.
All API responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers so you can monitor your usage in real time.
06
Support
Have a question about the API, a data issue, or need help with integration? We respond to all support requests within one business day.
Email: contact@eyecosystems.com
For partnership or Enterprise inquiries, use the contact form and select "Data Access" as the purpose.
To get an API key, you'll need an active Core or Enterprise subscription. View pricing and book a demo →