[Home](./index.md) > [bitburner](./bitburner.md) > [CodingContract](./bitburner.codingcontract.md) > [getContract](./bitburner.codingcontract.getcontract.md) ## CodingContract.getContract() method Get various data about a specific contract. **Signature:** ```typescript getContract(filename: string, host?: string): CodingContractObject; ``` ## Parameters
Parameter Type Description
filename string Filename of the contract.
host string _(Optional)_ Hostname/IP of the server containing the contract. Optional. Default to the current server if not provided.
**Returns:** [CodingContractObject](./bitburner.codingcontractobject.md) An object containing various data about the contract specified. ## Remarks RAM cost: 15 GB The returned object includes the type, data, description as well as methods for getting the number of tries remaining and submitting your answer. Depending on the type of the contract, the data is typed differently. Using type-narrowing, you can get the correct type of the data: ## Example ```js const contract = ns.codingcontract.getContract(fileName, hostName); if (contract.type === ns.enums.CodingContractName.FindLargestPrimeFactor) { const data = contract.data; // ^? data: number } ```