Port 7474 is the Neo4j graph database HTTP API and Browser interface port. The Neo4j Browser on port 7474 provides a visual interface for Cypher queries and graph exploration. Default installations allow unauthenticated access – exposed instances leak entire graph databases. Set dbms.security.auth_enabled=true immediately.
Port Number
7474
Protocol
TCP
Service
Neo4j Browser / HTTP API
Range
IANA Registered (1024–49151)
Check Neo4j version (determines auth defaults and CVE exposure)
curl -s http://localhost:7474/ | jq .neo4j_versionTest if default credentials work (should fail after initial setup)
curl -s -u neo4j:neo4j http://localhost:7474/db/neo4j/tx/commit -d '{"statements":[{"statement":"RETURN 1"}]}' -H 'Content-Type: application/json'Verify bind address (should be 127.0.0.1, not 0.0.0.0)
ss -tlnp | grep 7474List database users and auth status
curl -s http://localhost:7474/db/system/tx/commit -u neo4j:pass -H 'Content-Type: application/json' -d '{"statements":[{"statement":"SHOW USERS"}]}'curl http://localhost:7474/db/neo4j/tx/commit -d '{"statements":[{"statement":"MATCH (n) RETURN count(n)"}]}'
neo4j-admin set-initial-password
cypher-shell -a bolt://localhost:7687Neo4j was created by Neo4j Inc (formerly Neo Technology) in 2007, making it the oldest graph database in active development. Port 7474 was chosen for the HTTP API. The Neo4j Browser (a React app served on 7474) was added in version 2.0 (2013). Bolt protocol (port 7687) was introduced in Neo4j 3.0 (2016) as a more efficient binary alternative to HTTP. Neo4j 4.0 (2020) made authentication mandatory by default in Enterprise Edition.
Should I use port 7474 or 7687 for my application?
Always use 7687 (Bolt) for applications. It is binary (faster), supports connection pooling, transactions, and streaming results. Port 7474 (HTTP) is for the Browser UI and ad-hoc queries during development. In production, disable 7474 entirely or bind to localhost, and route all application traffic through Bolt with TLS (neo4j+s:// URI scheme).
How do I secure Neo4j after installation?
1. Enable auth: dbms.security.auth_enabled=true in neo4j.conf. 2. Change default password on first connect: ALTER CURRENT USER SET PASSWORD FROM 'neo4j' TO 'strong-pass'. 3. Bind HTTP to localhost: dbms.connector.http.listen_address=127.0.0.1:7474. 4. Enable Bolt TLS: dbms.connector.bolt.tls_level=REQUIRED with proper certificates. 5. Disable APOC export procedures if not needed. 6. Use RBAC roles (Enterprise) to restrict Cypher operations per user.